/** * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * See the NOTICE file distributed with this work for additional * information regarding copyright ownership. */ package org.thingml.xtext.services; import com.google.inject.Inject; import com.google.inject.Singleton; import java.util.List; import org.eclipse.xtext.Action; import org.eclipse.xtext.Alternatives; import org.eclipse.xtext.Assignment; import org.eclipse.xtext.CrossReference; import org.eclipse.xtext.Grammar; import org.eclipse.xtext.GrammarUtil; import org.eclipse.xtext.Group; import org.eclipse.xtext.Keyword; import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; import org.eclipse.xtext.service.GrammarProvider; @Singleton public class ThingMLGrammarAccess extends AbstractGrammarElementFinder { public class ThingMLModelElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ThingMLModel"); private final Group cGroup = (Group)rule.eContents().get(1); private final Group cGroup_0 = (Group)cGroup.eContents().get(0); private final Keyword cImportKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final Assignment cImportURIAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); private final RuleCall cImportURISTRING_LITTerminalRuleCall_0_1_0 = (RuleCall)cImportURIAssignment_0_1.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Assignment cTypesAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); private final RuleCall cTypesTypeParserRuleCall_1_0_0 = (RuleCall)cTypesAssignment_1_0.eContents().get(0); private final Assignment cProtocolsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); private final RuleCall cProtocolsProtocolParserRuleCall_1_1_0 = (RuleCall)cProtocolsAssignment_1_1.eContents().get(0); private final Assignment cConfigsAssignment_1_2 = (Assignment)cAlternatives_1.eContents().get(2); private final RuleCall cConfigsConfigurationParserRuleCall_1_2_0 = (RuleCall)cConfigsAssignment_1_2.eContents().get(0); //ThingMLModel: // ("import" importURI+=STRING_LIT)* (types+=Type | protocols+=Protocol | configs+=Configuration)*; @Override public ParserRule getRule() { return rule; } //("import" importURI+=STRING_LIT)* (types+=Type | protocols+=Protocol | configs+=Configuration)* public Group getGroup() { return cGroup; } //("import" importURI+=STRING_LIT)* public Group getGroup_0() { return cGroup_0; } //"import" public Keyword getImportKeyword_0_0() { return cImportKeyword_0_0; } //importURI+=STRING_LIT public Assignment getImportURIAssignment_0_1() { return cImportURIAssignment_0_1; } //STRING_LIT public RuleCall getImportURISTRING_LITTerminalRuleCall_0_1_0() { return cImportURISTRING_LITTerminalRuleCall_0_1_0; } //(types+=Type | protocols+=Protocol | configs+=Configuration)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //types+=Type public Assignment getTypesAssignment_1_0() { return cTypesAssignment_1_0; } //Type public RuleCall getTypesTypeParserRuleCall_1_0_0() { return cTypesTypeParserRuleCall_1_0_0; } //protocols+=Protocol public Assignment getProtocolsAssignment_1_1() { return cProtocolsAssignment_1_1; } //Protocol public RuleCall getProtocolsProtocolParserRuleCall_1_1_0() { return cProtocolsProtocolParserRuleCall_1_1_0; } //configs+=Configuration public Assignment getConfigsAssignment_1_2() { return cConfigsAssignment_1_2; } //Configuration public RuleCall getConfigsConfigurationParserRuleCall_1_2_0() { return cConfigsConfigurationParserRuleCall_1_2_0; } } public class PlatformAnnotationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.PlatformAnnotation"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cNameANNOTATION_IDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cValueSTRING_LITTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0); /// * //Import returns ThingMLModel: // "import" importURI=STRING_LIT //; // * / PlatformAnnotation: // name=ANNOTATION_ID value=STRING_LIT; @Override public ParserRule getRule() { return rule; } //name=ANNOTATION_ID value=STRING_LIT public Group getGroup() { return cGroup; } //name=ANNOTATION_ID public Assignment getNameAssignment_0() { return cNameAssignment_0; } //ANNOTATION_ID public RuleCall getNameANNOTATION_IDTerminalRuleCall_0_0() { return cNameANNOTATION_IDTerminalRuleCall_0_0; } //value=STRING_LIT public Assignment getValueAssignment_1() { return cValueAssignment_1; } //STRING_LIT public RuleCall getValueSTRING_LITTerminalRuleCall_1_0() { return cValueSTRING_LITTerminalRuleCall_1_0; } } public class AnnotatedElementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.AnnotatedElement"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cProtocolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cFunctionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cPropertyParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cMessageParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cParameterParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); private final RuleCall cPortParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); private final RuleCall cConfigurationParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); private final RuleCall cHandlerParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); private final RuleCall cStateParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); private final RuleCall cCompositeStateParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9); private final RuleCall cFinalStateParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10); private final RuleCall cTypeParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11); private final RuleCall cPropertyAssignParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12); private final RuleCall cSessionParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13); private final RuleCall cParallelRegionParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14); private final RuleCall cLocalVariableParserRuleCall_15 = (RuleCall)cAlternatives.eContents().get(15); private final RuleCall cInstanceParserRuleCall_16 = (RuleCall)cAlternatives.eContents().get(16); private final RuleCall cAbstractConnectorParserRuleCall_17 = (RuleCall)cAlternatives.eContents().get(17); //AnnotatedElement: // Protocol | Function | Property | Message | Parameter | Port | Configuration | Handler | State | CompositeState | // FinalState | Type | PropertyAssign | Session | ParallelRegion | LocalVariable | Instance | AbstractConnector; @Override public ParserRule getRule() { return rule; } //Protocol | Function | Property | Message | Parameter | Port | Configuration | Handler | State | CompositeState | //FinalState | Type | PropertyAssign | Session | ParallelRegion | LocalVariable | Instance | AbstractConnector public Alternatives getAlternatives() { return cAlternatives; } //Protocol public RuleCall getProtocolParserRuleCall_0() { return cProtocolParserRuleCall_0; } //Function public RuleCall getFunctionParserRuleCall_1() { return cFunctionParserRuleCall_1; } //Property public RuleCall getPropertyParserRuleCall_2() { return cPropertyParserRuleCall_2; } //Message public RuleCall getMessageParserRuleCall_3() { return cMessageParserRuleCall_3; } //Parameter public RuleCall getParameterParserRuleCall_4() { return cParameterParserRuleCall_4; } //Port public RuleCall getPortParserRuleCall_5() { return cPortParserRuleCall_5; } //Configuration public RuleCall getConfigurationParserRuleCall_6() { return cConfigurationParserRuleCall_6; } //Handler public RuleCall getHandlerParserRuleCall_7() { return cHandlerParserRuleCall_7; } //State public RuleCall getStateParserRuleCall_8() { return cStateParserRuleCall_8; } //CompositeState public RuleCall getCompositeStateParserRuleCall_9() { return cCompositeStateParserRuleCall_9; } //FinalState public RuleCall getFinalStateParserRuleCall_10() { return cFinalStateParserRuleCall_10; } //Type public RuleCall getTypeParserRuleCall_11() { return cTypeParserRuleCall_11; } //PropertyAssign public RuleCall getPropertyAssignParserRuleCall_12() { return cPropertyAssignParserRuleCall_12; } /// *Stream |* / Session public RuleCall getSessionParserRuleCall_13() { return cSessionParserRuleCall_13; } //ParallelRegion public RuleCall getParallelRegionParserRuleCall_14() { return cParallelRegionParserRuleCall_14; } //LocalVariable public RuleCall getLocalVariableParserRuleCall_15() { return cLocalVariableParserRuleCall_15; } //Instance public RuleCall getInstanceParserRuleCall_16() { return cInstanceParserRuleCall_16; } //AbstractConnector public RuleCall getAbstractConnectorParserRuleCall_17() { return cAbstractConnectorParserRuleCall_17; } } public class TypeRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.TypeRef"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cTypeTypeCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); private final RuleCall cTypeTypeIDTerminalRuleCall_0_0_1 = (RuleCall)cTypeTypeCrossReference_0_0.eContents().get(1); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Assignment cIsArrayAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); private final Keyword cIsArrayLeftSquareBracketKeyword_1_0_0 = (Keyword)cIsArrayAssignment_1_0.eContents().get(0); private final Assignment cCardinalityAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cCardinalityExpressionParserRuleCall_1_1_0 = (RuleCall)cCardinalityAssignment_1_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); /// ***************************************************************************** // * TYPES / ENUMERATIONS * // ***************************************************************************** / TypeRef: // type=[Type] (^isArray?='[' cardinality=Expression? ']')?; @Override public ParserRule getRule() { return rule; } //type=[Type] (^isArray?='[' cardinality=Expression? ']')? public Group getGroup() { return cGroup; } //type=[Type] public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } //[Type] public CrossReference getTypeTypeCrossReference_0_0() { return cTypeTypeCrossReference_0_0; } //ID public RuleCall getTypeTypeIDTerminalRuleCall_0_0_1() { return cTypeTypeIDTerminalRuleCall_0_0_1; } //(^isArray?='[' cardinality=Expression? ']')? public Group getGroup_1() { return cGroup_1; } //^isArray?='[' public Assignment getIsArrayAssignment_1_0() { return cIsArrayAssignment_1_0; } //'[' public Keyword getIsArrayLeftSquareBracketKeyword_1_0_0() { return cIsArrayLeftSquareBracketKeyword_1_0_0; } //cardinality=Expression? public Assignment getCardinalityAssignment_1_1() { return cCardinalityAssignment_1_1; } //Expression public RuleCall getCardinalityExpressionParserRuleCall_1_1_0() { return cCardinalityExpressionParserRuleCall_1_1_0; } //']' public Keyword getRightSquareBracketKeyword_1_2() { return cRightSquareBracketKeyword_1_2; } } public class TypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Type"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cPrimitiveTypeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cObjectTypeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cEnumerationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cThingParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); //Type: // PrimitiveType | ObjectType | Enumeration | Thing; @Override public ParserRule getRule() { return rule; } //PrimitiveType | ObjectType | Enumeration | Thing public Alternatives getAlternatives() { return cAlternatives; } //PrimitiveType public RuleCall getPrimitiveTypeParserRuleCall_0() { return cPrimitiveTypeParserRuleCall_0; } //ObjectType public RuleCall getObjectTypeParserRuleCall_1() { return cObjectTypeParserRuleCall_1; } //Enumeration public RuleCall getEnumerationParserRuleCall_2() { return cEnumerationParserRuleCall_2; } //Thing public RuleCall getThingParserRuleCall_3() { return cThingParserRuleCall_3; } } public class PrimitiveTypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.PrimitiveType"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cDatatypeKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLessThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cByteSizeAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cByteSizeINTTerminalRuleCall_3_0 = (RuleCall)cByteSizeAssignment_3.eContents().get(0); private final Keyword cGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cAnnotationsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_5_0 = (RuleCall)cAnnotationsAssignment_5.eContents().get(0); private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6); //PrimitiveType: // 'datatype' name=ID '<' ByteSize=INT '>' annotations+=PlatformAnnotation* ';'?; @Override public ParserRule getRule() { return rule; } //'datatype' name=ID '<' ByteSize=INT '>' annotations+=PlatformAnnotation* ';'? public Group getGroup() { return cGroup; } //'datatype' public Keyword getDatatypeKeyword_0() { return cDatatypeKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //'<' public Keyword getLessThanSignKeyword_2() { return cLessThanSignKeyword_2; } //ByteSize=INT public Assignment getByteSizeAssignment_3() { return cByteSizeAssignment_3; } //INT public RuleCall getByteSizeINTTerminalRuleCall_3_0() { return cByteSizeINTTerminalRuleCall_3_0; } //'>' public Keyword getGreaterThanSignKeyword_4() { return cGreaterThanSignKeyword_4; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_5() { return cAnnotationsAssignment_5; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_5_0() { return cAnnotationsPlatformAnnotationParserRuleCall_5_0; } //';'? public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; } } public class ObjectTypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ObjectType"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cObjectKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Assignment cAnnotationsAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_2_0 = (RuleCall)cAnnotationsAssignment_2.eContents().get(0); private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3); //ObjectType: // 'object' name=ID annotations+=PlatformAnnotation* ';'?; @Override public ParserRule getRule() { return rule; } //'object' name=ID annotations+=PlatformAnnotation* ';'? public Group getGroup() { return cGroup; } //'object' public Keyword getObjectKeyword_0() { return cObjectKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_2() { return cAnnotationsAssignment_2; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_2_0() { return cAnnotationsPlatformAnnotationParserRuleCall_2_0; } //';'? public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; } } public class EnumerationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Enumeration"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cEnumerationKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Assignment cAnnotationsAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_2_0 = (RuleCall)cAnnotationsAssignment_2.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cLiteralsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cLiteralsEnumerationLiteralParserRuleCall_4_0 = (RuleCall)cLiteralsAssignment_4.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); //Enumeration: // 'enumeration' name=ID annotations+=PlatformAnnotation* '{' literals+=EnumerationLiteral* '}'; @Override public ParserRule getRule() { return rule; } //'enumeration' name=ID annotations+=PlatformAnnotation* '{' literals+=EnumerationLiteral* '}' public Group getGroup() { return cGroup; } //'enumeration' public Keyword getEnumerationKeyword_0() { return cEnumerationKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_2() { return cAnnotationsAssignment_2; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_2_0() { return cAnnotationsPlatformAnnotationParserRuleCall_2_0; } //'{' public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } //literals+=EnumerationLiteral* public Assignment getLiteralsAssignment_4() { return cLiteralsAssignment_4; } //EnumerationLiteral public RuleCall getLiteralsEnumerationLiteralParserRuleCall_4_0() { return cLiteralsEnumerationLiteralParserRuleCall_4_0; } //'}' public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } public class EnumerationLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.EnumerationLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); private final Assignment cAnnotationsAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_1_0 = (RuleCall)cAnnotationsAssignment_1.eContents().get(0); //EnumerationLiteral: // name=ID annotations+=PlatformAnnotation*; @Override public ParserRule getRule() { return rule; } //name=ID annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //name=ID public Assignment getNameAssignment_0() { return cNameAssignment_0; } //ID public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_1() { return cAnnotationsAssignment_1; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_1_0() { return cAnnotationsPlatformAnnotationParserRuleCall_1_0; } } public class ThingElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Thing"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cThingKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cFragmentAssignment_1 = (Assignment)cGroup.eContents().get(1); private final Keyword cFragmentFragmentKeyword_1_0 = (Keyword)cFragmentAssignment_1.eContents().get(0); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cIncludesKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cIncludesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final CrossReference cIncludesThingCrossReference_3_1_0 = (CrossReference)cIncludesAssignment_3_1.eContents().get(0); private final RuleCall cIncludesThingIDTerminalRuleCall_3_1_0_1 = (RuleCall)cIncludesThingCrossReference_3_1_0.eContents().get(1); private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); private final Assignment cIncludesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); private final CrossReference cIncludesThingCrossReference_3_2_1_0 = (CrossReference)cIncludesAssignment_3_2_1.eContents().get(0); private final RuleCall cIncludesThingIDTerminalRuleCall_3_2_1_0_1 = (RuleCall)cIncludesThingCrossReference_3_2_1_0.eContents().get(1); private final Assignment cAnnotationsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_4_0 = (RuleCall)cAnnotationsAssignment_4.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); private final Alternatives cAlternatives_6 = (Alternatives)cGroup.eContents().get(6); private final Assignment cMessagesAssignment_6_0 = (Assignment)cAlternatives_6.eContents().get(0); private final RuleCall cMessagesMessageParserRuleCall_6_0_0 = (RuleCall)cMessagesAssignment_6_0.eContents().get(0); private final Assignment cPortsAssignment_6_1 = (Assignment)cAlternatives_6.eContents().get(1); private final RuleCall cPortsPortParserRuleCall_6_1_0 = (RuleCall)cPortsAssignment_6_1.eContents().get(0); private final Assignment cPropertiesAssignment_6_2 = (Assignment)cAlternatives_6.eContents().get(2); private final RuleCall cPropertiesPropertyParserRuleCall_6_2_0 = (RuleCall)cPropertiesAssignment_6_2.eContents().get(0); private final Assignment cFunctionsAssignment_6_3 = (Assignment)cAlternatives_6.eContents().get(3); private final RuleCall cFunctionsFunctionParserRuleCall_6_3_0 = (RuleCall)cFunctionsAssignment_6_3.eContents().get(0); private final Assignment cAssignAssignment_6_4 = (Assignment)cAlternatives_6.eContents().get(4); private final RuleCall cAssignPropertyAssignParserRuleCall_6_4_0 = (RuleCall)cAssignAssignment_6_4.eContents().get(0); private final Assignment cBehaviourAssignment_6_5 = (Assignment)cAlternatives_6.eContents().get(5); private final RuleCall cBehaviourStateMachineParserRuleCall_6_5_0 = (RuleCall)cBehaviourAssignment_6_5.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); /// ***************************************************************************** // * THING / COMPONENT MODEL * // ***************************************************************************** / Thing: // 'thing' ^fragment?='fragment'? name=ID ('includes' includes+=[Thing] ("," includes+=[Thing])*)? // annotations+=PlatformAnnotation* '{' (messages+=Message | ports+=Port | properties+=Property | functions+=Function | // assign+=PropertyAssign | behaviour+=StateMachine / * | streams+=Stream* /)* // '}'; @Override public ParserRule getRule() { return rule; } //'thing' ^fragment?='fragment'? name=ID ('includes' includes+=[Thing] ("," includes+=[Thing])*)? //annotations+=PlatformAnnotation* '{' (messages+=Message | ports+=Port | properties+=Property | functions+=Function | //assign+=PropertyAssign | behaviour+=StateMachine / * | streams+=Stream* /)* '}' public Group getGroup() { return cGroup; } //'thing' public Keyword getThingKeyword_0() { return cThingKeyword_0; } //^fragment?='fragment'? public Assignment getFragmentAssignment_1() { return cFragmentAssignment_1; } //'fragment' public Keyword getFragmentFragmentKeyword_1_0() { return cFragmentFragmentKeyword_1_0; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //('includes' includes+=[Thing] ("," includes+=[Thing])*)? public Group getGroup_3() { return cGroup_3; } //'includes' public Keyword getIncludesKeyword_3_0() { return cIncludesKeyword_3_0; } //includes+=[Thing] public Assignment getIncludesAssignment_3_1() { return cIncludesAssignment_3_1; } //[Thing] public CrossReference getIncludesThingCrossReference_3_1_0() { return cIncludesThingCrossReference_3_1_0; } //ID public RuleCall getIncludesThingIDTerminalRuleCall_3_1_0_1() { return cIncludesThingIDTerminalRuleCall_3_1_0_1; } //("," includes+=[Thing])* public Group getGroup_3_2() { return cGroup_3_2; } //"," public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } //includes+=[Thing] public Assignment getIncludesAssignment_3_2_1() { return cIncludesAssignment_3_2_1; } //[Thing] public CrossReference getIncludesThingCrossReference_3_2_1_0() { return cIncludesThingCrossReference_3_2_1_0; } //ID public RuleCall getIncludesThingIDTerminalRuleCall_3_2_1_0_1() { return cIncludesThingIDTerminalRuleCall_3_2_1_0_1; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_4() { return cAnnotationsAssignment_4; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_4_0() { return cAnnotationsPlatformAnnotationParserRuleCall_4_0; } //'{' public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; } //(messages+=Message | ports+=Port | properties+=Property | functions+=Function | assign+=PropertyAssign | //behaviour+=StateMachine / * | streams+=Stream* /)* public Alternatives getAlternatives_6() { return cAlternatives_6; } //messages+=Message public Assignment getMessagesAssignment_6_0() { return cMessagesAssignment_6_0; } //Message public RuleCall getMessagesMessageParserRuleCall_6_0_0() { return cMessagesMessageParserRuleCall_6_0_0; } //ports+=Port public Assignment getPortsAssignment_6_1() { return cPortsAssignment_6_1; } //Port public RuleCall getPortsPortParserRuleCall_6_1_0() { return cPortsPortParserRuleCall_6_1_0; } //properties+=Property public Assignment getPropertiesAssignment_6_2() { return cPropertiesAssignment_6_2; } //Property public RuleCall getPropertiesPropertyParserRuleCall_6_2_0() { return cPropertiesPropertyParserRuleCall_6_2_0; } //functions+=Function public Assignment getFunctionsAssignment_6_3() { return cFunctionsAssignment_6_3; } //Function public RuleCall getFunctionsFunctionParserRuleCall_6_3_0() { return cFunctionsFunctionParserRuleCall_6_3_0; } //assign+=PropertyAssign public Assignment getAssignAssignment_6_4() { return cAssignAssignment_6_4; } //PropertyAssign public RuleCall getAssignPropertyAssignParserRuleCall_6_4_0() { return cAssignPropertyAssignParserRuleCall_6_4_0; } //behaviour+=StateMachine public Assignment getBehaviourAssignment_6_5() { return cBehaviourAssignment_6_5; } //StateMachine public RuleCall getBehaviourStateMachineParserRuleCall_6_5_0() { return cBehaviourStateMachineParserRuleCall_6_5_0; } //'}' public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } } public class PropertyAssignElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.PropertyAssign"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSetKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cPropertyAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cPropertyPropertyCrossReference_1_0 = (CrossReference)cPropertyAssignment_1.eContents().get(0); private final RuleCall cPropertyPropertyIDTerminalRuleCall_1_0_1 = (RuleCall)cPropertyPropertyCrossReference_1_0.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cIndexAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cIndexExpressionParserRuleCall_2_1_0 = (RuleCall)cIndexAssignment_2_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); private final Keyword cEqualsSignKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cInitAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cInitExpressionParserRuleCall_4_0 = (RuleCall)cInitAssignment_4.eContents().get(0); private final Assignment cAnnotationsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_5_0 = (RuleCall)cAnnotationsAssignment_5.eContents().get(0); //PropertyAssign: // 'set' property=[Property] ('[' index+=Expression ']')* '=' init=Expression annotations+=PlatformAnnotation*; @Override public ParserRule getRule() { return rule; } //'set' property=[Property] ('[' index+=Expression ']')* '=' init=Expression annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //'set' public Keyword getSetKeyword_0() { return cSetKeyword_0; } //property=[Property] public Assignment getPropertyAssignment_1() { return cPropertyAssignment_1; } //[Property] public CrossReference getPropertyPropertyCrossReference_1_0() { return cPropertyPropertyCrossReference_1_0; } //ID public RuleCall getPropertyPropertyIDTerminalRuleCall_1_0_1() { return cPropertyPropertyIDTerminalRuleCall_1_0_1; } //('[' index+=Expression ']')* public Group getGroup_2() { return cGroup_2; } //'[' public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; } //index+=Expression public Assignment getIndexAssignment_2_1() { return cIndexAssignment_2_1; } //Expression public RuleCall getIndexExpressionParserRuleCall_2_1_0() { return cIndexExpressionParserRuleCall_2_1_0; } //']' public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; } //'=' public Keyword getEqualsSignKeyword_3() { return cEqualsSignKeyword_3; } //init=Expression public Assignment getInitAssignment_4() { return cInitAssignment_4; } //Expression public RuleCall getInitExpressionParserRuleCall_4_0() { return cInitExpressionParserRuleCall_4_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_5() { return cAnnotationsAssignment_5; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_5_0() { return cAnnotationsPlatformAnnotationParserRuleCall_5_0; } } public class ProtocolElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Protocol"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cProtocolKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Assignment cAnnotationsAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_2_0 = (RuleCall)cAnnotationsAssignment_2.eContents().get(0); private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3); //Protocol: // 'protocol' name=ID annotations+=PlatformAnnotation* ';'; @Override public ParserRule getRule() { return rule; } //'protocol' name=ID annotations+=PlatformAnnotation* ';' public Group getGroup() { return cGroup; } //'protocol' public Keyword getProtocolKeyword_0() { return cProtocolKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_2() { return cAnnotationsAssignment_2; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_2_0() { return cAnnotationsPlatformAnnotationParserRuleCall_2_0; } //';' public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; } } public class FunctionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Function"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFunctionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Assignment cParametersAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); private final RuleCall cParametersParameterParserRuleCall_3_0_0 = (RuleCall)cParametersAssignment_3_0.eContents().get(0); private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); private final Assignment cParametersAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); private final RuleCall cParametersParameterParserRuleCall_3_1_1_0 = (RuleCall)cParametersAssignment_3_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cColonKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cTypeRefAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cTypeRefTypeRefParserRuleCall_5_1_0 = (RuleCall)cTypeRefAssignment_5_1.eContents().get(0); private final Assignment cAnnotationsAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_6_0 = (RuleCall)cAnnotationsAssignment_6.eContents().get(0); private final Assignment cBodyAssignment_7 = (Assignment)cGroup.eContents().get(7); private final RuleCall cBodyActionParserRuleCall_7_0 = (RuleCall)cBodyAssignment_7.eContents().get(0); //Function: // 'function' name=ID '(' (parameters+=Parameter ("," parameters+=Parameter)*)? ')' (':' typeRef=TypeRef)? // annotations+=PlatformAnnotation* body=Action // //('isArray' isArray=EBoolean)? // //('cardinality' cardinality=Expression)? //; @Override public ParserRule getRule() { return rule; } //'function' name=ID '(' (parameters+=Parameter ("," parameters+=Parameter)*)? ')' (':' typeRef=TypeRef)? //annotations+=PlatformAnnotation* body=Action public Group getGroup() { return cGroup; } //'function' public Keyword getFunctionKeyword_0() { return cFunctionKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //'(' public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } //(parameters+=Parameter ("," parameters+=Parameter)*)? public Group getGroup_3() { return cGroup_3; } //parameters+=Parameter public Assignment getParametersAssignment_3_0() { return cParametersAssignment_3_0; } //Parameter public RuleCall getParametersParameterParserRuleCall_3_0_0() { return cParametersParameterParserRuleCall_3_0_0; } //("," parameters+=Parameter)* public Group getGroup_3_1() { return cGroup_3_1; } //"," public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } //parameters+=Parameter public Assignment getParametersAssignment_3_1_1() { return cParametersAssignment_3_1_1; } //Parameter public RuleCall getParametersParameterParserRuleCall_3_1_1_0() { return cParametersParameterParserRuleCall_3_1_1_0; } //')' public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } //(':' typeRef=TypeRef)? public Group getGroup_5() { return cGroup_5; } //':' public Keyword getColonKeyword_5_0() { return cColonKeyword_5_0; } //typeRef=TypeRef public Assignment getTypeRefAssignment_5_1() { return cTypeRefAssignment_5_1; } //TypeRef public RuleCall getTypeRefTypeRefParserRuleCall_5_1_0() { return cTypeRefTypeRefParserRuleCall_5_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_6() { return cAnnotationsAssignment_6; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_6_0() { return cAnnotationsPlatformAnnotationParserRuleCall_6_0; } //body=Action public Assignment getBodyAssignment_7() { return cBodyAssignment_7; } //Action public RuleCall getBodyActionParserRuleCall_7_0() { return cBodyActionParserRuleCall_7_0; } } public class PropertyElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Property"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cChangeableAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Keyword cChangeableReadonlyKeyword_0_0 = (Keyword)cChangeableAssignment_0.eContents().get(0); private final Keyword cPropertyKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cTypeRefAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cTypeRefTypeRefParserRuleCall_4_0 = (RuleCall)cTypeRefAssignment_4.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cEqualsSignKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cInitAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cInitExpressionParserRuleCall_5_1_0 = (RuleCall)cInitAssignment_5_1.eContents().get(0); private final Assignment cAnnotationsAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_6_0 = (RuleCall)cAnnotationsAssignment_6.eContents().get(0); //Property: // ^changeable?='readonly'? 'property' name=ID ':' typeRef=TypeRef ('=' init=Expression)? // annotations+=PlatformAnnotation* // //('isArray' isArray=EBoolean)? // //('changeable' changeable=EBoolean)? // //('cardinality' cardinality=Expression)? //; @Override public ParserRule getRule() { return rule; } //^changeable?='readonly'? 'property' name=ID ':' typeRef=TypeRef ('=' init=Expression)? annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //^changeable?='readonly'? public Assignment getChangeableAssignment_0() { return cChangeableAssignment_0; } //'readonly' public Keyword getChangeableReadonlyKeyword_0_0() { return cChangeableReadonlyKeyword_0_0; } //'property' public Keyword getPropertyKeyword_1() { return cPropertyKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //':' public Keyword getColonKeyword_3() { return cColonKeyword_3; } //typeRef=TypeRef public Assignment getTypeRefAssignment_4() { return cTypeRefAssignment_4; } //TypeRef public RuleCall getTypeRefTypeRefParserRuleCall_4_0() { return cTypeRefTypeRefParserRuleCall_4_0; } //('=' init=Expression)? public Group getGroup_5() { return cGroup_5; } //'=' public Keyword getEqualsSignKeyword_5_0() { return cEqualsSignKeyword_5_0; } //init=Expression public Assignment getInitAssignment_5_1() { return cInitAssignment_5_1; } //Expression public RuleCall getInitExpressionParserRuleCall_5_1_0() { return cInitExpressionParserRuleCall_5_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_6() { return cAnnotationsAssignment_6; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_6_0() { return cAnnotationsPlatformAnnotationParserRuleCall_6_0; } } public class MessageElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Message"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cMessageKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Assignment cParametersAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); private final RuleCall cParametersParameterParserRuleCall_3_0_0 = (RuleCall)cParametersAssignment_3_0.eContents().get(0); private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); private final Assignment cParametersAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); private final RuleCall cParametersParameterParserRuleCall_3_1_1_0 = (RuleCall)cParametersAssignment_3_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cAnnotationsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_5_0 = (RuleCall)cAnnotationsAssignment_5.eContents().get(0); private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6); //Message: // 'message' name=ID '(' (parameters+=Parameter ("," parameters+=Parameter)*)? ')' // annotations+=PlatformAnnotation* ';'?; @Override public ParserRule getRule() { return rule; } //'message' name=ID '(' (parameters+=Parameter ("," parameters+=Parameter)*)? ')' annotations+=PlatformAnnotation* ';'? public Group getGroup() { return cGroup; } //'message' public Keyword getMessageKeyword_0() { return cMessageKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //'(' public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } //(parameters+=Parameter ("," parameters+=Parameter)*)? public Group getGroup_3() { return cGroup_3; } //parameters+=Parameter public Assignment getParametersAssignment_3_0() { return cParametersAssignment_3_0; } //Parameter public RuleCall getParametersParameterParserRuleCall_3_0_0() { return cParametersParameterParserRuleCall_3_0_0; } //("," parameters+=Parameter)* public Group getGroup_3_1() { return cGroup_3_1; } //"," public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } //parameters+=Parameter public Assignment getParametersAssignment_3_1_1() { return cParametersAssignment_3_1_1; } //Parameter public RuleCall getParametersParameterParserRuleCall_3_1_1_0() { return cParametersParameterParserRuleCall_3_1_1_0; } //')' public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_5() { return cAnnotationsAssignment_5; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_5_0() { return cAnnotationsPlatformAnnotationParserRuleCall_5_0; } //';'? public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; } } public class ParameterElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Parameter"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cTypeRefAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cTypeRefTypeRefParserRuleCall_2_0 = (RuleCall)cTypeRefAssignment_2.eContents().get(0); private final Assignment cAnnotationsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_3_0 = (RuleCall)cAnnotationsAssignment_3.eContents().get(0); //Parameter: // name=ID ':' typeRef=TypeRef annotations+=PlatformAnnotation* // // ('isArray' isArray=EBoolean)? // // ('cardinality' cardinality=Expression)? //; @Override public ParserRule getRule() { return rule; } //name=ID ':' typeRef=TypeRef annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //name=ID public Assignment getNameAssignment_0() { return cNameAssignment_0; } //ID public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } //':' public Keyword getColonKeyword_1() { return cColonKeyword_1; } //typeRef=TypeRef public Assignment getTypeRefAssignment_2() { return cTypeRefAssignment_2; } //TypeRef public RuleCall getTypeRefTypeRefParserRuleCall_2_0() { return cTypeRefTypeRefParserRuleCall_2_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_3() { return cAnnotationsAssignment_3; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_3_0() { return cAnnotationsPlatformAnnotationParserRuleCall_3_0; } } public class PortElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Port"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cRequiredPortParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cProvidedPortParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cInternalPortParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //Port: // RequiredPort | ProvidedPort | InternalPort; @Override public ParserRule getRule() { return rule; } //RequiredPort | ProvidedPort | InternalPort public Alternatives getAlternatives() { return cAlternatives; } //RequiredPort public RuleCall getRequiredPortParserRuleCall_0() { return cRequiredPortParserRuleCall_0; } //ProvidedPort public RuleCall getProvidedPortParserRuleCall_1() { return cProvidedPortParserRuleCall_1; } //InternalPort public RuleCall getInternalPortParserRuleCall_2() { return cInternalPortParserRuleCall_2; } } public class RequiredPortElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.RequiredPort"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cOptionalAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Keyword cOptionalOptionalKeyword_0_0 = (Keyword)cOptionalAssignment_0.eContents().get(0); private final Keyword cRequiredKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Keyword cPortKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cNameIDTerminalRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0); private final Assignment cAnnotationsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_4_0 = (RuleCall)cAnnotationsAssignment_4.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); private final Alternatives cAlternatives_6 = (Alternatives)cGroup.eContents().get(6); private final Group cGroup_6_0 = (Group)cAlternatives_6.eContents().get(0); private final Keyword cSendsKeyword_6_0_0 = (Keyword)cGroup_6_0.eContents().get(0); private final Assignment cSendsAssignment_6_0_1 = (Assignment)cGroup_6_0.eContents().get(1); private final CrossReference cSendsMessageCrossReference_6_0_1_0 = (CrossReference)cSendsAssignment_6_0_1.eContents().get(0); private final RuleCall cSendsMessageIDTerminalRuleCall_6_0_1_0_1 = (RuleCall)cSendsMessageCrossReference_6_0_1_0.eContents().get(1); private final Group cGroup_6_0_2 = (Group)cGroup_6_0.eContents().get(2); private final Keyword cCommaKeyword_6_0_2_0 = (Keyword)cGroup_6_0_2.eContents().get(0); private final Assignment cSendsAssignment_6_0_2_1 = (Assignment)cGroup_6_0_2.eContents().get(1); private final CrossReference cSendsMessageCrossReference_6_0_2_1_0 = (CrossReference)cSendsAssignment_6_0_2_1.eContents().get(0); private final RuleCall cSendsMessageIDTerminalRuleCall_6_0_2_1_0_1 = (RuleCall)cSendsMessageCrossReference_6_0_2_1_0.eContents().get(1); private final Group cGroup_6_1 = (Group)cAlternatives_6.eContents().get(1); private final Keyword cReceivesKeyword_6_1_0 = (Keyword)cGroup_6_1.eContents().get(0); private final Assignment cReceivesAssignment_6_1_1 = (Assignment)cGroup_6_1.eContents().get(1); private final CrossReference cReceivesMessageCrossReference_6_1_1_0 = (CrossReference)cReceivesAssignment_6_1_1.eContents().get(0); private final RuleCall cReceivesMessageIDTerminalRuleCall_6_1_1_0_1 = (RuleCall)cReceivesMessageCrossReference_6_1_1_0.eContents().get(1); private final Group cGroup_6_1_2 = (Group)cGroup_6_1.eContents().get(2); private final Keyword cCommaKeyword_6_1_2_0 = (Keyword)cGroup_6_1_2.eContents().get(0); private final Assignment cReceivesAssignment_6_1_2_1 = (Assignment)cGroup_6_1_2.eContents().get(1); private final CrossReference cReceivesMessageCrossReference_6_1_2_1_0 = (CrossReference)cReceivesAssignment_6_1_2_1.eContents().get(0); private final RuleCall cReceivesMessageIDTerminalRuleCall_6_1_2_1_0_1 = (RuleCall)cReceivesMessageCrossReference_6_1_2_1_0.eContents().get(1); private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); //RequiredPort: // optional?='optional'? 'required' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," // sends+=[Message])* | 'receives' receives+=[Message] ("," receives+=[Message])*)* // '}'; @Override public ParserRule getRule() { return rule; } //optional?='optional'? 'required' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," //sends+=[Message])* | 'receives' receives+=[Message] ("," receives+=[Message])*)* '}' public Group getGroup() { return cGroup; } //optional?='optional'? public Assignment getOptionalAssignment_0() { return cOptionalAssignment_0; } //'optional' public Keyword getOptionalOptionalKeyword_0_0() { return cOptionalOptionalKeyword_0_0; } //'required' public Keyword getRequiredKeyword_1() { return cRequiredKeyword_1; } //'port' public Keyword getPortKeyword_2() { return cPortKeyword_2; } //name=ID public Assignment getNameAssignment_3() { return cNameAssignment_3; } //ID public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_4() { return cAnnotationsAssignment_4; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_4_0() { return cAnnotationsPlatformAnnotationParserRuleCall_4_0; } //'{' public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; } //('sends' sends+=[Message] ("," sends+=[Message])* | 'receives' receives+=[Message] ("," receives+=[Message])*)* public Alternatives getAlternatives_6() { return cAlternatives_6; } //'sends' sends+=[Message] ("," sends+=[Message])* public Group getGroup_6_0() { return cGroup_6_0; } //'sends' public Keyword getSendsKeyword_6_0_0() { return cSendsKeyword_6_0_0; } //sends+=[Message] public Assignment getSendsAssignment_6_0_1() { return cSendsAssignment_6_0_1; } //[Message] public CrossReference getSendsMessageCrossReference_6_0_1_0() { return cSendsMessageCrossReference_6_0_1_0; } //ID public RuleCall getSendsMessageIDTerminalRuleCall_6_0_1_0_1() { return cSendsMessageIDTerminalRuleCall_6_0_1_0_1; } //("," sends+=[Message])* public Group getGroup_6_0_2() { return cGroup_6_0_2; } //"," public Keyword getCommaKeyword_6_0_2_0() { return cCommaKeyword_6_0_2_0; } //sends+=[Message] public Assignment getSendsAssignment_6_0_2_1() { return cSendsAssignment_6_0_2_1; } //[Message] public CrossReference getSendsMessageCrossReference_6_0_2_1_0() { return cSendsMessageCrossReference_6_0_2_1_0; } //ID public RuleCall getSendsMessageIDTerminalRuleCall_6_0_2_1_0_1() { return cSendsMessageIDTerminalRuleCall_6_0_2_1_0_1; } //'receives' receives+=[Message] ("," receives+=[Message])* public Group getGroup_6_1() { return cGroup_6_1; } //'receives' public Keyword getReceivesKeyword_6_1_0() { return cReceivesKeyword_6_1_0; } //receives+=[Message] public Assignment getReceivesAssignment_6_1_1() { return cReceivesAssignment_6_1_1; } //[Message] public CrossReference getReceivesMessageCrossReference_6_1_1_0() { return cReceivesMessageCrossReference_6_1_1_0; } //ID public RuleCall getReceivesMessageIDTerminalRuleCall_6_1_1_0_1() { return cReceivesMessageIDTerminalRuleCall_6_1_1_0_1; } //("," receives+=[Message])* public Group getGroup_6_1_2() { return cGroup_6_1_2; } //"," public Keyword getCommaKeyword_6_1_2_0() { return cCommaKeyword_6_1_2_0; } //receives+=[Message] public Assignment getReceivesAssignment_6_1_2_1() { return cReceivesAssignment_6_1_2_1; } //[Message] public CrossReference getReceivesMessageCrossReference_6_1_2_1_0() { return cReceivesMessageCrossReference_6_1_2_1_0; } //ID public RuleCall getReceivesMessageIDTerminalRuleCall_6_1_2_1_0_1() { return cReceivesMessageIDTerminalRuleCall_6_1_2_1_0_1; } //'}' public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } } public class ProvidedPortElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ProvidedPort"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cProvidedKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cPortKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Assignment cAnnotationsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_3_0 = (RuleCall)cAnnotationsAssignment_3.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5); private final Group cGroup_5_0 = (Group)cAlternatives_5.eContents().get(0); private final Keyword cSendsKeyword_5_0_0 = (Keyword)cGroup_5_0.eContents().get(0); private final Assignment cSendsAssignment_5_0_1 = (Assignment)cGroup_5_0.eContents().get(1); private final CrossReference cSendsMessageCrossReference_5_0_1_0 = (CrossReference)cSendsAssignment_5_0_1.eContents().get(0); private final RuleCall cSendsMessageIDTerminalRuleCall_5_0_1_0_1 = (RuleCall)cSendsMessageCrossReference_5_0_1_0.eContents().get(1); private final Group cGroup_5_0_2 = (Group)cGroup_5_0.eContents().get(2); private final Keyword cCommaKeyword_5_0_2_0 = (Keyword)cGroup_5_0_2.eContents().get(0); private final Assignment cSendsAssignment_5_0_2_1 = (Assignment)cGroup_5_0_2.eContents().get(1); private final CrossReference cSendsMessageCrossReference_5_0_2_1_0 = (CrossReference)cSendsAssignment_5_0_2_1.eContents().get(0); private final RuleCall cSendsMessageIDTerminalRuleCall_5_0_2_1_0_1 = (RuleCall)cSendsMessageCrossReference_5_0_2_1_0.eContents().get(1); private final Group cGroup_5_1 = (Group)cAlternatives_5.eContents().get(1); private final Keyword cReceivesKeyword_5_1_0 = (Keyword)cGroup_5_1.eContents().get(0); private final Assignment cReceivesAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1); private final CrossReference cReceivesMessageCrossReference_5_1_1_0 = (CrossReference)cReceivesAssignment_5_1_1.eContents().get(0); private final RuleCall cReceivesMessageIDTerminalRuleCall_5_1_1_0_1 = (RuleCall)cReceivesMessageCrossReference_5_1_1_0.eContents().get(1); private final Group cGroup_5_1_2 = (Group)cGroup_5_1.eContents().get(2); private final Keyword cCommaKeyword_5_1_2_0 = (Keyword)cGroup_5_1_2.eContents().get(0); private final Assignment cReceivesAssignment_5_1_2_1 = (Assignment)cGroup_5_1_2.eContents().get(1); private final CrossReference cReceivesMessageCrossReference_5_1_2_1_0 = (CrossReference)cReceivesAssignment_5_1_2_1.eContents().get(0); private final RuleCall cReceivesMessageIDTerminalRuleCall_5_1_2_1_0_1 = (RuleCall)cReceivesMessageCrossReference_5_1_2_1_0.eContents().get(1); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //ProvidedPort: // 'provided' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," sends+=[Message])* | // 'receives' receives+=[Message] ("," receives+=[Message])*)* // '}'; @Override public ParserRule getRule() { return rule; } //'provided' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," sends+=[Message])* | //'receives' receives+=[Message] ("," receives+=[Message])*)* '}' public Group getGroup() { return cGroup; } //'provided' public Keyword getProvidedKeyword_0() { return cProvidedKeyword_0; } //'port' public Keyword getPortKeyword_1() { return cPortKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_3() { return cAnnotationsAssignment_3; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_3_0() { return cAnnotationsPlatformAnnotationParserRuleCall_3_0; } //'{' public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } //('sends' sends+=[Message] ("," sends+=[Message])* | 'receives' receives+=[Message] ("," receives+=[Message])*)* public Alternatives getAlternatives_5() { return cAlternatives_5; } //'sends' sends+=[Message] ("," sends+=[Message])* public Group getGroup_5_0() { return cGroup_5_0; } //'sends' public Keyword getSendsKeyword_5_0_0() { return cSendsKeyword_5_0_0; } //sends+=[Message] public Assignment getSendsAssignment_5_0_1() { return cSendsAssignment_5_0_1; } //[Message] public CrossReference getSendsMessageCrossReference_5_0_1_0() { return cSendsMessageCrossReference_5_0_1_0; } //ID public RuleCall getSendsMessageIDTerminalRuleCall_5_0_1_0_1() { return cSendsMessageIDTerminalRuleCall_5_0_1_0_1; } //("," sends+=[Message])* public Group getGroup_5_0_2() { return cGroup_5_0_2; } //"," public Keyword getCommaKeyword_5_0_2_0() { return cCommaKeyword_5_0_2_0; } //sends+=[Message] public Assignment getSendsAssignment_5_0_2_1() { return cSendsAssignment_5_0_2_1; } //[Message] public CrossReference getSendsMessageCrossReference_5_0_2_1_0() { return cSendsMessageCrossReference_5_0_2_1_0; } //ID public RuleCall getSendsMessageIDTerminalRuleCall_5_0_2_1_0_1() { return cSendsMessageIDTerminalRuleCall_5_0_2_1_0_1; } //'receives' receives+=[Message] ("," receives+=[Message])* public Group getGroup_5_1() { return cGroup_5_1; } //'receives' public Keyword getReceivesKeyword_5_1_0() { return cReceivesKeyword_5_1_0; } //receives+=[Message] public Assignment getReceivesAssignment_5_1_1() { return cReceivesAssignment_5_1_1; } //[Message] public CrossReference getReceivesMessageCrossReference_5_1_1_0() { return cReceivesMessageCrossReference_5_1_1_0; } //ID public RuleCall getReceivesMessageIDTerminalRuleCall_5_1_1_0_1() { return cReceivesMessageIDTerminalRuleCall_5_1_1_0_1; } //("," receives+=[Message])* public Group getGroup_5_1_2() { return cGroup_5_1_2; } //"," public Keyword getCommaKeyword_5_1_2_0() { return cCommaKeyword_5_1_2_0; } //receives+=[Message] public Assignment getReceivesAssignment_5_1_2_1() { return cReceivesAssignment_5_1_2_1; } //[Message] public CrossReference getReceivesMessageCrossReference_5_1_2_1_0() { return cReceivesMessageCrossReference_5_1_2_1_0; } //ID public RuleCall getReceivesMessageIDTerminalRuleCall_5_1_2_1_0_1() { return cReceivesMessageIDTerminalRuleCall_5_1_2_1_0_1; } //'}' public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } } public class InternalPortElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.InternalPort"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cInternalKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cPortKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Assignment cAnnotationsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_3_0 = (RuleCall)cAnnotationsAssignment_3.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5); private final Group cGroup_5_0 = (Group)cAlternatives_5.eContents().get(0); private final Keyword cSendsKeyword_5_0_0 = (Keyword)cGroup_5_0.eContents().get(0); private final Assignment cSendsAssignment_5_0_1 = (Assignment)cGroup_5_0.eContents().get(1); private final CrossReference cSendsMessageCrossReference_5_0_1_0 = (CrossReference)cSendsAssignment_5_0_1.eContents().get(0); private final RuleCall cSendsMessageIDTerminalRuleCall_5_0_1_0_1 = (RuleCall)cSendsMessageCrossReference_5_0_1_0.eContents().get(1); private final Group cGroup_5_0_2 = (Group)cGroup_5_0.eContents().get(2); private final Keyword cCommaKeyword_5_0_2_0 = (Keyword)cGroup_5_0_2.eContents().get(0); private final Assignment cSendsAssignment_5_0_2_1 = (Assignment)cGroup_5_0_2.eContents().get(1); private final CrossReference cSendsMessageCrossReference_5_0_2_1_0 = (CrossReference)cSendsAssignment_5_0_2_1.eContents().get(0); private final RuleCall cSendsMessageIDTerminalRuleCall_5_0_2_1_0_1 = (RuleCall)cSendsMessageCrossReference_5_0_2_1_0.eContents().get(1); private final Group cGroup_5_1 = (Group)cAlternatives_5.eContents().get(1); private final Keyword cReceivesKeyword_5_1_0 = (Keyword)cGroup_5_1.eContents().get(0); private final Assignment cReceivesAssignment_5_1_1 = (Assignment)cGroup_5_1.eContents().get(1); private final CrossReference cReceivesMessageCrossReference_5_1_1_0 = (CrossReference)cReceivesAssignment_5_1_1.eContents().get(0); private final RuleCall cReceivesMessageIDTerminalRuleCall_5_1_1_0_1 = (RuleCall)cReceivesMessageCrossReference_5_1_1_0.eContents().get(1); private final Group cGroup_5_1_2 = (Group)cGroup_5_1.eContents().get(2); private final Keyword cCommaKeyword_5_1_2_0 = (Keyword)cGroup_5_1_2.eContents().get(0); private final Assignment cReceivesAssignment_5_1_2_1 = (Assignment)cGroup_5_1_2.eContents().get(1); private final CrossReference cReceivesMessageCrossReference_5_1_2_1_0 = (CrossReference)cReceivesAssignment_5_1_2_1.eContents().get(0); private final RuleCall cReceivesMessageIDTerminalRuleCall_5_1_2_1_0_1 = (RuleCall)cReceivesMessageCrossReference_5_1_2_1_0.eContents().get(1); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //InternalPort: // 'internal' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," sends+=[Message])* | // 'receives' receives+=[Message] ("," receives+=[Message])*)* // '}'; @Override public ParserRule getRule() { return rule; } //'internal' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," sends+=[Message])* | //'receives' receives+=[Message] ("," receives+=[Message])*)* '}' public Group getGroup() { return cGroup; } //'internal' public Keyword getInternalKeyword_0() { return cInternalKeyword_0; } //'port' public Keyword getPortKeyword_1() { return cPortKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_3() { return cAnnotationsAssignment_3; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_3_0() { return cAnnotationsPlatformAnnotationParserRuleCall_3_0; } //'{' public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } //('sends' sends+=[Message] ("," sends+=[Message])* | 'receives' receives+=[Message] ("," receives+=[Message])*)* public Alternatives getAlternatives_5() { return cAlternatives_5; } //'sends' sends+=[Message] ("," sends+=[Message])* public Group getGroup_5_0() { return cGroup_5_0; } //'sends' public Keyword getSendsKeyword_5_0_0() { return cSendsKeyword_5_0_0; } //sends+=[Message] public Assignment getSendsAssignment_5_0_1() { return cSendsAssignment_5_0_1; } //[Message] public CrossReference getSendsMessageCrossReference_5_0_1_0() { return cSendsMessageCrossReference_5_0_1_0; } //ID public RuleCall getSendsMessageIDTerminalRuleCall_5_0_1_0_1() { return cSendsMessageIDTerminalRuleCall_5_0_1_0_1; } //("," sends+=[Message])* public Group getGroup_5_0_2() { return cGroup_5_0_2; } //"," public Keyword getCommaKeyword_5_0_2_0() { return cCommaKeyword_5_0_2_0; } //sends+=[Message] public Assignment getSendsAssignment_5_0_2_1() { return cSendsAssignment_5_0_2_1; } //[Message] public CrossReference getSendsMessageCrossReference_5_0_2_1_0() { return cSendsMessageCrossReference_5_0_2_1_0; } //ID public RuleCall getSendsMessageIDTerminalRuleCall_5_0_2_1_0_1() { return cSendsMessageIDTerminalRuleCall_5_0_2_1_0_1; } //'receives' receives+=[Message] ("," receives+=[Message])* public Group getGroup_5_1() { return cGroup_5_1; } //'receives' public Keyword getReceivesKeyword_5_1_0() { return cReceivesKeyword_5_1_0; } //receives+=[Message] public Assignment getReceivesAssignment_5_1_1() { return cReceivesAssignment_5_1_1; } //[Message] public CrossReference getReceivesMessageCrossReference_5_1_1_0() { return cReceivesMessageCrossReference_5_1_1_0; } //ID public RuleCall getReceivesMessageIDTerminalRuleCall_5_1_1_0_1() { return cReceivesMessageIDTerminalRuleCall_5_1_1_0_1; } //("," receives+=[Message])* public Group getGroup_5_1_2() { return cGroup_5_1_2; } //"," public Keyword getCommaKeyword_5_1_2_0() { return cCommaKeyword_5_1_2_0; } //receives+=[Message] public Assignment getReceivesAssignment_5_1_2_1() { return cReceivesAssignment_5_1_2_1; } //[Message] public CrossReference getReceivesMessageCrossReference_5_1_2_1_0() { return cReceivesMessageCrossReference_5_1_2_1_0; } //ID public RuleCall getReceivesMessageIDTerminalRuleCall_5_1_2_1_0_1() { return cReceivesMessageIDTerminalRuleCall_5_1_2_1_0_1; } //'}' public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } } public class RegionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Region"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cRegionOrSessionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cCompositeStateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); /// ***************************************************************************** // * CEP STREAMS * // ***************************************************************************** / / * //Stream returns Stream: // 'stream' name=ID ( annotations+=PlatformAnnotation )* 'from' input=Source // ('select' selection+=LocalVariable ( "," selection+=LocalVariable)*)? // 'produce' output=SendAction ; // //Source returns Source: // JoinSources | MergeSources | SimpleSource; // //ViewSource returns ViewSource: // Filter | LengthWindow | TimeWindow; // //ReferencedElmt returns ReferencedElmt: // Message | Parameter | Property | ReceiveMessage | LocalVariable | JoinSources | MergeSources | SimpleSource | MessageParameter; // //ElmtProperty returns ElmtProperty: // SimpleParamRef | ArrayParamRef | LengthArray; // // //JoinSources returns JoinSources: // 'join' name=ID ':' '[' sources+=Source ( "&" sources+=Source)* '->' resultMessage=[Message|ID] '(' rules+=Expression ( "," rules+=Expression)* ')' ']' ('::' operators+=ViewSource)*; // //MergeSources returns MergeSources: // 'merge' name=ID ':' '[' sources+=Source ( "|" sources+=Source)* '->' resultMessage=[Message|ID] ']' ('::' operators+=ViewSource)*; // //SimpleSource returns SimpleSource: // name=ID ':' message=ReceiveMessage ('::' operators+=ViewSource)*; // //Filter returns Filter: // 'keep' 'if' guard=Expression; // //LengthWindow returns LengthWindow: // 'buffer' size=Expression ('by' step=Expression)?; // //TimeWindow returns TimeWindow: // 'during' duration=Expression ('by' step=Expression)?; // //MessageParameter returns MessageParameter: // name=ID ':' msgRef=[Message|ID] ; // //SimpleParamRef returns SimpleParamRef: // parameterRef=[Parameter|ID]; // //ArrayParamRef returns ArrayParamRef: // parameterRef=[Parameter|ID] '[' ']'; // //LengthArray returns LengthArray: // {LengthArray} // 'length'; // * / / ***************************************************************************** // * STATE MECHINES * // ***************************************************************************** / Region: // RegionOrSession | CompositeState; @Override public ParserRule getRule() { return rule; } //RegionOrSession | CompositeState public Alternatives getAlternatives() { return cAlternatives; } //RegionOrSession public RuleCall getRegionOrSessionParserRuleCall_0() { return cRegionOrSessionParserRuleCall_0; } //CompositeState public RuleCall getCompositeStateParserRuleCall_1() { return cCompositeStateParserRuleCall_1; } } public class RegionOrSessionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.RegionOrSession"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cParallelRegionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cSessionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //RegionOrSession: // ParallelRegion | Session; @Override public ParserRule getRule() { return rule; } //ParallelRegion | Session public Alternatives getAlternatives() { return cAlternatives; } //ParallelRegion public RuleCall getParallelRegionParserRuleCall_0() { return cParallelRegionParserRuleCall_0; } //Session public RuleCall getSessionParserRuleCall_1() { return cSessionParserRuleCall_1; } } public class StateMachineElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.StateMachine"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cStatechartKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cInitKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cInitialAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cInitialStateCrossReference_3_0 = (CrossReference)cInitialAssignment_3.eContents().get(0); private final RuleCall cInitialStateIDTerminalRuleCall_3_0_1 = (RuleCall)cInitialStateCrossReference_3_0.eContents().get(1); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cKeepsKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cHistoryAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final Keyword cHistoryHistoryKeyword_4_1_0 = (Keyword)cHistoryAssignment_4_1.eContents().get(0); private final Assignment cAnnotationsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_5_0 = (RuleCall)cAnnotationsAssignment_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Assignment cPropertiesAssignment_7 = (Assignment)cGroup.eContents().get(7); private final RuleCall cPropertiesPropertyParserRuleCall_7_0 = (RuleCall)cPropertiesAssignment_7.eContents().get(0); private final Group cGroup_8 = (Group)cGroup.eContents().get(8); private final Keyword cOnKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); private final Keyword cEntryKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1); private final Assignment cEntryAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2); private final RuleCall cEntryActionParserRuleCall_8_2_0 = (RuleCall)cEntryAssignment_8_2.eContents().get(0); private final Group cGroup_9 = (Group)cGroup.eContents().get(9); private final Keyword cOnKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); private final Keyword cExitKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1); private final Assignment cExitAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2); private final RuleCall cExitActionParserRuleCall_9_2_0 = (RuleCall)cExitAssignment_9_2.eContents().get(0); private final Alternatives cAlternatives_10 = (Alternatives)cGroup.eContents().get(10); private final Assignment cSubstateAssignment_10_0 = (Assignment)cAlternatives_10.eContents().get(0); private final RuleCall cSubstateStateParserRuleCall_10_0_0 = (RuleCall)cSubstateAssignment_10_0.eContents().get(0); private final Assignment cInternalAssignment_10_1 = (Assignment)cAlternatives_10.eContents().get(1); private final RuleCall cInternalInternalTransitionParserRuleCall_10_1_0 = (RuleCall)cInternalAssignment_10_1.eContents().get(0); private final Assignment cRegionAssignment_11 = (Assignment)cGroup.eContents().get(11); private final RuleCall cRegionRegionOrSessionParserRuleCall_11_0 = (RuleCall)cRegionAssignment_11.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12); //StateMachine CompositeState: // 'statechart' name=ID? 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' // properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | // internal+=InternalTransition)* // region+=RegionOrSession* // '}' @Override public ParserRule getRule() { return rule; } //'statechart' name=ID? 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' //properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | //internal+=InternalTransition)* region+=RegionOrSession* '}' public Group getGroup() { return cGroup; } //'statechart' public Keyword getStatechartKeyword_0() { return cStatechartKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //'init' public Keyword getInitKeyword_2() { return cInitKeyword_2; } //initial=[State] public Assignment getInitialAssignment_3() { return cInitialAssignment_3; } //[State] public CrossReference getInitialStateCrossReference_3_0() { return cInitialStateCrossReference_3_0; } //ID public RuleCall getInitialStateIDTerminalRuleCall_3_0_1() { return cInitialStateIDTerminalRuleCall_3_0_1; } //('keeps' history?='history')? public Group getGroup_4() { return cGroup_4; } //'keeps' public Keyword getKeepsKeyword_4_0() { return cKeepsKeyword_4_0; } //history?='history' public Assignment getHistoryAssignment_4_1() { return cHistoryAssignment_4_1; } //'history' public Keyword getHistoryHistoryKeyword_4_1_0() { return cHistoryHistoryKeyword_4_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_5() { return cAnnotationsAssignment_5; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_5_0() { return cAnnotationsPlatformAnnotationParserRuleCall_5_0; } //'{' public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } //properties+=Property* public Assignment getPropertiesAssignment_7() { return cPropertiesAssignment_7; } //Property public RuleCall getPropertiesPropertyParserRuleCall_7_0() { return cPropertiesPropertyParserRuleCall_7_0; } //('on' 'entry' entry=Action)? public Group getGroup_8() { return cGroup_8; } //'on' public Keyword getOnKeyword_8_0() { return cOnKeyword_8_0; } //'entry' public Keyword getEntryKeyword_8_1() { return cEntryKeyword_8_1; } //entry=Action public Assignment getEntryAssignment_8_2() { return cEntryAssignment_8_2; } //Action public RuleCall getEntryActionParserRuleCall_8_2_0() { return cEntryActionParserRuleCall_8_2_0; } //('on' 'exit' exit=Action)? public Group getGroup_9() { return cGroup_9; } //'on' public Keyword getOnKeyword_9_0() { return cOnKeyword_9_0; } //'exit' public Keyword getExitKeyword_9_1() { return cExitKeyword_9_1; } //exit=Action public Assignment getExitAssignment_9_2() { return cExitAssignment_9_2; } //Action public RuleCall getExitActionParserRuleCall_9_2_0() { return cExitActionParserRuleCall_9_2_0; } //(substate+=State | internal+=InternalTransition)* public Alternatives getAlternatives_10() { return cAlternatives_10; } //substate+=State public Assignment getSubstateAssignment_10_0() { return cSubstateAssignment_10_0; } //State public RuleCall getSubstateStateParserRuleCall_10_0_0() { return cSubstateStateParserRuleCall_10_0_0; } //internal+=InternalTransition public Assignment getInternalAssignment_10_1() { return cInternalAssignment_10_1; } //InternalTransition public RuleCall getInternalInternalTransitionParserRuleCall_10_1_0() { return cInternalInternalTransitionParserRuleCall_10_1_0; } //region+=RegionOrSession* public Assignment getRegionAssignment_11() { return cRegionAssignment_11; } //RegionOrSession public RuleCall getRegionRegionOrSessionParserRuleCall_11_0() { return cRegionRegionOrSessionParserRuleCall_11_0; } //'}' public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; } } public class FinalStateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.FinalState"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cFinalKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cStateKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Assignment cAnnotationsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_3_0 = (RuleCall)cAnnotationsAssignment_3.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cOnKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Keyword cEntryKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); private final Assignment cEntryAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); private final RuleCall cEntryActionParserRuleCall_5_2_0 = (RuleCall)cEntryAssignment_5_2.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //FinalState: // 'final' 'state' name=ID annotations+=PlatformAnnotation* '{' ('on' 'entry' entry=Action)? '}'; @Override public ParserRule getRule() { return rule; } //'final' 'state' name=ID annotations+=PlatformAnnotation* '{' ('on' 'entry' entry=Action)? '}' public Group getGroup() { return cGroup; } //'final' public Keyword getFinalKeyword_0() { return cFinalKeyword_0; } //'state' public Keyword getStateKeyword_1() { return cStateKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_3() { return cAnnotationsAssignment_3; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_3_0() { return cAnnotationsPlatformAnnotationParserRuleCall_3_0; } //'{' public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } //('on' 'entry' entry=Action)? public Group getGroup_5() { return cGroup_5; } //'on' public Keyword getOnKeyword_5_0() { return cOnKeyword_5_0; } //'entry' public Keyword getEntryKeyword_5_1() { return cEntryKeyword_5_1; } //entry=Action public Assignment getEntryAssignment_5_2() { return cEntryAssignment_5_2; } //Action public RuleCall getEntryActionParserRuleCall_5_2_0() { return cEntryActionParserRuleCall_5_2_0; } //'}' public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } } public class CompositeStateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.CompositeState"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cCompositeKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cStateKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Keyword cInitKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cInitialAssignment_4 = (Assignment)cGroup.eContents().get(4); private final CrossReference cInitialStateCrossReference_4_0 = (CrossReference)cInitialAssignment_4.eContents().get(0); private final RuleCall cInitialStateIDTerminalRuleCall_4_0_1 = (RuleCall)cInitialStateCrossReference_4_0.eContents().get(1); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cKeepsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cHistoryAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final Keyword cHistoryHistoryKeyword_5_1_0 = (Keyword)cHistoryAssignment_5_1.eContents().get(0); private final Assignment cAnnotationsAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_6_0 = (RuleCall)cAnnotationsAssignment_6.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); private final Assignment cPropertiesAssignment_8 = (Assignment)cGroup.eContents().get(8); private final RuleCall cPropertiesPropertyParserRuleCall_8_0 = (RuleCall)cPropertiesAssignment_8.eContents().get(0); private final Group cGroup_9 = (Group)cGroup.eContents().get(9); private final Keyword cOnKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); private final Keyword cEntryKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1); private final Assignment cEntryAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2); private final RuleCall cEntryActionParserRuleCall_9_2_0 = (RuleCall)cEntryAssignment_9_2.eContents().get(0); private final Group cGroup_10 = (Group)cGroup.eContents().get(10); private final Keyword cOnKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0); private final Keyword cExitKeyword_10_1 = (Keyword)cGroup_10.eContents().get(1); private final Assignment cExitAssignment_10_2 = (Assignment)cGroup_10.eContents().get(2); private final RuleCall cExitActionParserRuleCall_10_2_0 = (RuleCall)cExitAssignment_10_2.eContents().get(0); private final Alternatives cAlternatives_11 = (Alternatives)cGroup.eContents().get(11); private final Assignment cSubstateAssignment_11_0 = (Assignment)cAlternatives_11.eContents().get(0); private final RuleCall cSubstateStateParserRuleCall_11_0_0 = (RuleCall)cSubstateAssignment_11_0.eContents().get(0); private final Assignment cInternalAssignment_11_1 = (Assignment)cAlternatives_11.eContents().get(1); private final RuleCall cInternalInternalTransitionParserRuleCall_11_1_0 = (RuleCall)cInternalAssignment_11_1.eContents().get(0); private final Assignment cOutgoingAssignment_11_2 = (Assignment)cAlternatives_11.eContents().get(2); private final RuleCall cOutgoingTransitionParserRuleCall_11_2_0 = (RuleCall)cOutgoingAssignment_11_2.eContents().get(0); private final Assignment cRegionAssignment_12 = (Assignment)cGroup.eContents().get(12); private final RuleCall cRegionRegionOrSessionParserRuleCall_12_0 = (RuleCall)cRegionAssignment_12.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13); //CompositeState: // 'composite' 'state' name=ID 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' // properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | // internal+=InternalTransition | outgoing+=Transition)* // region+=RegionOrSession* // '}'; @Override public ParserRule getRule() { return rule; } //'composite' 'state' name=ID 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' //properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | //internal+=InternalTransition | outgoing+=Transition)* region+=RegionOrSession* '}' public Group getGroup() { return cGroup; } //'composite' public Keyword getCompositeKeyword_0() { return cCompositeKeyword_0; } //'state' public Keyword getStateKeyword_1() { return cStateKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //'init' public Keyword getInitKeyword_3() { return cInitKeyword_3; } //initial=[State] public Assignment getInitialAssignment_4() { return cInitialAssignment_4; } //[State] public CrossReference getInitialStateCrossReference_4_0() { return cInitialStateCrossReference_4_0; } //ID public RuleCall getInitialStateIDTerminalRuleCall_4_0_1() { return cInitialStateIDTerminalRuleCall_4_0_1; } //('keeps' history?='history')? public Group getGroup_5() { return cGroup_5; } //'keeps' public Keyword getKeepsKeyword_5_0() { return cKeepsKeyword_5_0; } //history?='history' public Assignment getHistoryAssignment_5_1() { return cHistoryAssignment_5_1; } //'history' public Keyword getHistoryHistoryKeyword_5_1_0() { return cHistoryHistoryKeyword_5_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_6() { return cAnnotationsAssignment_6; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_6_0() { return cAnnotationsPlatformAnnotationParserRuleCall_6_0; } //'{' public Keyword getLeftCurlyBracketKeyword_7() { return cLeftCurlyBracketKeyword_7; } //properties+=Property* public Assignment getPropertiesAssignment_8() { return cPropertiesAssignment_8; } //Property public RuleCall getPropertiesPropertyParserRuleCall_8_0() { return cPropertiesPropertyParserRuleCall_8_0; } //('on' 'entry' entry=Action)? public Group getGroup_9() { return cGroup_9; } //'on' public Keyword getOnKeyword_9_0() { return cOnKeyword_9_0; } //'entry' public Keyword getEntryKeyword_9_1() { return cEntryKeyword_9_1; } //entry=Action public Assignment getEntryAssignment_9_2() { return cEntryAssignment_9_2; } //Action public RuleCall getEntryActionParserRuleCall_9_2_0() { return cEntryActionParserRuleCall_9_2_0; } //('on' 'exit' exit=Action)? public Group getGroup_10() { return cGroup_10; } //'on' public Keyword getOnKeyword_10_0() { return cOnKeyword_10_0; } //'exit' public Keyword getExitKeyword_10_1() { return cExitKeyword_10_1; } //exit=Action public Assignment getExitAssignment_10_2() { return cExitAssignment_10_2; } //Action public RuleCall getExitActionParserRuleCall_10_2_0() { return cExitActionParserRuleCall_10_2_0; } //(substate+=State | internal+=InternalTransition | outgoing+=Transition)* public Alternatives getAlternatives_11() { return cAlternatives_11; } //substate+=State public Assignment getSubstateAssignment_11_0() { return cSubstateAssignment_11_0; } //State public RuleCall getSubstateStateParserRuleCall_11_0_0() { return cSubstateStateParserRuleCall_11_0_0; } //internal+=InternalTransition public Assignment getInternalAssignment_11_1() { return cInternalAssignment_11_1; } //InternalTransition public RuleCall getInternalInternalTransitionParserRuleCall_11_1_0() { return cInternalInternalTransitionParserRuleCall_11_1_0; } //outgoing+=Transition public Assignment getOutgoingAssignment_11_2() { return cOutgoingAssignment_11_2; } //Transition public RuleCall getOutgoingTransitionParserRuleCall_11_2_0() { return cOutgoingTransitionParserRuleCall_11_2_0; } //region+=RegionOrSession* public Assignment getRegionAssignment_12() { return cRegionAssignment_12; } //RegionOrSession public RuleCall getRegionRegionOrSessionParserRuleCall_12_0() { return cRegionRegionOrSessionParserRuleCall_12_0; } //'}' public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; } } public class SessionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Session"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSessionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Keyword cLessThanSignKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); private final Assignment cMaxInstancesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cMaxInstancesINTTerminalRuleCall_2_1_0 = (RuleCall)cMaxInstancesAssignment_2_1.eContents().get(0); private final Keyword cGreaterThanSignKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); private final Keyword cInitKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cInitialAssignment_4 = (Assignment)cGroup.eContents().get(4); private final CrossReference cInitialStateCrossReference_4_0 = (CrossReference)cInitialAssignment_4.eContents().get(0); private final RuleCall cInitialStateIDTerminalRuleCall_4_0_1 = (RuleCall)cInitialStateCrossReference_4_0.eContents().get(1); private final Assignment cAnnotationsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_5_0 = (RuleCall)cAnnotationsAssignment_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Assignment cPropertiesAssignment_7 = (Assignment)cGroup.eContents().get(7); private final RuleCall cPropertiesPropertyParserRuleCall_7_0 = (RuleCall)cPropertiesAssignment_7.eContents().get(0); private final Group cGroup_8 = (Group)cGroup.eContents().get(8); private final Keyword cOnKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); private final Keyword cEntryKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1); private final Assignment cEntryAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2); private final RuleCall cEntryActionParserRuleCall_8_2_0 = (RuleCall)cEntryAssignment_8_2.eContents().get(0); private final Group cGroup_9 = (Group)cGroup.eContents().get(9); private final Keyword cOnKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); private final Keyword cExitKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1); private final Assignment cExitAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2); private final RuleCall cExitActionParserRuleCall_9_2_0 = (RuleCall)cExitAssignment_9_2.eContents().get(0); private final Alternatives cAlternatives_10 = (Alternatives)cGroup.eContents().get(10); private final Assignment cSubstateAssignment_10_0 = (Assignment)cAlternatives_10.eContents().get(0); private final RuleCall cSubstateStateParserRuleCall_10_0_0 = (RuleCall)cSubstateAssignment_10_0.eContents().get(0); private final Assignment cInternalAssignment_10_1 = (Assignment)cAlternatives_10.eContents().get(1); private final RuleCall cInternalInternalTransitionParserRuleCall_10_1_0 = (RuleCall)cInternalAssignment_10_1.eContents().get(0); private final Assignment cRegionAssignment_11 = (Assignment)cGroup.eContents().get(11); private final RuleCall cRegionRegionOrSessionParserRuleCall_11_0 = (RuleCall)cRegionAssignment_11.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12); //Session: // 'session' name=ID ('<' maxInstances=INT '>')? 'init' initial=[State] annotations+=PlatformAnnotation* '{' // properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | // internal+=InternalTransition)* // region+=RegionOrSession* // '}'; @Override public ParserRule getRule() { return rule; } //'session' name=ID ('<' maxInstances=INT '>')? 'init' initial=[State] annotations+=PlatformAnnotation* '{' //properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | //internal+=InternalTransition)* region+=RegionOrSession* '}' public Group getGroup() { return cGroup; } //'session' public Keyword getSessionKeyword_0() { return cSessionKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //('<' maxInstances=INT '>')? public Group getGroup_2() { return cGroup_2; } //'<' public Keyword getLessThanSignKeyword_2_0() { return cLessThanSignKeyword_2_0; } //maxInstances=INT public Assignment getMaxInstancesAssignment_2_1() { return cMaxInstancesAssignment_2_1; } //INT public RuleCall getMaxInstancesINTTerminalRuleCall_2_1_0() { return cMaxInstancesINTTerminalRuleCall_2_1_0; } //'>' public Keyword getGreaterThanSignKeyword_2_2() { return cGreaterThanSignKeyword_2_2; } //'init' public Keyword getInitKeyword_3() { return cInitKeyword_3; } //initial=[State] public Assignment getInitialAssignment_4() { return cInitialAssignment_4; } //[State] public CrossReference getInitialStateCrossReference_4_0() { return cInitialStateCrossReference_4_0; } //ID public RuleCall getInitialStateIDTerminalRuleCall_4_0_1() { return cInitialStateIDTerminalRuleCall_4_0_1; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_5() { return cAnnotationsAssignment_5; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_5_0() { return cAnnotationsPlatformAnnotationParserRuleCall_5_0; } //'{' public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } //properties+=Property* public Assignment getPropertiesAssignment_7() { return cPropertiesAssignment_7; } //Property public RuleCall getPropertiesPropertyParserRuleCall_7_0() { return cPropertiesPropertyParserRuleCall_7_0; } //('on' 'entry' entry=Action)? public Group getGroup_8() { return cGroup_8; } //'on' public Keyword getOnKeyword_8_0() { return cOnKeyword_8_0; } //'entry' public Keyword getEntryKeyword_8_1() { return cEntryKeyword_8_1; } //entry=Action public Assignment getEntryAssignment_8_2() { return cEntryAssignment_8_2; } //Action public RuleCall getEntryActionParserRuleCall_8_2_0() { return cEntryActionParserRuleCall_8_2_0; } //('on' 'exit' exit=Action)? public Group getGroup_9() { return cGroup_9; } //'on' public Keyword getOnKeyword_9_0() { return cOnKeyword_9_0; } //'exit' public Keyword getExitKeyword_9_1() { return cExitKeyword_9_1; } //exit=Action public Assignment getExitAssignment_9_2() { return cExitAssignment_9_2; } //Action public RuleCall getExitActionParserRuleCall_9_2_0() { return cExitActionParserRuleCall_9_2_0; } //(substate+=State | internal+=InternalTransition)* public Alternatives getAlternatives_10() { return cAlternatives_10; } //substate+=State public Assignment getSubstateAssignment_10_0() { return cSubstateAssignment_10_0; } //State public RuleCall getSubstateStateParserRuleCall_10_0_0() { return cSubstateStateParserRuleCall_10_0_0; } //internal+=InternalTransition public Assignment getInternalAssignment_10_1() { return cInternalAssignment_10_1; } //InternalTransition public RuleCall getInternalInternalTransitionParserRuleCall_10_1_0() { return cInternalInternalTransitionParserRuleCall_10_1_0; } //region+=RegionOrSession* public Assignment getRegionAssignment_11() { return cRegionAssignment_11; } //RegionOrSession public RuleCall getRegionRegionOrSessionParserRuleCall_11_0() { return cRegionRegionOrSessionParserRuleCall_11_0; } //'}' public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; } } public class ParallelRegionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ParallelRegion"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cRegionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cInitKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cInitialAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cInitialStateCrossReference_3_0 = (CrossReference)cInitialAssignment_3.eContents().get(0); private final RuleCall cInitialStateIDTerminalRuleCall_3_0_1 = (RuleCall)cInitialStateCrossReference_3_0.eContents().get(1); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cKeepsKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cHistoryAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final Keyword cHistoryHistoryKeyword_4_1_0 = (Keyword)cHistoryAssignment_4_1.eContents().get(0); private final Assignment cAnnotationsAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_5_0 = (RuleCall)cAnnotationsAssignment_5.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); private final Assignment cSubstateAssignment_7 = (Assignment)cGroup.eContents().get(7); private final RuleCall cSubstateStateParserRuleCall_7_0 = (RuleCall)cSubstateAssignment_7.eContents().get(0); private final Assignment cRegionAssignment_8 = (Assignment)cGroup.eContents().get(8); private final RuleCall cRegionRegionOrSessionParserRuleCall_8_0 = (RuleCall)cRegionAssignment_8.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9); //ParallelRegion: // 'region' name=ID? 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' // substate+=State* // region+=RegionOrSession* // '}'; @Override public ParserRule getRule() { return rule; } //'region' name=ID? 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' //substate+=State* region+=RegionOrSession* '}' public Group getGroup() { return cGroup; } //'region' public Keyword getRegionKeyword_0() { return cRegionKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //'init' public Keyword getInitKeyword_2() { return cInitKeyword_2; } //initial=[State] public Assignment getInitialAssignment_3() { return cInitialAssignment_3; } //[State] public CrossReference getInitialStateCrossReference_3_0() { return cInitialStateCrossReference_3_0; } //ID public RuleCall getInitialStateIDTerminalRuleCall_3_0_1() { return cInitialStateIDTerminalRuleCall_3_0_1; } //('keeps' history?='history')? public Group getGroup_4() { return cGroup_4; } //'keeps' public Keyword getKeepsKeyword_4_0() { return cKeepsKeyword_4_0; } //history?='history' public Assignment getHistoryAssignment_4_1() { return cHistoryAssignment_4_1; } //'history' public Keyword getHistoryHistoryKeyword_4_1_0() { return cHistoryHistoryKeyword_4_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_5() { return cAnnotationsAssignment_5; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_5_0() { return cAnnotationsPlatformAnnotationParserRuleCall_5_0; } //'{' public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } //substate+=State* public Assignment getSubstateAssignment_7() { return cSubstateAssignment_7; } //State public RuleCall getSubstateStateParserRuleCall_7_0() { return cSubstateStateParserRuleCall_7_0; } //region+=RegionOrSession* public Assignment getRegionAssignment_8() { return cRegionAssignment_8; } //RegionOrSession public RuleCall getRegionRegionOrSessionParserRuleCall_8_0() { return cRegionRegionOrSessionParserRuleCall_8_0; } //'}' public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; } } public class StateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.State"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cStateMachineParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cFinalStateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cCompositeStateParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); private final Keyword cStateKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cNameAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_3_1_0 = (RuleCall)cNameAssignment_3_1.eContents().get(0); private final Assignment cAnnotationsAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_3_2_0 = (RuleCall)cAnnotationsAssignment_3_2.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3); private final Assignment cPropertiesAssignment_3_4 = (Assignment)cGroup_3.eContents().get(4); private final RuleCall cPropertiesPropertyParserRuleCall_3_4_0 = (RuleCall)cPropertiesAssignment_3_4.eContents().get(0); private final Group cGroup_3_5 = (Group)cGroup_3.eContents().get(5); private final Keyword cOnKeyword_3_5_0 = (Keyword)cGroup_3_5.eContents().get(0); private final Keyword cEntryKeyword_3_5_1 = (Keyword)cGroup_3_5.eContents().get(1); private final Assignment cEntryAssignment_3_5_2 = (Assignment)cGroup_3_5.eContents().get(2); private final RuleCall cEntryActionParserRuleCall_3_5_2_0 = (RuleCall)cEntryAssignment_3_5_2.eContents().get(0); private final Group cGroup_3_6 = (Group)cGroup_3.eContents().get(6); private final Keyword cOnKeyword_3_6_0 = (Keyword)cGroup_3_6.eContents().get(0); private final Keyword cExitKeyword_3_6_1 = (Keyword)cGroup_3_6.eContents().get(1); private final Assignment cExitAssignment_3_6_2 = (Assignment)cGroup_3_6.eContents().get(2); private final RuleCall cExitActionParserRuleCall_3_6_2_0 = (RuleCall)cExitAssignment_3_6_2.eContents().get(0); private final Alternatives cAlternatives_3_7 = (Alternatives)cGroup_3.eContents().get(7); private final Assignment cInternalAssignment_3_7_0 = (Assignment)cAlternatives_3_7.eContents().get(0); private final RuleCall cInternalInternalTransitionParserRuleCall_3_7_0_0 = (RuleCall)cInternalAssignment_3_7_0.eContents().get(0); private final Assignment cOutgoingAssignment_3_7_1 = (Assignment)cAlternatives_3_7.eContents().get(1); private final RuleCall cOutgoingTransitionParserRuleCall_3_7_1_0 = (RuleCall)cOutgoingAssignment_3_7_1.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_3_8 = (Keyword)cGroup_3.eContents().get(8); //State: // StateMachine | FinalState | CompositeState | // 'state' name=ID annotations+=PlatformAnnotation* '{' // properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (internal+=InternalTransition | // outgoing+=Transition)* // '}'; @Override public ParserRule getRule() { return rule; } //StateMachine | FinalState | CompositeState | 'state' name=ID annotations+=PlatformAnnotation* '{' properties+=Property* //('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (internal+=InternalTransition | outgoing+=Transition)* '}' public Alternatives getAlternatives() { return cAlternatives; } //StateMachine public RuleCall getStateMachineParserRuleCall_0() { return cStateMachineParserRuleCall_0; } //FinalState public RuleCall getFinalStateParserRuleCall_1() { return cFinalStateParserRuleCall_1; } //CompositeState public RuleCall getCompositeStateParserRuleCall_2() { return cCompositeStateParserRuleCall_2; } //'state' name=ID annotations+=PlatformAnnotation* '{' properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' //exit=Action)? (internal+=InternalTransition | outgoing+=Transition)* '}' public Group getGroup_3() { return cGroup_3; } //'state' public Keyword getStateKeyword_3_0() { return cStateKeyword_3_0; } //name=ID public Assignment getNameAssignment_3_1() { return cNameAssignment_3_1; } //ID public RuleCall getNameIDTerminalRuleCall_3_1_0() { return cNameIDTerminalRuleCall_3_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_3_2() { return cAnnotationsAssignment_3_2; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_3_2_0() { return cAnnotationsPlatformAnnotationParserRuleCall_3_2_0; } //'{' public Keyword getLeftCurlyBracketKeyword_3_3() { return cLeftCurlyBracketKeyword_3_3; } //properties+=Property* public Assignment getPropertiesAssignment_3_4() { return cPropertiesAssignment_3_4; } //Property public RuleCall getPropertiesPropertyParserRuleCall_3_4_0() { return cPropertiesPropertyParserRuleCall_3_4_0; } //('on' 'entry' entry=Action)? public Group getGroup_3_5() { return cGroup_3_5; } //'on' public Keyword getOnKeyword_3_5_0() { return cOnKeyword_3_5_0; } //'entry' public Keyword getEntryKeyword_3_5_1() { return cEntryKeyword_3_5_1; } //entry=Action public Assignment getEntryAssignment_3_5_2() { return cEntryAssignment_3_5_2; } //Action public RuleCall getEntryActionParserRuleCall_3_5_2_0() { return cEntryActionParserRuleCall_3_5_2_0; } //('on' 'exit' exit=Action)? public Group getGroup_3_6() { return cGroup_3_6; } //'on' public Keyword getOnKeyword_3_6_0() { return cOnKeyword_3_6_0; } //'exit' public Keyword getExitKeyword_3_6_1() { return cExitKeyword_3_6_1; } //exit=Action public Assignment getExitAssignment_3_6_2() { return cExitAssignment_3_6_2; } //Action public RuleCall getExitActionParserRuleCall_3_6_2_0() { return cExitActionParserRuleCall_3_6_2_0; } //(internal+=InternalTransition | outgoing+=Transition)* public Alternatives getAlternatives_3_7() { return cAlternatives_3_7; } //internal+=InternalTransition public Assignment getInternalAssignment_3_7_0() { return cInternalAssignment_3_7_0; } //InternalTransition public RuleCall getInternalInternalTransitionParserRuleCall_3_7_0_0() { return cInternalInternalTransitionParserRuleCall_3_7_0_0; } //outgoing+=Transition public Assignment getOutgoingAssignment_3_7_1() { return cOutgoingAssignment_3_7_1; } //Transition public RuleCall getOutgoingTransitionParserRuleCall_3_7_1_0() { return cOutgoingTransitionParserRuleCall_3_7_1_0; } //'}' public Keyword getRightCurlyBracketKeyword_3_8() { return cRightCurlyBracketKeyword_3_8; } } public class HandlerElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Handler"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cTransitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cInternalTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //Handler: // Transition | InternalTransition; @Override public ParserRule getRule() { return rule; } //Transition | InternalTransition public Alternatives getAlternatives() { return cAlternatives; } //Transition public RuleCall getTransitionParserRuleCall_0() { return cTransitionParserRuleCall_0; } //InternalTransition public RuleCall getInternalTransitionParserRuleCall_1() { return cInternalTransitionParserRuleCall_1; } } public class TransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Transition"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cTargetAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cTargetStateCrossReference_3_0 = (CrossReference)cTargetAssignment_3.eContents().get(0); private final RuleCall cTargetStateIDTerminalRuleCall_3_0_1 = (RuleCall)cTargetStateCrossReference_3_0.eContents().get(1); private final Assignment cAnnotationsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_4_0 = (RuleCall)cAnnotationsAssignment_4.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cEventKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cEventAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cEventEventParserRuleCall_5_1_0 = (RuleCall)cEventAssignment_5_1.eContents().get(0); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); private final Keyword cGuardKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Assignment cGuardAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); private final RuleCall cGuardExpressionParserRuleCall_6_1_0 = (RuleCall)cGuardAssignment_6_1.eContents().get(0); private final Group cGroup_7 = (Group)cGroup.eContents().get(7); private final Keyword cActionKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); private final Assignment cActionAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1); private final RuleCall cActionActionParserRuleCall_7_1_0 = (RuleCall)cActionAssignment_7_1.eContents().get(0); //Transition: // 'transition' name=ID? '->' target=[State] annotations+=PlatformAnnotation* ('event' event+=Event)* ('guard' // guard=Expression)? ('action' action=Action)?; @Override public ParserRule getRule() { return rule; } //'transition' name=ID? '->' target=[State] annotations+=PlatformAnnotation* ('event' event+=Event)* ('guard' //guard=Expression)? ('action' action=Action)? public Group getGroup() { return cGroup; } //'transition' public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //'->' public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; } //target=[State] public Assignment getTargetAssignment_3() { return cTargetAssignment_3; } //[State] public CrossReference getTargetStateCrossReference_3_0() { return cTargetStateCrossReference_3_0; } //ID public RuleCall getTargetStateIDTerminalRuleCall_3_0_1() { return cTargetStateIDTerminalRuleCall_3_0_1; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_4() { return cAnnotationsAssignment_4; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_4_0() { return cAnnotationsPlatformAnnotationParserRuleCall_4_0; } //('event' event+=Event)* public Group getGroup_5() { return cGroup_5; } //'event' public Keyword getEventKeyword_5_0() { return cEventKeyword_5_0; } //event+=Event public Assignment getEventAssignment_5_1() { return cEventAssignment_5_1; } //Event public RuleCall getEventEventParserRuleCall_5_1_0() { return cEventEventParserRuleCall_5_1_0; } //('guard' guard=Expression)? public Group getGroup_6() { return cGroup_6; } //'guard' public Keyword getGuardKeyword_6_0() { return cGuardKeyword_6_0; } //guard=Expression public Assignment getGuardAssignment_6_1() { return cGuardAssignment_6_1; } //Expression public RuleCall getGuardExpressionParserRuleCall_6_1_0() { return cGuardExpressionParserRuleCall_6_1_0; } //('action' action=Action)? public Group getGroup_7() { return cGroup_7; } //'action' public Keyword getActionKeyword_7_0() { return cActionKeyword_7_0; } //action=Action public Assignment getActionAssignment_7_1() { return cActionAssignment_7_1; } //Action public RuleCall getActionActionParserRuleCall_7_1_0() { return cActionActionParserRuleCall_7_1_0; } } public class InternalTransitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.InternalTransition"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cInternalTransitionAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cInternalKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Assignment cAnnotationsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_3_0 = (RuleCall)cAnnotationsAssignment_3.eContents().get(0); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cEventKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cEventAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final RuleCall cEventEventParserRuleCall_4_1_0 = (RuleCall)cEventAssignment_4_1.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cGuardKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cGuardAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cGuardExpressionParserRuleCall_5_1_0 = (RuleCall)cGuardAssignment_5_1.eContents().get(0); private final Group cGroup_6 = (Group)cGroup.eContents().get(6); private final Keyword cActionKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); private final Assignment cActionAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); private final RuleCall cActionActionParserRuleCall_6_1_0 = (RuleCall)cActionAssignment_6_1.eContents().get(0); //InternalTransition: // {InternalTransition} // 'internal' name=ID? // annotations+=PlatformAnnotation* ('event' event+=Event)* ('guard' guard=Expression)? ('action' action=Action)?; @Override public ParserRule getRule() { return rule; } //{InternalTransition} 'internal' name=ID? annotations+=PlatformAnnotation* ('event' event+=Event)* ('guard' //guard=Expression)? ('action' action=Action)? public Group getGroup() { return cGroup; } //{InternalTransition} public Action getInternalTransitionAction_0() { return cInternalTransitionAction_0; } //'internal' public Keyword getInternalKeyword_1() { return cInternalKeyword_1; } //name=ID? public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_3() { return cAnnotationsAssignment_3; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_3_0() { return cAnnotationsPlatformAnnotationParserRuleCall_3_0; } //('event' event+=Event)* public Group getGroup_4() { return cGroup_4; } //'event' public Keyword getEventKeyword_4_0() { return cEventKeyword_4_0; } //event+=Event public Assignment getEventAssignment_4_1() { return cEventAssignment_4_1; } //Event public RuleCall getEventEventParserRuleCall_4_1_0() { return cEventEventParserRuleCall_4_1_0; } //('guard' guard=Expression)? public Group getGroup_5() { return cGroup_5; } //'guard' public Keyword getGuardKeyword_5_0() { return cGuardKeyword_5_0; } //guard=Expression public Assignment getGuardAssignment_5_1() { return cGuardAssignment_5_1; } //Expression public RuleCall getGuardExpressionParserRuleCall_5_1_0() { return cGuardExpressionParserRuleCall_5_1_0; } //('action' action=Action)? public Group getGroup_6() { return cGroup_6; } //'action' public Keyword getActionKeyword_6_0() { return cActionKeyword_6_0; } //action=Action public Assignment getActionAssignment_6_1() { return cActionAssignment_6_1; } //Action public RuleCall getActionActionParserRuleCall_6_1_0() { return cActionActionParserRuleCall_6_1_0; } } public class EventElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Event"); private final RuleCall cReceiveMessageParserRuleCall = (RuleCall)rule.eContents().get(1); //Event: // ReceiveMessage; @Override public ParserRule getRule() { return rule; } //ReceiveMessage public RuleCall getReceiveMessageParserRuleCall() { return cReceiveMessageParserRuleCall; } } public class ReceiveMessageElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ReceiveMessage"); private final Group cGroup = (Group)rule.eContents().get(1); private final Group cGroup_0 = (Group)cGroup.eContents().get(0); private final Assignment cNameAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); private final RuleCall cNameIDTerminalRuleCall_0_0_0 = (RuleCall)cNameAssignment_0_0.eContents().get(0); private final Keyword cColonKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); private final Assignment cPortAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cPortPortCrossReference_1_0 = (CrossReference)cPortAssignment_1.eContents().get(0); private final RuleCall cPortPortIDTerminalRuleCall_1_0_1 = (RuleCall)cPortPortCrossReference_1_0.eContents().get(1); private final Keyword cQuestionMarkKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cMessageAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cMessageMessageCrossReference_3_0 = (CrossReference)cMessageAssignment_3.eContents().get(0); private final RuleCall cMessageMessageIDTerminalRuleCall_3_0_1 = (RuleCall)cMessageMessageCrossReference_3_0.eContents().get(1); //ReceiveMessage: // (name=ID ":")? port=[Port] '?' message=[Message]; @Override public ParserRule getRule() { return rule; } //(name=ID ":")? port=[Port] '?' message=[Message] public Group getGroup() { return cGroup; } //(name=ID ":")? public Group getGroup_0() { return cGroup_0; } //name=ID public Assignment getNameAssignment_0_0() { return cNameAssignment_0_0; } //ID public RuleCall getNameIDTerminalRuleCall_0_0_0() { return cNameIDTerminalRuleCall_0_0_0; } //":" public Keyword getColonKeyword_0_1() { return cColonKeyword_0_1; } //port=[Port] public Assignment getPortAssignment_1() { return cPortAssignment_1; } //[Port] public CrossReference getPortPortCrossReference_1_0() { return cPortPortCrossReference_1_0; } //ID public RuleCall getPortPortIDTerminalRuleCall_1_0_1() { return cPortPortIDTerminalRuleCall_1_0_1; } //'?' public Keyword getQuestionMarkKeyword_2() { return cQuestionMarkKeyword_2; } //message=[Message] public Assignment getMessageAssignment_3() { return cMessageAssignment_3; } //[Message] public CrossReference getMessageMessageCrossReference_3_0() { return cMessageMessageCrossReference_3_0; } //ID public RuleCall getMessageMessageIDTerminalRuleCall_3_0_1() { return cMessageMessageIDTerminalRuleCall_3_0_1; } } public class ActionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Action"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cActionBlockParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cExternStatementParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cSendActionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cVariableAssignmentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cIncrementParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); private final RuleCall cDecrementParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); private final RuleCall cLoopActionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); private final RuleCall cConditionalActionParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); private final RuleCall cReturnActionParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); private final RuleCall cPrintActionParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9); private final RuleCall cErrorActionParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10); private final RuleCall cStartSessionParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11); private final RuleCall cFunctionCallStatementParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12); private final RuleCall cLocalVariableParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13); /// ***************************************************************************** // * ACTIONS * // ***************************************************************************** / Action: // ActionBlock | ExternStatement | SendAction | VariableAssignment | Increment | Decrement | LoopAction | // ConditionalAction | ReturnAction | PrintAction | ErrorAction | StartSession | FunctionCallStatement | LocalVariable; @Override public ParserRule getRule() { return rule; } //ActionBlock | ExternStatement | SendAction | VariableAssignment | Increment | Decrement | LoopAction | ConditionalAction //| ReturnAction | PrintAction | ErrorAction | StartSession | FunctionCallStatement | LocalVariable public Alternatives getAlternatives() { return cAlternatives; } //ActionBlock public RuleCall getActionBlockParserRuleCall_0() { return cActionBlockParserRuleCall_0; } //ExternStatement public RuleCall getExternStatementParserRuleCall_1() { return cExternStatementParserRuleCall_1; } //SendAction public RuleCall getSendActionParserRuleCall_2() { return cSendActionParserRuleCall_2; } //VariableAssignment public RuleCall getVariableAssignmentParserRuleCall_3() { return cVariableAssignmentParserRuleCall_3; } //Increment public RuleCall getIncrementParserRuleCall_4() { return cIncrementParserRuleCall_4; } //Decrement public RuleCall getDecrementParserRuleCall_5() { return cDecrementParserRuleCall_5; } //LoopAction public RuleCall getLoopActionParserRuleCall_6() { return cLoopActionParserRuleCall_6; } //ConditionalAction public RuleCall getConditionalActionParserRuleCall_7() { return cConditionalActionParserRuleCall_7; } //ReturnAction public RuleCall getReturnActionParserRuleCall_8() { return cReturnActionParserRuleCall_8; } //PrintAction public RuleCall getPrintActionParserRuleCall_9() { return cPrintActionParserRuleCall_9; } //ErrorAction public RuleCall getErrorActionParserRuleCall_10() { return cErrorActionParserRuleCall_10; } //StartSession public RuleCall getStartSessionParserRuleCall_11() { return cStartSessionParserRuleCall_11; } //FunctionCallStatement public RuleCall getFunctionCallStatementParserRuleCall_12() { return cFunctionCallStatementParserRuleCall_12; } //LocalVariable public RuleCall getLocalVariableParserRuleCall_13() { return cLocalVariableParserRuleCall_13; } } public class VariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Variable"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cLocalVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cPropertyParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cParameterParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //Variable: // LocalVariable | Property | Parameter; @Override public ParserRule getRule() { return rule; } //LocalVariable | Property | Parameter public Alternatives getAlternatives() { return cAlternatives; } //LocalVariable public RuleCall getLocalVariableParserRuleCall_0() { return cLocalVariableParserRuleCall_0; } //Property public RuleCall getPropertyParserRuleCall_1() { return cPropertyParserRuleCall_1; } //Parameter public RuleCall getParameterParserRuleCall_2() { return cParameterParserRuleCall_2; } } public class ActionBlockElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ActionBlock"); private final Group cGroup = (Group)rule.eContents().get(1); private final Action cActionBlockAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cDoKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cActionsAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cActionsActionParserRuleCall_2_0 = (RuleCall)cActionsAssignment_2.eContents().get(0); private final Keyword cEndKeyword_3 = (Keyword)cGroup.eContents().get(3); //ActionBlock: // {ActionBlock} // 'do' actions+=Action* 'end'; @Override public ParserRule getRule() { return rule; } //{ActionBlock} 'do' actions+=Action* 'end' public Group getGroup() { return cGroup; } //{ActionBlock} public Action getActionBlockAction_0() { return cActionBlockAction_0; } //'do' public Keyword getDoKeyword_1() { return cDoKeyword_1; } //actions+=Action* public Assignment getActionsAssignment_2() { return cActionsAssignment_2; } //Action public RuleCall getActionsActionParserRuleCall_2_0() { return cActionsActionParserRuleCall_2_0; } //'end' public Keyword getEndKeyword_3() { return cEndKeyword_3; } } public class ExternStatementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ExternStatement"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cStatementAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cStatementSTRING_EXTTerminalRuleCall_0_0 = (RuleCall)cStatementAssignment_0.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cAmpersandKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Assignment cSegmentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cSegmentsExpressionParserRuleCall_1_1_0 = (RuleCall)cSegmentsAssignment_1_1.eContents().get(0); //ExternStatement: // statement=STRING_EXT ('&' segments+=Expression)*; @Override public ParserRule getRule() { return rule; } //statement=STRING_EXT ('&' segments+=Expression)* public Group getGroup() { return cGroup; } //statement=STRING_EXT public Assignment getStatementAssignment_0() { return cStatementAssignment_0; } //STRING_EXT public RuleCall getStatementSTRING_EXTTerminalRuleCall_0_0() { return cStatementSTRING_EXTTerminalRuleCall_0_0; } //('&' segments+=Expression)* public Group getGroup_1() { return cGroup_1; } //'&' public Keyword getAmpersandKeyword_1_0() { return cAmpersandKeyword_1_0; } //segments+=Expression public Assignment getSegmentsAssignment_1_1() { return cSegmentsAssignment_1_1; } //Expression public RuleCall getSegmentsExpressionParserRuleCall_1_1_0() { return cSegmentsExpressionParserRuleCall_1_1_0; } } public class LocalVariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.LocalVariable"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cChangeableAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Keyword cChangeableReadonlyKeyword_0_0 = (Keyword)cChangeableAssignment_0.eContents().get(0); private final Keyword cVarKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cTypeRefAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cTypeRefTypeRefParserRuleCall_4_0 = (RuleCall)cTypeRefAssignment_4.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cEqualsSignKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cInitAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cInitExpressionParserRuleCall_5_1_0 = (RuleCall)cInitAssignment_5_1.eContents().get(0); private final Assignment cAnnotationsAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_6_0 = (RuleCall)cAnnotationsAssignment_6.eContents().get(0); //LocalVariable: // ^changeable?='readonly'? 'var' name=ID ':' typeRef=TypeRef ('=' init=Expression)? annotations+=PlatformAnnotation* // //('isArray' isArray=EBoolean)? // //('cardinality' cardinality=Expression)? //; @Override public ParserRule getRule() { return rule; } //^changeable?='readonly'? 'var' name=ID ':' typeRef=TypeRef ('=' init=Expression)? annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //^changeable?='readonly'? public Assignment getChangeableAssignment_0() { return cChangeableAssignment_0; } //'readonly' public Keyword getChangeableReadonlyKeyword_0_0() { return cChangeableReadonlyKeyword_0_0; } //'var' public Keyword getVarKeyword_1() { return cVarKeyword_1; } //name=ID public Assignment getNameAssignment_2() { return cNameAssignment_2; } //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } //':' public Keyword getColonKeyword_3() { return cColonKeyword_3; } //typeRef=TypeRef public Assignment getTypeRefAssignment_4() { return cTypeRefAssignment_4; } //TypeRef public RuleCall getTypeRefTypeRefParserRuleCall_4_0() { return cTypeRefTypeRefParserRuleCall_4_0; } //('=' init=Expression)? public Group getGroup_5() { return cGroup_5; } //'=' public Keyword getEqualsSignKeyword_5_0() { return cEqualsSignKeyword_5_0; } //init=Expression public Assignment getInitAssignment_5_1() { return cInitAssignment_5_1; } //Expression public RuleCall getInitExpressionParserRuleCall_5_1_0() { return cInitExpressionParserRuleCall_5_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_6() { return cAnnotationsAssignment_6; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_6_0() { return cAnnotationsPlatformAnnotationParserRuleCall_6_0; } } public class SendActionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.SendAction"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cPortAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cPortPortCrossReference_0_0 = (CrossReference)cPortAssignment_0.eContents().get(0); private final RuleCall cPortPortIDTerminalRuleCall_0_0_1 = (RuleCall)cPortPortCrossReference_0_0.eContents().get(1); private final Keyword cExclamationMarkKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cMessageAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cMessageMessageCrossReference_2_0 = (CrossReference)cMessageAssignment_2.eContents().get(0); private final RuleCall cMessageMessageIDTerminalRuleCall_2_0_1 = (RuleCall)cMessageMessageCrossReference_2_0.eContents().get(1); private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Assignment cParametersAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0); private final RuleCall cParametersExpressionParserRuleCall_4_0_0 = (RuleCall)cParametersAssignment_4_0.eContents().get(0); private final Group cGroup_4_1 = (Group)cGroup_4.eContents().get(1); private final Keyword cCommaKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0); private final Assignment cParametersAssignment_4_1_1 = (Assignment)cGroup_4_1.eContents().get(1); private final RuleCall cParametersExpressionParserRuleCall_4_1_1_0 = (RuleCall)cParametersAssignment_4_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); //SendAction: // port=[Port] '!' message=[Message] '(' (parameters+=Expression ("," parameters+=Expression)*)? ')'; @Override public ParserRule getRule() { return rule; } //port=[Port] '!' message=[Message] '(' (parameters+=Expression ("," parameters+=Expression)*)? ')' public Group getGroup() { return cGroup; } //port=[Port] public Assignment getPortAssignment_0() { return cPortAssignment_0; } //[Port] public CrossReference getPortPortCrossReference_0_0() { return cPortPortCrossReference_0_0; } //ID public RuleCall getPortPortIDTerminalRuleCall_0_0_1() { return cPortPortIDTerminalRuleCall_0_0_1; } //'!' public Keyword getExclamationMarkKeyword_1() { return cExclamationMarkKeyword_1; } //message=[Message] public Assignment getMessageAssignment_2() { return cMessageAssignment_2; } //[Message] public CrossReference getMessageMessageCrossReference_2_0() { return cMessageMessageCrossReference_2_0; } //ID public RuleCall getMessageMessageIDTerminalRuleCall_2_0_1() { return cMessageMessageIDTerminalRuleCall_2_0_1; } //'(' public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; } //(parameters+=Expression ("," parameters+=Expression)*)? public Group getGroup_4() { return cGroup_4; } //parameters+=Expression public Assignment getParametersAssignment_4_0() { return cParametersAssignment_4_0; } //Expression public RuleCall getParametersExpressionParserRuleCall_4_0_0() { return cParametersExpressionParserRuleCall_4_0_0; } //("," parameters+=Expression)* public Group getGroup_4_1() { return cGroup_4_1; } //"," public Keyword getCommaKeyword_4_1_0() { return cCommaKeyword_4_1_0; } //parameters+=Expression public Assignment getParametersAssignment_4_1_1() { return cParametersAssignment_4_1_1; } //Expression public RuleCall getParametersExpressionParserRuleCall_4_1_1_0() { return cParametersExpressionParserRuleCall_4_1_1_0; } //')' public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } } public class VariableAssignmentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.VariableAssignment"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cPropertyAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cPropertyVariableCrossReference_0_0 = (CrossReference)cPropertyAssignment_0.eContents().get(0); private final RuleCall cPropertyVariableIDTerminalRuleCall_0_0_1 = (RuleCall)cPropertyVariableCrossReference_0_0.eContents().get(1); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Assignment cIndexAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cIndexExpressionParserRuleCall_1_1_0 = (RuleCall)cIndexAssignment_1_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cExpressionAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cExpressionExpressionParserRuleCall_3_0 = (RuleCall)cExpressionAssignment_3.eContents().get(0); //VariableAssignment: // property=[Variable] ('[' index+=Expression ']')* '=' expression=Expression; @Override public ParserRule getRule() { return rule; } //property=[Variable] ('[' index+=Expression ']')* '=' expression=Expression public Group getGroup() { return cGroup; } //property=[Variable] public Assignment getPropertyAssignment_0() { return cPropertyAssignment_0; } //[Variable] public CrossReference getPropertyVariableCrossReference_0_0() { return cPropertyVariableCrossReference_0_0; } //ID public RuleCall getPropertyVariableIDTerminalRuleCall_0_0_1() { return cPropertyVariableIDTerminalRuleCall_0_0_1; } //('[' index+=Expression ']')* public Group getGroup_1() { return cGroup_1; } //'[' public Keyword getLeftSquareBracketKeyword_1_0() { return cLeftSquareBracketKeyword_1_0; } //index+=Expression public Assignment getIndexAssignment_1_1() { return cIndexAssignment_1_1; } //Expression public RuleCall getIndexExpressionParserRuleCall_1_1_0() { return cIndexExpressionParserRuleCall_1_1_0; } //']' public Keyword getRightSquareBracketKeyword_1_2() { return cRightSquareBracketKeyword_1_2; } //'=' public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } //expression=Expression public Assignment getExpressionAssignment_3() { return cExpressionAssignment_3; } //Expression public RuleCall getExpressionExpressionParserRuleCall_3_0() { return cExpressionExpressionParserRuleCall_3_0; } } public class IncrementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Increment"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cVarAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cVarVariableCrossReference_0_0 = (CrossReference)cVarAssignment_0.eContents().get(0); private final RuleCall cVarVariableIDTerminalRuleCall_0_0_1 = (RuleCall)cVarVariableCrossReference_0_0.eContents().get(1); private final Keyword cPlusSignPlusSignKeyword_1 = (Keyword)cGroup.eContents().get(1); //Increment: // var=[Variable] '++'; @Override public ParserRule getRule() { return rule; } //var=[Variable] '++' public Group getGroup() { return cGroup; } //var=[Variable] public Assignment getVarAssignment_0() { return cVarAssignment_0; } //[Variable] public CrossReference getVarVariableCrossReference_0_0() { return cVarVariableCrossReference_0_0; } //ID public RuleCall getVarVariableIDTerminalRuleCall_0_0_1() { return cVarVariableIDTerminalRuleCall_0_0_1; } //'++' public Keyword getPlusSignPlusSignKeyword_1() { return cPlusSignPlusSignKeyword_1; } } public class DecrementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Decrement"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cVarAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cVarVariableCrossReference_0_0 = (CrossReference)cVarAssignment_0.eContents().get(0); private final RuleCall cVarVariableIDTerminalRuleCall_0_0_1 = (RuleCall)cVarVariableCrossReference_0_0.eContents().get(1); private final Keyword cHyphenMinusHyphenMinusKeyword_1 = (Keyword)cGroup.eContents().get(1); //Decrement: // var=[Variable] '--'; @Override public ParserRule getRule() { return rule; } //var=[Variable] '--' public Group getGroup() { return cGroup; } //var=[Variable] public Assignment getVarAssignment_0() { return cVarAssignment_0; } //[Variable] public CrossReference getVarVariableCrossReference_0_0() { return cVarVariableCrossReference_0_0; } //ID public RuleCall getVarVariableIDTerminalRuleCall_0_0_1() { return cVarVariableIDTerminalRuleCall_0_0_1; } //'--' public Keyword getHyphenMinusHyphenMinusKeyword_1() { return cHyphenMinusHyphenMinusKeyword_1; } } public class LoopActionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.LoopAction"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cWhileKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cConditionAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cConditionExpressionParserRuleCall_2_0 = (RuleCall)cConditionAssignment_2.eContents().get(0); private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cActionAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cActionActionParserRuleCall_4_0 = (RuleCall)cActionAssignment_4.eContents().get(0); //LoopAction: // 'while' '(' condition=Expression ')' action=Action; @Override public ParserRule getRule() { return rule; } //'while' '(' condition=Expression ')' action=Action public Group getGroup() { return cGroup; } //'while' public Keyword getWhileKeyword_0() { return cWhileKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //condition=Expression public Assignment getConditionAssignment_2() { return cConditionAssignment_2; } //Expression public RuleCall getConditionExpressionParserRuleCall_2_0() { return cConditionExpressionParserRuleCall_2_0; } //')' public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } //action=Action public Assignment getActionAssignment_4() { return cActionAssignment_4; } //Action public RuleCall getActionActionParserRuleCall_4_0() { return cActionActionParserRuleCall_4_0; } } public class ConditionalActionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ConditionalAction"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cConditionAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cConditionExpressionParserRuleCall_2_0 = (RuleCall)cConditionAssignment_2.eContents().get(0); private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cActionAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cActionActionParserRuleCall_4_0 = (RuleCall)cActionAssignment_4.eContents().get(0); private final Group cGroup_5 = (Group)cGroup.eContents().get(5); private final Keyword cElseKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); private final Assignment cElseActionAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); private final RuleCall cElseActionActionParserRuleCall_5_1_0 = (RuleCall)cElseActionAssignment_5_1.eContents().get(0); //ConditionalAction: // 'if' '(' condition=Expression ')' action=Action ('else' elseAction=Action)?; @Override public ParserRule getRule() { return rule; } //'if' '(' condition=Expression ')' action=Action ('else' elseAction=Action)? public Group getGroup() { return cGroup; } //'if' public Keyword getIfKeyword_0() { return cIfKeyword_0; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //condition=Expression public Assignment getConditionAssignment_2() { return cConditionAssignment_2; } //Expression public RuleCall getConditionExpressionParserRuleCall_2_0() { return cConditionExpressionParserRuleCall_2_0; } //')' public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } //action=Action public Assignment getActionAssignment_4() { return cActionAssignment_4; } //Action public RuleCall getActionActionParserRuleCall_4_0() { return cActionActionParserRuleCall_4_0; } //('else' elseAction=Action)? public Group getGroup_5() { return cGroup_5; } //'else' public Keyword getElseKeyword_5_0() { return cElseKeyword_5_0; } //elseAction=Action public Assignment getElseActionAssignment_5_1() { return cElseActionAssignment_5_1; } //Action public RuleCall getElseActionActionParserRuleCall_5_1_0() { return cElseActionActionParserRuleCall_5_1_0; } } public class ReturnActionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ReturnAction"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cReturnKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cExpAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cExpExpressionParserRuleCall_1_0 = (RuleCall)cExpAssignment_1.eContents().get(0); //ReturnAction: // 'return' exp=Expression; @Override public ParserRule getRule() { return rule; } //'return' exp=Expression public Group getGroup() { return cGroup; } //'return' public Keyword getReturnKeyword_0() { return cReturnKeyword_0; } //exp=Expression public Assignment getExpAssignment_1() { return cExpAssignment_1; } //Expression public RuleCall getExpExpressionParserRuleCall_1_0() { return cExpExpressionParserRuleCall_1_0; } } public class PrintActionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.PrintAction"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cPrintKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cMsgExpressionParserRuleCall_1_0 = (RuleCall)cMsgAssignment_1.eContents().get(0); //PrintAction: // 'print' msg=Expression; @Override public ParserRule getRule() { return rule; } //'print' msg=Expression public Group getGroup() { return cGroup; } //'print' public Keyword getPrintKeyword_0() { return cPrintKeyword_0; } //msg=Expression public Assignment getMsgAssignment_1() { return cMsgAssignment_1; } //Expression public RuleCall getMsgExpressionParserRuleCall_1_0() { return cMsgExpressionParserRuleCall_1_0; } } public class ErrorActionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ErrorAction"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cMsgExpressionParserRuleCall_1_0 = (RuleCall)cMsgAssignment_1.eContents().get(0); //ErrorAction: // 'error' msg=Expression; @Override public ParserRule getRule() { return rule; } //'error' msg=Expression public Group getGroup() { return cGroup; } //'error' public Keyword getErrorKeyword_0() { return cErrorKeyword_0; } //msg=Expression public Assignment getMsgAssignment_1() { return cMsgAssignment_1; } //Expression public RuleCall getMsgExpressionParserRuleCall_1_0() { return cMsgExpressionParserRuleCall_1_0; } } public class StartSessionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.StartSession"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cForkKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cSessionAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cSessionSessionCrossReference_1_0 = (CrossReference)cSessionAssignment_1.eContents().get(0); private final RuleCall cSessionSessionIDTerminalRuleCall_1_0_1 = (RuleCall)cSessionSessionCrossReference_1_0.eContents().get(1); //StartSession: // 'fork' session=[Session]; @Override public ParserRule getRule() { return rule; } //'fork' session=[Session] public Group getGroup() { return cGroup; } //'fork' public Keyword getForkKeyword_0() { return cForkKeyword_0; } //session=[Session] public Assignment getSessionAssignment_1() { return cSessionAssignment_1; } //[Session] public CrossReference getSessionSessionCrossReference_1_0() { return cSessionSessionCrossReference_1_0; } //ID public RuleCall getSessionSessionIDTerminalRuleCall_1_0_1() { return cSessionSessionIDTerminalRuleCall_1_0_1; } } public class FunctionCallStatementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.FunctionCallStatement"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cFunctionAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cFunctionFunctionCrossReference_0_0 = (CrossReference)cFunctionAssignment_0.eContents().get(0); private final RuleCall cFunctionFunctionIDTerminalRuleCall_0_0_1 = (RuleCall)cFunctionFunctionCrossReference_0_0.eContents().get(1); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cParametersAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cParametersExpressionParserRuleCall_2_0_0 = (RuleCall)cParametersAssignment_2_0.eContents().get(0); private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); private final Assignment cParametersAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cParametersExpressionParserRuleCall_2_1_1_0 = (RuleCall)cParametersAssignment_2_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); //FunctionCallStatement: // function=[Function] '(' (parameters+=Expression ("," parameters+=Expression)*)? ')'; @Override public ParserRule getRule() { return rule; } //function=[Function] '(' (parameters+=Expression ("," parameters+=Expression)*)? ')' public Group getGroup() { return cGroup; } //function=[Function] public Assignment getFunctionAssignment_0() { return cFunctionAssignment_0; } //[Function] public CrossReference getFunctionFunctionCrossReference_0_0() { return cFunctionFunctionCrossReference_0_0; } //ID public RuleCall getFunctionFunctionIDTerminalRuleCall_0_0_1() { return cFunctionFunctionIDTerminalRuleCall_0_0_1; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //(parameters+=Expression ("," parameters+=Expression)*)? public Group getGroup_2() { return cGroup_2; } //parameters+=Expression public Assignment getParametersAssignment_2_0() { return cParametersAssignment_2_0; } //Expression public RuleCall getParametersExpressionParserRuleCall_2_0_0() { return cParametersExpressionParserRuleCall_2_0_0; } //("," parameters+=Expression)* public Group getGroup_2_1() { return cGroup_2_1; } //"," public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } //parameters+=Expression public Assignment getParametersAssignment_2_1_1() { return cParametersAssignment_2_1_1; } //Expression public RuleCall getParametersExpressionParserRuleCall_2_1_1_0() { return cParametersExpressionParserRuleCall_2_1_1_0; } //')' public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } } public class ExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Expression"); private final RuleCall cOrExpressionParserRuleCall = (RuleCall)rule.eContents().get(1); /// ***************************************************************************** // * EXPRESSIONS * // ***************************************************************************** / //ExternExpression | EnumLiteralRef | IntegerLiteral | BooleanLiteral | StringLiteral | DoubleLiteral | NotExpression | UnaryMinus | ////PlusExpression | MinusExpression | TimesExpression | DivExpression | ModExpression | EqualsExpression | NotEqualsExpression | GreaterExpression | ////LowerExpression | GreaterOrEqualExpression | LowerOrEqualExpression | AndExpression | OrExpression | PropertyReference | ArrayIndex | ////ExpressionGroup | FunctionCallExpression | MessageParameter | Reference; //Expression: // OrExpression; @Override public ParserRule getRule() { return rule; } //OrExpression public RuleCall getOrExpressionParserRuleCall() { return cOrExpressionParserRuleCall; } } public class OrExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.OrExpression"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cAndExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Action cOrExpressionLhsAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Keyword cOrKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cRhsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRhsAndExpressionParserRuleCall_1_2_0 = (RuleCall)cRhsAssignment_1_2.eContents().get(0); //OrExpression Expression: // AndExpression ({OrExpression.lhs=current} "or" rhs=AndExpression)* @Override public ParserRule getRule() { return rule; } //AndExpression ({OrExpression.lhs=current} "or" rhs=AndExpression)* public Group getGroup() { return cGroup; } //AndExpression public RuleCall getAndExpressionParserRuleCall_0() { return cAndExpressionParserRuleCall_0; } //({OrExpression.lhs=current} "or" rhs=AndExpression)* public Group getGroup_1() { return cGroup_1; } //{OrExpression.lhs=current} public Action getOrExpressionLhsAction_1_0() { return cOrExpressionLhsAction_1_0; } //"or" public Keyword getOrKeyword_1_1() { return cOrKeyword_1_1; } //rhs=AndExpression public Assignment getRhsAssignment_1_2() { return cRhsAssignment_1_2; } //AndExpression public RuleCall getRhsAndExpressionParserRuleCall_1_2_0() { return cRhsAndExpressionParserRuleCall_1_2_0; } } public class AndExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.AndExpression"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cEqualityParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Action cAndExpressionLhsAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Keyword cAndKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cRhsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRhsEqualityParserRuleCall_1_2_0 = (RuleCall)cRhsAssignment_1_2.eContents().get(0); //AndExpression Expression: // Equality ({AndExpression.lhs=current} "and" rhs=Equality)* @Override public ParserRule getRule() { return rule; } //Equality ({AndExpression.lhs=current} "and" rhs=Equality)* public Group getGroup() { return cGroup; } //Equality public RuleCall getEqualityParserRuleCall_0() { return cEqualityParserRuleCall_0; } //({AndExpression.lhs=current} "and" rhs=Equality)* public Group getGroup_1() { return cGroup_1; } //{AndExpression.lhs=current} public Action getAndExpressionLhsAction_1_0() { return cAndExpressionLhsAction_1_0; } //"and" public Keyword getAndKeyword_1_1() { return cAndKeyword_1_1; } //rhs=Equality public Assignment getRhsAssignment_1_2() { return cRhsAssignment_1_2; } //Equality public RuleCall getRhsEqualityParserRuleCall_1_2_0() { return cRhsEqualityParserRuleCall_1_2_0; } } public class EqualityElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Equality"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cComparaisonParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Action cEqualsExpressionLhsAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); private final Keyword cEqualsSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); private final Assignment cRhsAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRhsComparaisonParserRuleCall_1_0_2_0 = (RuleCall)cRhsAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cNotEqualsExpressionLhsAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Keyword cExclamationMarkEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cRhsAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRhsComparaisonParserRuleCall_1_1_2_0 = (RuleCall)cRhsAssignment_1_1_2.eContents().get(0); //Equality Expression: // Comparaison ({EqualsExpression.lhs=current} "==" rhs=Comparaison | {NotEqualsExpression.lhs=current} "!=" // rhs=Comparaison)* @Override public ParserRule getRule() { return rule; } //Comparaison ({EqualsExpression.lhs=current} "==" rhs=Comparaison | {NotEqualsExpression.lhs=current} "!=" //rhs=Comparaison)* public Group getGroup() { return cGroup; } //Comparaison public RuleCall getComparaisonParserRuleCall_0() { return cComparaisonParserRuleCall_0; } //({EqualsExpression.lhs=current} "==" rhs=Comparaison | {NotEqualsExpression.lhs=current} "!=" rhs=Comparaison)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //{EqualsExpression.lhs=current} "==" rhs=Comparaison public Group getGroup_1_0() { return cGroup_1_0; } //{EqualsExpression.lhs=current} public Action getEqualsExpressionLhsAction_1_0_0() { return cEqualsExpressionLhsAction_1_0_0; } //"==" public Keyword getEqualsSignEqualsSignKeyword_1_0_1() { return cEqualsSignEqualsSignKeyword_1_0_1; } //rhs=Comparaison public Assignment getRhsAssignment_1_0_2() { return cRhsAssignment_1_0_2; } //Comparaison public RuleCall getRhsComparaisonParserRuleCall_1_0_2_0() { return cRhsComparaisonParserRuleCall_1_0_2_0; } //{NotEqualsExpression.lhs=current} "!=" rhs=Comparaison public Group getGroup_1_1() { return cGroup_1_1; } //{NotEqualsExpression.lhs=current} public Action getNotEqualsExpressionLhsAction_1_1_0() { return cNotEqualsExpressionLhsAction_1_1_0; } //"!=" public Keyword getExclamationMarkEqualsSignKeyword_1_1_1() { return cExclamationMarkEqualsSignKeyword_1_1_1; } //rhs=Comparaison public Assignment getRhsAssignment_1_1_2() { return cRhsAssignment_1_1_2; } //Comparaison public RuleCall getRhsComparaisonParserRuleCall_1_1_2_0() { return cRhsComparaisonParserRuleCall_1_1_2_0; } } public class ComparaisonElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Comparaison"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cAdditionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Action cGreaterExpressionLhsAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); private final Keyword cGreaterThanSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); private final Assignment cRhsAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRhsAdditionParserRuleCall_1_0_2_0 = (RuleCall)cRhsAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cLowerExpressionLhsAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Keyword cLessThanSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cRhsAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRhsAdditionParserRuleCall_1_1_2_0 = (RuleCall)cRhsAssignment_1_1_2.eContents().get(0); private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); private final Action cGreaterOrEqualExpressionLhsAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0); private final Keyword cGreaterThanSignEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1); private final Assignment cRhsAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2); private final RuleCall cRhsAdditionParserRuleCall_1_2_2_0 = (RuleCall)cRhsAssignment_1_2_2.eContents().get(0); private final Group cGroup_1_3 = (Group)cAlternatives_1.eContents().get(3); private final Action cLowerOrEqualExpressionLhsAction_1_3_0 = (Action)cGroup_1_3.eContents().get(0); private final Keyword cLessThanSignEqualsSignKeyword_1_3_1 = (Keyword)cGroup_1_3.eContents().get(1); private final Assignment cRhsAssignment_1_3_2 = (Assignment)cGroup_1_3.eContents().get(2); private final RuleCall cRhsAdditionParserRuleCall_1_3_2_0 = (RuleCall)cRhsAssignment_1_3_2.eContents().get(0); //Comparaison Expression: // Addition ({GreaterExpression.lhs=current} ">" rhs=Addition | {LowerExpression.lhs=current} "<" rhs=Addition | // {GreaterOrEqualExpression.lhs=current} ">=" rhs=Addition | {LowerOrEqualExpression.lhs=current} "<=" rhs=Addition)* @Override public ParserRule getRule() { return rule; } //Addition ({GreaterExpression.lhs=current} ">" rhs=Addition | {LowerExpression.lhs=current} "<" rhs=Addition | //{GreaterOrEqualExpression.lhs=current} ">=" rhs=Addition | {LowerOrEqualExpression.lhs=current} "<=" rhs=Addition)* public Group getGroup() { return cGroup; } //Addition public RuleCall getAdditionParserRuleCall_0() { return cAdditionParserRuleCall_0; } //({GreaterExpression.lhs=current} ">" rhs=Addition | {LowerExpression.lhs=current} "<" rhs=Addition | //{GreaterOrEqualExpression.lhs=current} ">=" rhs=Addition | {LowerOrEqualExpression.lhs=current} "<=" rhs=Addition)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //{GreaterExpression.lhs=current} ">" rhs=Addition public Group getGroup_1_0() { return cGroup_1_0; } //{GreaterExpression.lhs=current} public Action getGreaterExpressionLhsAction_1_0_0() { return cGreaterExpressionLhsAction_1_0_0; } //">" public Keyword getGreaterThanSignKeyword_1_0_1() { return cGreaterThanSignKeyword_1_0_1; } //rhs=Addition public Assignment getRhsAssignment_1_0_2() { return cRhsAssignment_1_0_2; } //Addition public RuleCall getRhsAdditionParserRuleCall_1_0_2_0() { return cRhsAdditionParserRuleCall_1_0_2_0; } //{LowerExpression.lhs=current} "<" rhs=Addition public Group getGroup_1_1() { return cGroup_1_1; } //{LowerExpression.lhs=current} public Action getLowerExpressionLhsAction_1_1_0() { return cLowerExpressionLhsAction_1_1_0; } //"<" public Keyword getLessThanSignKeyword_1_1_1() { return cLessThanSignKeyword_1_1_1; } //rhs=Addition public Assignment getRhsAssignment_1_1_2() { return cRhsAssignment_1_1_2; } //Addition public RuleCall getRhsAdditionParserRuleCall_1_1_2_0() { return cRhsAdditionParserRuleCall_1_1_2_0; } //{GreaterOrEqualExpression.lhs=current} ">=" rhs=Addition public Group getGroup_1_2() { return cGroup_1_2; } //{GreaterOrEqualExpression.lhs=current} public Action getGreaterOrEqualExpressionLhsAction_1_2_0() { return cGreaterOrEqualExpressionLhsAction_1_2_0; } //">=" public Keyword getGreaterThanSignEqualsSignKeyword_1_2_1() { return cGreaterThanSignEqualsSignKeyword_1_2_1; } //rhs=Addition public Assignment getRhsAssignment_1_2_2() { return cRhsAssignment_1_2_2; } //Addition public RuleCall getRhsAdditionParserRuleCall_1_2_2_0() { return cRhsAdditionParserRuleCall_1_2_2_0; } //{LowerOrEqualExpression.lhs=current} "<=" rhs=Addition public Group getGroup_1_3() { return cGroup_1_3; } //{LowerOrEqualExpression.lhs=current} public Action getLowerOrEqualExpressionLhsAction_1_3_0() { return cLowerOrEqualExpressionLhsAction_1_3_0; } //"<=" public Keyword getLessThanSignEqualsSignKeyword_1_3_1() { return cLessThanSignEqualsSignKeyword_1_3_1; } //rhs=Addition public Assignment getRhsAssignment_1_3_2() { return cRhsAssignment_1_3_2; } //Addition public RuleCall getRhsAdditionParserRuleCall_1_3_2_0() { return cRhsAdditionParserRuleCall_1_3_2_0; } } public class AdditionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Addition"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cMultiplicationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Action cPlusExpressionLhsAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); private final Keyword cPlusSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); private final Assignment cRhsAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRhsMultiplicationParserRuleCall_1_0_2_0 = (RuleCall)cRhsAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cMinusExpressionLhsAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Keyword cHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cRhsAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRhsMultiplicationParserRuleCall_1_1_2_0 = (RuleCall)cRhsAssignment_1_1_2.eContents().get(0); //Addition Expression: // Multiplication ({PlusExpression.lhs=current} "+" rhs=Multiplication | {MinusExpression.lhs=current} "-" // rhs=Multiplication)* @Override public ParserRule getRule() { return rule; } //Multiplication ({PlusExpression.lhs=current} "+" rhs=Multiplication | {MinusExpression.lhs=current} "-" //rhs=Multiplication)* public Group getGroup() { return cGroup; } //Multiplication public RuleCall getMultiplicationParserRuleCall_0() { return cMultiplicationParserRuleCall_0; } //({PlusExpression.lhs=current} "+" rhs=Multiplication | {MinusExpression.lhs=current} "-" rhs=Multiplication)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //{PlusExpression.lhs=current} "+" rhs=Multiplication public Group getGroup_1_0() { return cGroup_1_0; } //{PlusExpression.lhs=current} public Action getPlusExpressionLhsAction_1_0_0() { return cPlusExpressionLhsAction_1_0_0; } //"+" public Keyword getPlusSignKeyword_1_0_1() { return cPlusSignKeyword_1_0_1; } //rhs=Multiplication public Assignment getRhsAssignment_1_0_2() { return cRhsAssignment_1_0_2; } //Multiplication public RuleCall getRhsMultiplicationParserRuleCall_1_0_2_0() { return cRhsMultiplicationParserRuleCall_1_0_2_0; } //{MinusExpression.lhs=current} "-" rhs=Multiplication public Group getGroup_1_1() { return cGroup_1_1; } //{MinusExpression.lhs=current} public Action getMinusExpressionLhsAction_1_1_0() { return cMinusExpressionLhsAction_1_1_0; } //"-" public Keyword getHyphenMinusKeyword_1_1_1() { return cHyphenMinusKeyword_1_1_1; } //rhs=Multiplication public Assignment getRhsAssignment_1_1_2() { return cRhsAssignment_1_1_2; } //Multiplication public RuleCall getRhsMultiplicationParserRuleCall_1_1_2_0() { return cRhsMultiplicationParserRuleCall_1_1_2_0; } } public class MultiplicationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Multiplication"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cModuloParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); private final Action cTimesExpressionLhsAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); private final Keyword cAsteriskKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); private final Assignment cRhsAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); private final RuleCall cRhsModuloParserRuleCall_1_0_2_0 = (RuleCall)cRhsAssignment_1_0_2.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cDivExpressionLhsAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Keyword cSolidusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cRhsAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cRhsModuloParserRuleCall_1_1_2_0 = (RuleCall)cRhsAssignment_1_1_2.eContents().get(0); //Multiplication Expression: // Modulo ({TimesExpression.lhs=current} "*" rhs=Modulo | {DivExpression.lhs=current} "/" rhs=Modulo)* @Override public ParserRule getRule() { return rule; } //Modulo ({TimesExpression.lhs=current} "*" rhs=Modulo | {DivExpression.lhs=current} "/" rhs=Modulo)* public Group getGroup() { return cGroup; } //Modulo public RuleCall getModuloParserRuleCall_0() { return cModuloParserRuleCall_0; } //({TimesExpression.lhs=current} "*" rhs=Modulo | {DivExpression.lhs=current} "/" rhs=Modulo)* public Alternatives getAlternatives_1() { return cAlternatives_1; } //{TimesExpression.lhs=current} "*" rhs=Modulo public Group getGroup_1_0() { return cGroup_1_0; } //{TimesExpression.lhs=current} public Action getTimesExpressionLhsAction_1_0_0() { return cTimesExpressionLhsAction_1_0_0; } //"*" public Keyword getAsteriskKeyword_1_0_1() { return cAsteriskKeyword_1_0_1; } //rhs=Modulo public Assignment getRhsAssignment_1_0_2() { return cRhsAssignment_1_0_2; } //Modulo public RuleCall getRhsModuloParserRuleCall_1_0_2_0() { return cRhsModuloParserRuleCall_1_0_2_0; } //{DivExpression.lhs=current} "/" rhs=Modulo public Group getGroup_1_1() { return cGroup_1_1; } //{DivExpression.lhs=current} public Action getDivExpressionLhsAction_1_1_0() { return cDivExpressionLhsAction_1_1_0; } //"/" public Keyword getSolidusKeyword_1_1_1() { return cSolidusKeyword_1_1_1; } //rhs=Modulo public Assignment getRhsAssignment_1_1_2() { return cRhsAssignment_1_1_2; } //Modulo public RuleCall getRhsModuloParserRuleCall_1_1_2_0() { return cRhsModuloParserRuleCall_1_1_2_0; } } public class ModuloElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Modulo"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cPrimaryParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Action cModExpressionLhsAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Keyword cPercentSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cRhsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRhsExpressionParserRuleCall_1_2_0 = (RuleCall)cRhsAssignment_1_2.eContents().get(0); //Modulo Expression: // Primary ({ModExpression.lhs=current} "%" rhs=Expression)? @Override public ParserRule getRule() { return rule; } //Primary ({ModExpression.lhs=current} "%" rhs=Expression)? public Group getGroup() { return cGroup; } //Primary public RuleCall getPrimaryParserRuleCall_0() { return cPrimaryParserRuleCall_0; } //({ModExpression.lhs=current} "%" rhs=Expression)? public Group getGroup_1() { return cGroup_1; } //{ModExpression.lhs=current} public Action getModExpressionLhsAction_1_0() { return cModExpressionLhsAction_1_0; } //"%" public Keyword getPercentSignKeyword_1_1() { return cPercentSignKeyword_1_1; } //rhs=Expression public Assignment getRhsAssignment_1_2() { return cRhsAssignment_1_2; } //Expression public RuleCall getRhsExpressionParserRuleCall_1_2_0() { return cRhsExpressionParserRuleCall_1_2_0; } } public class PrimaryElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Primary"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Keyword cLeftParenthesisKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); private final RuleCall cExpressionParserRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Action cNotExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Keyword cNotKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cTermAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cTermPrimaryParserRuleCall_1_2_0 = (RuleCall)cTermAssignment_1_2.eContents().get(0); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Action cUnaryMinusAction_2_0 = (Action)cGroup_2.eContents().get(0); private final Keyword cHyphenMinusKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1); private final Assignment cTermAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2); private final RuleCall cTermPrimaryParserRuleCall_2_2_0 = (RuleCall)cTermAssignment_2_2.eContents().get(0); private final RuleCall cArrayIndexPostfixParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); //Primary Expression: // '(' Expression ')' | {NotExpression} "not" term=Primary | {UnaryMinus} '-' term=Primary // | ArrayIndexPostfix @Override public ParserRule getRule() { return rule; } //'(' Expression ')' | {NotExpression} "not" term=Primary | {UnaryMinus} '-' term=Primary | ArrayIndexPostfix public Alternatives getAlternatives() { return cAlternatives; } //'(' Expression ')' public Group getGroup_0() { return cGroup_0; } //'(' public Keyword getLeftParenthesisKeyword_0_0() { return cLeftParenthesisKeyword_0_0; } //Expression public RuleCall getExpressionParserRuleCall_0_1() { return cExpressionParserRuleCall_0_1; } //')' public Keyword getRightParenthesisKeyword_0_2() { return cRightParenthesisKeyword_0_2; } //{NotExpression} "not" term=Primary public Group getGroup_1() { return cGroup_1; } //{NotExpression} public Action getNotExpressionAction_1_0() { return cNotExpressionAction_1_0; } //"not" public Keyword getNotKeyword_1_1() { return cNotKeyword_1_1; } //term=Primary public Assignment getTermAssignment_1_2() { return cTermAssignment_1_2; } //Primary public RuleCall getTermPrimaryParserRuleCall_1_2_0() { return cTermPrimaryParserRuleCall_1_2_0; } //{UnaryMinus} '-' term=Primary public Group getGroup_2() { return cGroup_2; } //{UnaryMinus} public Action getUnaryMinusAction_2_0() { return cUnaryMinusAction_2_0; } //'-' public Keyword getHyphenMinusKeyword_2_1() { return cHyphenMinusKeyword_2_1; } //term=Primary public Assignment getTermAssignment_2_2() { return cTermAssignment_2_2; } //Primary public RuleCall getTermPrimaryParserRuleCall_2_2_0() { return cTermPrimaryParserRuleCall_2_2_0; } //ArrayIndexPostfix public RuleCall getArrayIndexPostfixParserRuleCall_3() { return cArrayIndexPostfixParserRuleCall_3; } } public class ArrayIndexPostfixElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ArrayIndexPostfix"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Action cArrayIndexArrayAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Keyword cLeftSquareBracketKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Assignment cIndexAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cIndexExpressionParserRuleCall_1_2_0 = (RuleCall)cIndexAssignment_1_2.eContents().get(0); private final Keyword cRightSquareBracketKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3); //ArrayIndexPostfix Expression: // AtomicExpression ({ArrayIndex.array=current} '[' index=Expression ']')? @Override public ParserRule getRule() { return rule; } //AtomicExpression ({ArrayIndex.array=current} '[' index=Expression ']')? public Group getGroup() { return cGroup; } //AtomicExpression public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } //({ArrayIndex.array=current} '[' index=Expression ']')? public Group getGroup_1() { return cGroup_1; } //{ArrayIndex.array=current} public Action getArrayIndexArrayAction_1_0() { return cArrayIndexArrayAction_1_0; } //'[' public Keyword getLeftSquareBracketKeyword_1_1() { return cLeftSquareBracketKeyword_1_1; } //index=Expression public Assignment getIndexAssignment_1_2() { return cIndexAssignment_1_2; } //Expression public RuleCall getIndexExpressionParserRuleCall_1_2_0() { return cIndexExpressionParserRuleCall_1_2_0; } //']' public Keyword getRightSquareBracketKeyword_1_3() { return cRightSquareBracketKeyword_1_3; } } public class AtomicExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.AtomicExpression"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cExternExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cEnumLiteralRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cIntegerLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cBooleanLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cStringLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); private final RuleCall cDoubleLiteralParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); private final RuleCall cPropertyReferenceParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); private final RuleCall cFunctionCallExpressionParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); private final RuleCall cEventReferenceParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); //AtomicExpression Expression: // ExternExpression | EnumLiteralRef | IntegerLiteral | BooleanLiteral | StringLiteral | DoubleLiteral | // PropertyReference | FunctionCallExpression // | EventReference @Override public ParserRule getRule() { return rule; } //ExternExpression | EnumLiteralRef | IntegerLiteral | BooleanLiteral | StringLiteral | DoubleLiteral | PropertyReference //| FunctionCallExpression | EventReference public Alternatives getAlternatives() { return cAlternatives; } //ExternExpression public RuleCall getExternExpressionParserRuleCall_0() { return cExternExpressionParserRuleCall_0; } //EnumLiteralRef public RuleCall getEnumLiteralRefParserRuleCall_1() { return cEnumLiteralRefParserRuleCall_1; } //IntegerLiteral public RuleCall getIntegerLiteralParserRuleCall_2() { return cIntegerLiteralParserRuleCall_2; } //BooleanLiteral public RuleCall getBooleanLiteralParserRuleCall_3() { return cBooleanLiteralParserRuleCall_3; } //StringLiteral public RuleCall getStringLiteralParserRuleCall_4() { return cStringLiteralParserRuleCall_4; } //DoubleLiteral public RuleCall getDoubleLiteralParserRuleCall_5() { return cDoubleLiteralParserRuleCall_5; } //PropertyReference public RuleCall getPropertyReferenceParserRuleCall_6() { return cPropertyReferenceParserRuleCall_6; } /// *Reference |* / FunctionCallExpression public RuleCall getFunctionCallExpressionParserRuleCall_7() { return cFunctionCallExpressionParserRuleCall_7; } //EventReference public RuleCall getEventReferenceParserRuleCall_8() { return cEventReferenceParserRuleCall_8; } } public class ExternExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ExternExpression"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cExpressionAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cExpressionSTRING_EXTTerminalRuleCall_0_0 = (RuleCall)cExpressionAssignment_0.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cAmpersandKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final Assignment cSegmentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cSegmentsExpressionParserRuleCall_1_1_0 = (RuleCall)cSegmentsAssignment_1_1.eContents().get(0); //ExternExpression: // expression=STRING_EXT ('&' segments+=Expression)*; @Override public ParserRule getRule() { return rule; } //expression=STRING_EXT ('&' segments+=Expression)* public Group getGroup() { return cGroup; } //expression=STRING_EXT public Assignment getExpressionAssignment_0() { return cExpressionAssignment_0; } //STRING_EXT public RuleCall getExpressionSTRING_EXTTerminalRuleCall_0_0() { return cExpressionSTRING_EXTTerminalRuleCall_0_0; } //('&' segments+=Expression)* public Group getGroup_1() { return cGroup_1; } //'&' public Keyword getAmpersandKeyword_1_0() { return cAmpersandKeyword_1_0; } //segments+=Expression public Assignment getSegmentsAssignment_1_1() { return cSegmentsAssignment_1_1; } //Expression public RuleCall getSegmentsExpressionParserRuleCall_1_1_0() { return cSegmentsExpressionParserRuleCall_1_1_0; } } public class EnumLiteralRefElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.EnumLiteralRef"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cEnumAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cEnumEnumerationCrossReference_0_0 = (CrossReference)cEnumAssignment_0.eContents().get(0); private final RuleCall cEnumEnumerationIDTerminalRuleCall_0_0_1 = (RuleCall)cEnumEnumerationCrossReference_0_0.eContents().get(1); private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cLiteralAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cLiteralEnumerationLiteralCrossReference_2_0 = (CrossReference)cLiteralAssignment_2.eContents().get(0); private final RuleCall cLiteralEnumerationLiteralIDTerminalRuleCall_2_0_1 = (RuleCall)cLiteralEnumerationLiteralCrossReference_2_0.eContents().get(1); //EnumLiteralRef: // ^enum=[Enumeration] ':' literal=[EnumerationLiteral]; @Override public ParserRule getRule() { return rule; } //^enum=[Enumeration] ':' literal=[EnumerationLiteral] public Group getGroup() { return cGroup; } //^enum=[Enumeration] public Assignment getEnumAssignment_0() { return cEnumAssignment_0; } //[Enumeration] public CrossReference getEnumEnumerationCrossReference_0_0() { return cEnumEnumerationCrossReference_0_0; } //ID public RuleCall getEnumEnumerationIDTerminalRuleCall_0_0_1() { return cEnumEnumerationIDTerminalRuleCall_0_0_1; } //':' public Keyword getColonKeyword_1() { return cColonKeyword_1; } //literal=[EnumerationLiteral] public Assignment getLiteralAssignment_2() { return cLiteralAssignment_2; } //[EnumerationLiteral] public CrossReference getLiteralEnumerationLiteralCrossReference_2_0() { return cLiteralEnumerationLiteralCrossReference_2_0; } //ID public RuleCall getLiteralEnumerationLiteralIDTerminalRuleCall_2_0_1() { return cLiteralEnumerationLiteralIDTerminalRuleCall_2_0_1; } } public class IntegerLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.IntegerLiteral"); private final Assignment cIntValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cIntValueINTTerminalRuleCall_0 = (RuleCall)cIntValueAssignment.eContents().get(0); //IntegerLiteral: // intValue=INT; @Override public ParserRule getRule() { return rule; } //intValue=INT public Assignment getIntValueAssignment() { return cIntValueAssignment; } //INT public RuleCall getIntValueINTTerminalRuleCall_0() { return cIntValueINTTerminalRuleCall_0; } } public class BooleanLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.BooleanLiteral"); private final Assignment cBoolValueAssignment = (Assignment)rule.eContents().get(1); private final Alternatives cBoolValueAlternatives_0 = (Alternatives)cBoolValueAssignment.eContents().get(0); private final Keyword cBoolValueTrueKeyword_0_0 = (Keyword)cBoolValueAlternatives_0.eContents().get(0); private final Keyword cBoolValueFalseKeyword_0_1 = (Keyword)cBoolValueAlternatives_0.eContents().get(1); //BooleanLiteral: // boolValue=('true' | 'false'); @Override public ParserRule getRule() { return rule; } //boolValue=('true' | 'false') public Assignment getBoolValueAssignment() { return cBoolValueAssignment; } //('true' | 'false') public Alternatives getBoolValueAlternatives_0() { return cBoolValueAlternatives_0; } //'true' public Keyword getBoolValueTrueKeyword_0_0() { return cBoolValueTrueKeyword_0_0; } //'false' public Keyword getBoolValueFalseKeyword_0_1() { return cBoolValueFalseKeyword_0_1; } } public class StringLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.StringLiteral"); private final Assignment cStringValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cStringValueSTRING_LITTerminalRuleCall_0 = (RuleCall)cStringValueAssignment.eContents().get(0); //StringLiteral: // stringValue=STRING_LIT; @Override public ParserRule getRule() { return rule; } //stringValue=STRING_LIT public Assignment getStringValueAssignment() { return cStringValueAssignment; } //STRING_LIT public RuleCall getStringValueSTRING_LITTerminalRuleCall_0() { return cStringValueSTRING_LITTerminalRuleCall_0; } } public class DoubleLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.DoubleLiteral"); private final Assignment cDoubleValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cDoubleValueFLOATTerminalRuleCall_0 = (RuleCall)cDoubleValueAssignment.eContents().get(0); //DoubleLiteral: // doubleValue=FLOAT; @Override public ParserRule getRule() { return rule; } //doubleValue=FLOAT public Assignment getDoubleValueAssignment() { return cDoubleValueAssignment; } //FLOAT public RuleCall getDoubleValueFLOATTerminalRuleCall_0() { return cDoubleValueFLOATTerminalRuleCall_0; } } public class PropertyReferenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.PropertyReference"); private final Assignment cPropertyAssignment = (Assignment)rule.eContents().get(1); private final CrossReference cPropertyVariableCrossReference_0 = (CrossReference)cPropertyAssignment.eContents().get(0); private final RuleCall cPropertyVariableIDTerminalRuleCall_0_1 = (RuleCall)cPropertyVariableCrossReference_0.eContents().get(1); //PropertyReference: // property=[Variable]; @Override public ParserRule getRule() { return rule; } //property=[Variable] public Assignment getPropertyAssignment() { return cPropertyAssignment; } //[Variable] public CrossReference getPropertyVariableCrossReference_0() { return cPropertyVariableCrossReference_0; } //ID public RuleCall getPropertyVariableIDTerminalRuleCall_0_1() { return cPropertyVariableIDTerminalRuleCall_0_1; } } public class EventReferenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.EventReference"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cReceiveMsgAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cReceiveMsgEventCrossReference_0_0 = (CrossReference)cReceiveMsgAssignment_0.eContents().get(0); private final RuleCall cReceiveMsgEventIDTerminalRuleCall_0_0_1 = (RuleCall)cReceiveMsgEventCrossReference_0_0.eContents().get(1); private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cParameterAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cParameterParameterCrossReference_2_0 = (CrossReference)cParameterAssignment_2.eContents().get(0); private final RuleCall cParameterParameterIDTerminalRuleCall_2_0_1 = (RuleCall)cParameterParameterCrossReference_2_0.eContents().get(1); //EventReference: // receiveMsg=[Event] "." parameter=[Parameter]; @Override public ParserRule getRule() { return rule; } //receiveMsg=[Event] "." parameter=[Parameter] public Group getGroup() { return cGroup; } //receiveMsg=[Event] public Assignment getReceiveMsgAssignment_0() { return cReceiveMsgAssignment_0; } //[Event] public CrossReference getReceiveMsgEventCrossReference_0_0() { return cReceiveMsgEventCrossReference_0_0; } //ID public RuleCall getReceiveMsgEventIDTerminalRuleCall_0_0_1() { return cReceiveMsgEventIDTerminalRuleCall_0_0_1; } //"." public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; } //parameter=[Parameter] public Assignment getParameterAssignment_2() { return cParameterAssignment_2; } //[Parameter] public CrossReference getParameterParameterCrossReference_2_0() { return cParameterParameterCrossReference_2_0; } //ID public RuleCall getParameterParameterIDTerminalRuleCall_2_0_1() { return cParameterParameterIDTerminalRuleCall_2_0_1; } } public class FunctionCallExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.FunctionCallExpression"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cFunctionAssignment_0 = (Assignment)cGroup.eContents().get(0); private final CrossReference cFunctionFunctionCrossReference_0_0 = (CrossReference)cFunctionAssignment_0.eContents().get(0); private final RuleCall cFunctionFunctionIDTerminalRuleCall_0_0_1 = (RuleCall)cFunctionFunctionCrossReference_0_0.eContents().get(1); private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); private final Assignment cParametersAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); private final RuleCall cParametersExpressionParserRuleCall_2_0_0 = (RuleCall)cParametersAssignment_2_0.eContents().get(0); private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); private final Assignment cParametersAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); private final RuleCall cParametersExpressionParserRuleCall_2_1_1_0 = (RuleCall)cParametersAssignment_2_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); //FunctionCallExpression: // function=[Function] '(' (parameters+=Expression ("," parameters+=Expression)*)? // ')'; @Override public ParserRule getRule() { return rule; } //function=[Function] '(' (parameters+=Expression ("," parameters+=Expression)*)? ')' public Group getGroup() { return cGroup; } //function=[Function] public Assignment getFunctionAssignment_0() { return cFunctionAssignment_0; } //[Function] public CrossReference getFunctionFunctionCrossReference_0_0() { return cFunctionFunctionCrossReference_0_0; } //ID public RuleCall getFunctionFunctionIDTerminalRuleCall_0_0_1() { return cFunctionFunctionIDTerminalRuleCall_0_0_1; } //'(' public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } //(parameters+=Expression ("," parameters+=Expression)*)? public Group getGroup_2() { return cGroup_2; } //parameters+=Expression public Assignment getParametersAssignment_2_0() { return cParametersAssignment_2_0; } //Expression public RuleCall getParametersExpressionParserRuleCall_2_0_0() { return cParametersExpressionParserRuleCall_2_0_0; } //("," parameters+=Expression)* public Group getGroup_2_1() { return cGroup_2_1; } //"," public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } //parameters+=Expression public Assignment getParametersAssignment_2_1_1() { return cParametersAssignment_2_1_1; } //Expression public RuleCall getParametersExpressionParserRuleCall_2_1_1_0() { return cParametersExpressionParserRuleCall_2_1_1_0; } //')' public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } } public class ConfigurationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Configuration"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cConfigurationKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Assignment cAnnotationsAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_2_0 = (RuleCall)cAnnotationsAssignment_2.eContents().get(0); private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); private final Assignment cInstancesAssignment_4_0 = (Assignment)cAlternatives_4.eContents().get(0); private final RuleCall cInstancesInstanceParserRuleCall_4_0_0 = (RuleCall)cInstancesAssignment_4_0.eContents().get(0); private final Assignment cConnectorsAssignment_4_1 = (Assignment)cAlternatives_4.eContents().get(1); private final RuleCall cConnectorsAbstractConnectorParserRuleCall_4_1_0 = (RuleCall)cConnectorsAssignment_4_1.eContents().get(0); private final Assignment cPropassignsAssignment_4_2 = (Assignment)cAlternatives_4.eContents().get(2); private final RuleCall cPropassignsConfigPropertyAssignParserRuleCall_4_2_0 = (RuleCall)cPropassignsAssignment_4_2.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); /// ***************************************************************************** // * CONFIGURATIONS * // ***************************************************************************** / Configuration: // 'configuration' name=ID annotations+=PlatformAnnotation* '{' (instances+=Instance | connectors+=AbstractConnector | // propassigns+=ConfigPropertyAssign)* // '}'; @Override public ParserRule getRule() { return rule; } //'configuration' name=ID annotations+=PlatformAnnotation* '{' (instances+=Instance | connectors+=AbstractConnector | //propassigns+=ConfigPropertyAssign)* '}' public Group getGroup() { return cGroup; } //'configuration' public Keyword getConfigurationKeyword_0() { return cConfigurationKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_2() { return cAnnotationsAssignment_2; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_2_0() { return cAnnotationsPlatformAnnotationParserRuleCall_2_0; } //'{' public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } //(instances+=Instance | connectors+=AbstractConnector | propassigns+=ConfigPropertyAssign)* public Alternatives getAlternatives_4() { return cAlternatives_4; } //instances+=Instance public Assignment getInstancesAssignment_4_0() { return cInstancesAssignment_4_0; } //Instance public RuleCall getInstancesInstanceParserRuleCall_4_0_0() { return cInstancesInstanceParserRuleCall_4_0_0; } //connectors+=AbstractConnector public Assignment getConnectorsAssignment_4_1() { return cConnectorsAssignment_4_1; } //AbstractConnector public RuleCall getConnectorsAbstractConnectorParserRuleCall_4_1_0() { return cConnectorsAbstractConnectorParserRuleCall_4_1_0; } //propassigns+=ConfigPropertyAssign public Assignment getPropassignsAssignment_4_2() { return cPropassignsAssignment_4_2; } //ConfigPropertyAssign public RuleCall getPropassignsConfigPropertyAssignParserRuleCall_4_2_0() { return cPropassignsConfigPropertyAssignParserRuleCall_4_2_0; } //'}' public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } public class InstanceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Instance"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cInstanceKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cTypeThingCrossReference_3_0 = (CrossReference)cTypeAssignment_3.eContents().get(0); private final RuleCall cTypeThingIDTerminalRuleCall_3_0_1 = (RuleCall)cTypeThingCrossReference_3_0.eContents().get(1); private final Assignment cAnnotationsAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_4_0 = (RuleCall)cAnnotationsAssignment_4.eContents().get(0); //Instance: // 'instance' name=ID ':' type=[Thing] annotations+=PlatformAnnotation*; @Override public ParserRule getRule() { return rule; } //'instance' name=ID ':' type=[Thing] annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //'instance' public Keyword getInstanceKeyword_0() { return cInstanceKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //':' public Keyword getColonKeyword_2() { return cColonKeyword_2; } //type=[Thing] public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } //[Thing] public CrossReference getTypeThingCrossReference_3_0() { return cTypeThingCrossReference_3_0; } //ID public RuleCall getTypeThingIDTerminalRuleCall_3_0_1() { return cTypeThingIDTerminalRuleCall_3_0_1; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_4() { return cAnnotationsAssignment_4; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_4_0() { return cAnnotationsPlatformAnnotationParserRuleCall_4_0; } } public class ConfigPropertyAssignElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ConfigPropertyAssign"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cSetKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cInstanceAssignment_1 = (Assignment)cGroup.eContents().get(1); private final CrossReference cInstanceInstanceCrossReference_1_0 = (CrossReference)cInstanceAssignment_1.eContents().get(0); private final RuleCall cInstanceInstanceIDTerminalRuleCall_1_0_1 = (RuleCall)cInstanceInstanceCrossReference_1_0.eContents().get(1); private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cPropertyAssignment_3 = (Assignment)cGroup.eContents().get(3); private final CrossReference cPropertyPropertyCrossReference_3_0 = (CrossReference)cPropertyAssignment_3.eContents().get(0); private final RuleCall cPropertyPropertyIDTerminalRuleCall_3_0_1 = (RuleCall)cPropertyPropertyCrossReference_3_0.eContents().get(1); private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cLeftSquareBracketKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cIndexAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); private final RuleCall cIndexExpressionParserRuleCall_4_1_0 = (RuleCall)cIndexAssignment_4_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2); private final Keyword cEqualsSignKeyword_5 = (Keyword)cGroup.eContents().get(5); private final Assignment cInitAssignment_6 = (Assignment)cGroup.eContents().get(6); private final RuleCall cInitExpressionParserRuleCall_6_0 = (RuleCall)cInitAssignment_6.eContents().get(0); private final Assignment cAnnotationsAssignment_7 = (Assignment)cGroup.eContents().get(7); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_7_0 = (RuleCall)cAnnotationsAssignment_7.eContents().get(0); //ConfigPropertyAssign: // 'set' instance=[Instance] '.' property=[Property] ('[' index+=Expression ']')* '=' init=Expression // annotations+=PlatformAnnotation*; @Override public ParserRule getRule() { return rule; } //'set' instance=[Instance] '.' property=[Property] ('[' index+=Expression ']')* '=' init=Expression //annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //'set' public Keyword getSetKeyword_0() { return cSetKeyword_0; } //instance=[Instance] public Assignment getInstanceAssignment_1() { return cInstanceAssignment_1; } //[Instance] public CrossReference getInstanceInstanceCrossReference_1_0() { return cInstanceInstanceCrossReference_1_0; } //ID public RuleCall getInstanceInstanceIDTerminalRuleCall_1_0_1() { return cInstanceInstanceIDTerminalRuleCall_1_0_1; } //'.' public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } //property=[Property] public Assignment getPropertyAssignment_3() { return cPropertyAssignment_3; } //[Property] public CrossReference getPropertyPropertyCrossReference_3_0() { return cPropertyPropertyCrossReference_3_0; } //ID public RuleCall getPropertyPropertyIDTerminalRuleCall_3_0_1() { return cPropertyPropertyIDTerminalRuleCall_3_0_1; } //('[' index+=Expression ']')* public Group getGroup_4() { return cGroup_4; } //'[' public Keyword getLeftSquareBracketKeyword_4_0() { return cLeftSquareBracketKeyword_4_0; } //index+=Expression public Assignment getIndexAssignment_4_1() { return cIndexAssignment_4_1; } //Expression public RuleCall getIndexExpressionParserRuleCall_4_1_0() { return cIndexExpressionParserRuleCall_4_1_0; } //']' public Keyword getRightSquareBracketKeyword_4_2() { return cRightSquareBracketKeyword_4_2; } //'=' public Keyword getEqualsSignKeyword_5() { return cEqualsSignKeyword_5; } //init=Expression public Assignment getInitAssignment_6() { return cInitAssignment_6; } //Expression public RuleCall getInitExpressionParserRuleCall_6_0() { return cInitExpressionParserRuleCall_6_0; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_7() { return cAnnotationsAssignment_7; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_7_0() { return cAnnotationsPlatformAnnotationParserRuleCall_7_0; } } public class AbstractConnectorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.AbstractConnector"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cConnectorParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cExternalConnectorParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); //AbstractConnector: // Connector | ExternalConnector; @Override public ParserRule getRule() { return rule; } //Connector | ExternalConnector public Alternatives getAlternatives() { return cAlternatives; } //Connector public RuleCall getConnectorParserRuleCall_0() { return cConnectorParserRuleCall_0; } //ExternalConnector public RuleCall getExternalConnectorParserRuleCall_1() { return cExternalConnectorParserRuleCall_1; } } public class ConnectorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.Connector"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cConnectorKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Assignment cCliAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cCliInstanceCrossReference_2_0 = (CrossReference)cCliAssignment_2.eContents().get(0); private final RuleCall cCliInstanceIDTerminalRuleCall_2_0_1 = (RuleCall)cCliInstanceCrossReference_2_0.eContents().get(1); private final Keyword cFullStopKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cRequiredAssignment_4 = (Assignment)cGroup.eContents().get(4); private final CrossReference cRequiredRequiredPortCrossReference_4_0 = (CrossReference)cRequiredAssignment_4.eContents().get(0); private final RuleCall cRequiredRequiredPortIDTerminalRuleCall_4_0_1 = (RuleCall)cRequiredRequiredPortCrossReference_4_0.eContents().get(1); private final Keyword cEqualsSignGreaterThanSignKeyword_5 = (Keyword)cGroup.eContents().get(5); private final Assignment cSrvAssignment_6 = (Assignment)cGroup.eContents().get(6); private final CrossReference cSrvInstanceCrossReference_6_0 = (CrossReference)cSrvAssignment_6.eContents().get(0); private final RuleCall cSrvInstanceIDTerminalRuleCall_6_0_1 = (RuleCall)cSrvInstanceCrossReference_6_0.eContents().get(1); private final Keyword cFullStopKeyword_7 = (Keyword)cGroup.eContents().get(7); private final Assignment cProvidedAssignment_8 = (Assignment)cGroup.eContents().get(8); private final CrossReference cProvidedProvidedPortCrossReference_8_0 = (CrossReference)cProvidedAssignment_8.eContents().get(0); private final RuleCall cProvidedProvidedPortIDTerminalRuleCall_8_0_1 = (RuleCall)cProvidedProvidedPortCrossReference_8_0.eContents().get(1); private final Assignment cAnnotationsAssignment_9 = (Assignment)cGroup.eContents().get(9); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_9_0 = (RuleCall)cAnnotationsAssignment_9.eContents().get(0); //Connector: // 'connector' name=ID? cli=[Instance] '.' required=[RequiredPort] '=>' srv=[Instance] '.' provided=[ProvidedPort] // annotations+=PlatformAnnotation*; @Override public ParserRule getRule() { return rule; } //'connector' name=ID? cli=[Instance] '.' required=[RequiredPort] '=>' srv=[Instance] '.' provided=[ProvidedPort] //annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //'connector' public Keyword getConnectorKeyword_0() { return cConnectorKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //cli=[Instance] public Assignment getCliAssignment_2() { return cCliAssignment_2; } //[Instance] public CrossReference getCliInstanceCrossReference_2_0() { return cCliInstanceCrossReference_2_0; } //ID public RuleCall getCliInstanceIDTerminalRuleCall_2_0_1() { return cCliInstanceIDTerminalRuleCall_2_0_1; } //'.' public Keyword getFullStopKeyword_3() { return cFullStopKeyword_3; } //required=[RequiredPort] public Assignment getRequiredAssignment_4() { return cRequiredAssignment_4; } //[RequiredPort] public CrossReference getRequiredRequiredPortCrossReference_4_0() { return cRequiredRequiredPortCrossReference_4_0; } //ID public RuleCall getRequiredRequiredPortIDTerminalRuleCall_4_0_1() { return cRequiredRequiredPortIDTerminalRuleCall_4_0_1; } //'=>' public Keyword getEqualsSignGreaterThanSignKeyword_5() { return cEqualsSignGreaterThanSignKeyword_5; } //srv=[Instance] public Assignment getSrvAssignment_6() { return cSrvAssignment_6; } //[Instance] public CrossReference getSrvInstanceCrossReference_6_0() { return cSrvInstanceCrossReference_6_0; } //ID public RuleCall getSrvInstanceIDTerminalRuleCall_6_0_1() { return cSrvInstanceIDTerminalRuleCall_6_0_1; } //'.' public Keyword getFullStopKeyword_7() { return cFullStopKeyword_7; } //provided=[ProvidedPort] public Assignment getProvidedAssignment_8() { return cProvidedAssignment_8; } //[ProvidedPort] public CrossReference getProvidedProvidedPortCrossReference_8_0() { return cProvidedProvidedPortCrossReference_8_0; } //ID public RuleCall getProvidedProvidedPortIDTerminalRuleCall_8_0_1() { return cProvidedProvidedPortIDTerminalRuleCall_8_0_1; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_9() { return cAnnotationsAssignment_9; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_9_0() { return cAnnotationsPlatformAnnotationParserRuleCall_9_0; } } public class ExternalConnectorElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ExternalConnector"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cConnectorKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); private final Assignment cInstAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cInstInstanceCrossReference_2_0 = (CrossReference)cInstAssignment_2.eContents().get(0); private final RuleCall cInstInstanceIDTerminalRuleCall_2_0_1 = (RuleCall)cInstInstanceCrossReference_2_0.eContents().get(1); private final Keyword cFullStopKeyword_3 = (Keyword)cGroup.eContents().get(3); private final Assignment cPortAssignment_4 = (Assignment)cGroup.eContents().get(4); private final CrossReference cPortPortCrossReference_4_0 = (CrossReference)cPortAssignment_4.eContents().get(0); private final RuleCall cPortPortIDTerminalRuleCall_4_0_1 = (RuleCall)cPortPortCrossReference_4_0.eContents().get(1); private final Keyword cOverKeyword_5 = (Keyword)cGroup.eContents().get(5); private final Assignment cProtocolAssignment_6 = (Assignment)cGroup.eContents().get(6); private final CrossReference cProtocolProtocolCrossReference_6_0 = (CrossReference)cProtocolAssignment_6.eContents().get(0); private final RuleCall cProtocolProtocolIDTerminalRuleCall_6_0_1 = (RuleCall)cProtocolProtocolCrossReference_6_0.eContents().get(1); private final Assignment cAnnotationsAssignment_7 = (Assignment)cGroup.eContents().get(7); private final RuleCall cAnnotationsPlatformAnnotationParserRuleCall_7_0 = (RuleCall)cAnnotationsAssignment_7.eContents().get(0); //ExternalConnector: // 'connector' name=ID? inst=[Instance] '.' port=[Port] 'over' protocol=[Protocol] annotations+=PlatformAnnotation*; @Override public ParserRule getRule() { return rule; } //'connector' name=ID? inst=[Instance] '.' port=[Port] 'over' protocol=[Protocol] annotations+=PlatformAnnotation* public Group getGroup() { return cGroup; } //'connector' public Keyword getConnectorKeyword_0() { return cConnectorKeyword_0; } //name=ID? public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //inst=[Instance] public Assignment getInstAssignment_2() { return cInstAssignment_2; } //[Instance] public CrossReference getInstInstanceCrossReference_2_0() { return cInstInstanceCrossReference_2_0; } //ID public RuleCall getInstInstanceIDTerminalRuleCall_2_0_1() { return cInstInstanceIDTerminalRuleCall_2_0_1; } //'.' public Keyword getFullStopKeyword_3() { return cFullStopKeyword_3; } //port=[Port] public Assignment getPortAssignment_4() { return cPortAssignment_4; } //[Port] public CrossReference getPortPortCrossReference_4_0() { return cPortPortCrossReference_4_0; } //ID public RuleCall getPortPortIDTerminalRuleCall_4_0_1() { return cPortPortIDTerminalRuleCall_4_0_1; } //'over' public Keyword getOverKeyword_5() { return cOverKeyword_5; } //protocol=[Protocol] public Assignment getProtocolAssignment_6() { return cProtocolAssignment_6; } //[Protocol] public CrossReference getProtocolProtocolCrossReference_6_0() { return cProtocolProtocolCrossReference_6_0; } //ID public RuleCall getProtocolProtocolIDTerminalRuleCall_6_0_1() { return cProtocolProtocolIDTerminalRuleCall_6_0_1; } //annotations+=PlatformAnnotation* public Assignment getAnnotationsAssignment_7() { return cAnnotationsAssignment_7; } //PlatformAnnotation public RuleCall getAnnotationsPlatformAnnotationParserRuleCall_7_0() { return cAnnotationsPlatformAnnotationParserRuleCall_7_0; } } private final ThingMLModelElements pThingMLModel; private final PlatformAnnotationElements pPlatformAnnotation; private final AnnotatedElementElements pAnnotatedElement; private final TypeRefElements pTypeRef; private final TypeElements pType; private final PrimitiveTypeElements pPrimitiveType; private final ObjectTypeElements pObjectType; private final EnumerationElements pEnumeration; private final EnumerationLiteralElements pEnumerationLiteral; private final ThingElements pThing; private final PropertyAssignElements pPropertyAssign; private final ProtocolElements pProtocol; private final FunctionElements pFunction; private final PropertyElements pProperty; private final MessageElements pMessage; private final ParameterElements pParameter; private final PortElements pPort; private final RequiredPortElements pRequiredPort; private final ProvidedPortElements pProvidedPort; private final InternalPortElements pInternalPort; private final RegionElements pRegion; private final RegionOrSessionElements pRegionOrSession; private final StateMachineElements pStateMachine; private final FinalStateElements pFinalState; private final CompositeStateElements pCompositeState; private final SessionElements pSession; private final ParallelRegionElements pParallelRegion; private final StateElements pState; private final HandlerElements pHandler; private final TransitionElements pTransition; private final InternalTransitionElements pInternalTransition; private final EventElements pEvent; private final ReceiveMessageElements pReceiveMessage; private final ActionElements pAction; private final VariableElements pVariable; private final ActionBlockElements pActionBlock; private final ExternStatementElements pExternStatement; private final LocalVariableElements pLocalVariable; private final SendActionElements pSendAction; private final VariableAssignmentElements pVariableAssignment; private final IncrementElements pIncrement; private final DecrementElements pDecrement; private final LoopActionElements pLoopAction; private final ConditionalActionElements pConditionalAction; private final ReturnActionElements pReturnAction; private final PrintActionElements pPrintAction; private final ErrorActionElements pErrorAction; private final StartSessionElements pStartSession; private final FunctionCallStatementElements pFunctionCallStatement; private final ExpressionElements pExpression; private final OrExpressionElements pOrExpression; private final AndExpressionElements pAndExpression; private final EqualityElements pEquality; private final ComparaisonElements pComparaison; private final AdditionElements pAddition; private final MultiplicationElements pMultiplication; private final ModuloElements pModulo; private final PrimaryElements pPrimary; private final ArrayIndexPostfixElements pArrayIndexPostfix; private final AtomicExpressionElements pAtomicExpression; private final ExternExpressionElements pExternExpression; private final EnumLiteralRefElements pEnumLiteralRef; private final IntegerLiteralElements pIntegerLiteral; private final BooleanLiteralElements pBooleanLiteral; private final StringLiteralElements pStringLiteral; private final DoubleLiteralElements pDoubleLiteral; private final PropertyReferenceElements pPropertyReference; private final EventReferenceElements pEventReference; private final FunctionCallExpressionElements pFunctionCallExpression; private final ConfigurationElements pConfiguration; private final InstanceElements pInstance; private final ConfigPropertyAssignElements pConfigPropertyAssign; private final AbstractConnectorElements pAbstractConnector; private final ConnectorElements pConnector; private final ExternalConnectorElements pExternalConnector; private final TerminalRule tID; private final TerminalRule tINT; private final TerminalRule tFLOAT; private final TerminalRule tANNOTATION_ID; private final TerminalRule tSTRING_EXT; private final TerminalRule tSTRING_LIT; private final TerminalRule tML_COMMENT; private final TerminalRule tSL_COMMENT; private final TerminalRule tWS; private final TerminalRule tANY_OTHER; private final Grammar grammar; @Inject public ThingMLGrammarAccess(GrammarProvider grammarProvider) { this.grammar = internalFindGrammar(grammarProvider); this.pThingMLModel = new ThingMLModelElements(); this.pPlatformAnnotation = new PlatformAnnotationElements(); this.pAnnotatedElement = new AnnotatedElementElements(); this.pTypeRef = new TypeRefElements(); this.pType = new TypeElements(); this.pPrimitiveType = new PrimitiveTypeElements(); this.pObjectType = new ObjectTypeElements(); this.pEnumeration = new EnumerationElements(); this.pEnumerationLiteral = new EnumerationLiteralElements(); this.pThing = new ThingElements(); this.pPropertyAssign = new PropertyAssignElements(); this.pProtocol = new ProtocolElements(); this.pFunction = new FunctionElements(); this.pProperty = new PropertyElements(); this.pMessage = new MessageElements(); this.pParameter = new ParameterElements(); this.pPort = new PortElements(); this.pRequiredPort = new RequiredPortElements(); this.pProvidedPort = new ProvidedPortElements(); this.pInternalPort = new InternalPortElements(); this.pRegion = new RegionElements(); this.pRegionOrSession = new RegionOrSessionElements(); this.pStateMachine = new StateMachineElements(); this.pFinalState = new FinalStateElements(); this.pCompositeState = new CompositeStateElements(); this.pSession = new SessionElements(); this.pParallelRegion = new ParallelRegionElements(); this.pState = new StateElements(); this.pHandler = new HandlerElements(); this.pTransition = new TransitionElements(); this.pInternalTransition = new InternalTransitionElements(); this.pEvent = new EventElements(); this.pReceiveMessage = new ReceiveMessageElements(); this.pAction = new ActionElements(); this.pVariable = new VariableElements(); this.pActionBlock = new ActionBlockElements(); this.pExternStatement = new ExternStatementElements(); this.pLocalVariable = new LocalVariableElements(); this.pSendAction = new SendActionElements(); this.pVariableAssignment = new VariableAssignmentElements(); this.pIncrement = new IncrementElements(); this.pDecrement = new DecrementElements(); this.pLoopAction = new LoopActionElements(); this.pConditionalAction = new ConditionalActionElements(); this.pReturnAction = new ReturnActionElements(); this.pPrintAction = new PrintActionElements(); this.pErrorAction = new ErrorActionElements(); this.pStartSession = new StartSessionElements(); this.pFunctionCallStatement = new FunctionCallStatementElements(); this.pExpression = new ExpressionElements(); this.pOrExpression = new OrExpressionElements(); this.pAndExpression = new AndExpressionElements(); this.pEquality = new EqualityElements(); this.pComparaison = new ComparaisonElements(); this.pAddition = new AdditionElements(); this.pMultiplication = new MultiplicationElements(); this.pModulo = new ModuloElements(); this.pPrimary = new PrimaryElements(); this.pArrayIndexPostfix = new ArrayIndexPostfixElements(); this.pAtomicExpression = new AtomicExpressionElements(); this.pExternExpression = new ExternExpressionElements(); this.pEnumLiteralRef = new EnumLiteralRefElements(); this.pIntegerLiteral = new IntegerLiteralElements(); this.pBooleanLiteral = new BooleanLiteralElements(); this.pStringLiteral = new StringLiteralElements(); this.pDoubleLiteral = new DoubleLiteralElements(); this.pPropertyReference = new PropertyReferenceElements(); this.pEventReference = new EventReferenceElements(); this.pFunctionCallExpression = new FunctionCallExpressionElements(); this.pConfiguration = new ConfigurationElements(); this.pInstance = new InstanceElements(); this.pConfigPropertyAssign = new ConfigPropertyAssignElements(); this.pAbstractConnector = new AbstractConnectorElements(); this.pConnector = new ConnectorElements(); this.pExternalConnector = new ExternalConnectorElements(); this.tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ID"); this.tINT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.INT"); this.tFLOAT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.FLOAT"); this.tANNOTATION_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ANNOTATION_ID"); this.tSTRING_EXT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.STRING_EXT"); this.tSTRING_LIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.STRING_LIT"); this.tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ML_COMMENT"); this.tSL_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.SL_COMMENT"); this.tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.WS"); this.tANY_OTHER = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.thingml.xtext.ThingML.ANY_OTHER"); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("org.thingml.xtext.ThingML".equals(grammar.getName())) { return grammar; } List<Grammar> grammars = grammar.getUsedGrammars(); if (!grammars.isEmpty()) { grammar = grammars.iterator().next(); } else { return null; } } return grammar; } @Override public Grammar getGrammar() { return grammar; } //ThingMLModel: // ("import" importURI+=STRING_LIT)* (types+=Type | protocols+=Protocol | configs+=Configuration)*; public ThingMLModelElements getThingMLModelAccess() { return pThingMLModel; } public ParserRule getThingMLModelRule() { return getThingMLModelAccess().getRule(); } /// * //Import returns ThingMLModel: // "import" importURI=STRING_LIT //; // * / PlatformAnnotation: // name=ANNOTATION_ID value=STRING_LIT; public PlatformAnnotationElements getPlatformAnnotationAccess() { return pPlatformAnnotation; } public ParserRule getPlatformAnnotationRule() { return getPlatformAnnotationAccess().getRule(); } //AnnotatedElement: // Protocol | Function | Property | Message | Parameter | Port | Configuration | Handler | State | CompositeState | // FinalState | Type | PropertyAssign | Session | ParallelRegion | LocalVariable | Instance | AbstractConnector; public AnnotatedElementElements getAnnotatedElementAccess() { return pAnnotatedElement; } public ParserRule getAnnotatedElementRule() { return getAnnotatedElementAccess().getRule(); } /// ***************************************************************************** // * TYPES / ENUMERATIONS * // ***************************************************************************** / TypeRef: // type=[Type] (^isArray?='[' cardinality=Expression? ']')?; public TypeRefElements getTypeRefAccess() { return pTypeRef; } public ParserRule getTypeRefRule() { return getTypeRefAccess().getRule(); } //Type: // PrimitiveType | ObjectType | Enumeration | Thing; public TypeElements getTypeAccess() { return pType; } public ParserRule getTypeRule() { return getTypeAccess().getRule(); } //PrimitiveType: // 'datatype' name=ID '<' ByteSize=INT '>' annotations+=PlatformAnnotation* ';'?; public PrimitiveTypeElements getPrimitiveTypeAccess() { return pPrimitiveType; } public ParserRule getPrimitiveTypeRule() { return getPrimitiveTypeAccess().getRule(); } //ObjectType: // 'object' name=ID annotations+=PlatformAnnotation* ';'?; public ObjectTypeElements getObjectTypeAccess() { return pObjectType; } public ParserRule getObjectTypeRule() { return getObjectTypeAccess().getRule(); } //Enumeration: // 'enumeration' name=ID annotations+=PlatformAnnotation* '{' literals+=EnumerationLiteral* '}'; public EnumerationElements getEnumerationAccess() { return pEnumeration; } public ParserRule getEnumerationRule() { return getEnumerationAccess().getRule(); } //EnumerationLiteral: // name=ID annotations+=PlatformAnnotation*; public EnumerationLiteralElements getEnumerationLiteralAccess() { return pEnumerationLiteral; } public ParserRule getEnumerationLiteralRule() { return getEnumerationLiteralAccess().getRule(); } /// ***************************************************************************** // * THING / COMPONENT MODEL * // ***************************************************************************** / Thing: // 'thing' ^fragment?='fragment'? name=ID ('includes' includes+=[Thing] ("," includes+=[Thing])*)? // annotations+=PlatformAnnotation* '{' (messages+=Message | ports+=Port | properties+=Property | functions+=Function | // assign+=PropertyAssign | behaviour+=StateMachine / * | streams+=Stream* /)* // '}'; public ThingElements getThingAccess() { return pThing; } public ParserRule getThingRule() { return getThingAccess().getRule(); } //PropertyAssign: // 'set' property=[Property] ('[' index+=Expression ']')* '=' init=Expression annotations+=PlatformAnnotation*; public PropertyAssignElements getPropertyAssignAccess() { return pPropertyAssign; } public ParserRule getPropertyAssignRule() { return getPropertyAssignAccess().getRule(); } //Protocol: // 'protocol' name=ID annotations+=PlatformAnnotation* ';'; public ProtocolElements getProtocolAccess() { return pProtocol; } public ParserRule getProtocolRule() { return getProtocolAccess().getRule(); } //Function: // 'function' name=ID '(' (parameters+=Parameter ("," parameters+=Parameter)*)? ')' (':' typeRef=TypeRef)? // annotations+=PlatformAnnotation* body=Action // //('isArray' isArray=EBoolean)? // //('cardinality' cardinality=Expression)? //; public FunctionElements getFunctionAccess() { return pFunction; } public ParserRule getFunctionRule() { return getFunctionAccess().getRule(); } //Property: // ^changeable?='readonly'? 'property' name=ID ':' typeRef=TypeRef ('=' init=Expression)? // annotations+=PlatformAnnotation* // //('isArray' isArray=EBoolean)? // //('changeable' changeable=EBoolean)? // //('cardinality' cardinality=Expression)? //; public PropertyElements getPropertyAccess() { return pProperty; } public ParserRule getPropertyRule() { return getPropertyAccess().getRule(); } //Message: // 'message' name=ID '(' (parameters+=Parameter ("," parameters+=Parameter)*)? ')' // annotations+=PlatformAnnotation* ';'?; public MessageElements getMessageAccess() { return pMessage; } public ParserRule getMessageRule() { return getMessageAccess().getRule(); } //Parameter: // name=ID ':' typeRef=TypeRef annotations+=PlatformAnnotation* // // ('isArray' isArray=EBoolean)? // // ('cardinality' cardinality=Expression)? //; public ParameterElements getParameterAccess() { return pParameter; } public ParserRule getParameterRule() { return getParameterAccess().getRule(); } //Port: // RequiredPort | ProvidedPort | InternalPort; public PortElements getPortAccess() { return pPort; } public ParserRule getPortRule() { return getPortAccess().getRule(); } //RequiredPort: // optional?='optional'? 'required' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," // sends+=[Message])* | 'receives' receives+=[Message] ("," receives+=[Message])*)* // '}'; public RequiredPortElements getRequiredPortAccess() { return pRequiredPort; } public ParserRule getRequiredPortRule() { return getRequiredPortAccess().getRule(); } //ProvidedPort: // 'provided' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," sends+=[Message])* | // 'receives' receives+=[Message] ("," receives+=[Message])*)* // '}'; public ProvidedPortElements getProvidedPortAccess() { return pProvidedPort; } public ParserRule getProvidedPortRule() { return getProvidedPortAccess().getRule(); } //InternalPort: // 'internal' 'port' name=ID annotations+=PlatformAnnotation* '{' ('sends' sends+=[Message] ("," sends+=[Message])* | // 'receives' receives+=[Message] ("," receives+=[Message])*)* // '}'; public InternalPortElements getInternalPortAccess() { return pInternalPort; } public ParserRule getInternalPortRule() { return getInternalPortAccess().getRule(); } /// ***************************************************************************** // * CEP STREAMS * // ***************************************************************************** / / * //Stream returns Stream: // 'stream' name=ID ( annotations+=PlatformAnnotation )* 'from' input=Source // ('select' selection+=LocalVariable ( "," selection+=LocalVariable)*)? // 'produce' output=SendAction ; // //Source returns Source: // JoinSources | MergeSources | SimpleSource; // //ViewSource returns ViewSource: // Filter | LengthWindow | TimeWindow; // //ReferencedElmt returns ReferencedElmt: // Message | Parameter | Property | ReceiveMessage | LocalVariable | JoinSources | MergeSources | SimpleSource | MessageParameter; // //ElmtProperty returns ElmtProperty: // SimpleParamRef | ArrayParamRef | LengthArray; // // //JoinSources returns JoinSources: // 'join' name=ID ':' '[' sources+=Source ( "&" sources+=Source)* '->' resultMessage=[Message|ID] '(' rules+=Expression ( "," rules+=Expression)* ')' ']' ('::' operators+=ViewSource)*; // //MergeSources returns MergeSources: // 'merge' name=ID ':' '[' sources+=Source ( "|" sources+=Source)* '->' resultMessage=[Message|ID] ']' ('::' operators+=ViewSource)*; // //SimpleSource returns SimpleSource: // name=ID ':' message=ReceiveMessage ('::' operators+=ViewSource)*; // //Filter returns Filter: // 'keep' 'if' guard=Expression; // //LengthWindow returns LengthWindow: // 'buffer' size=Expression ('by' step=Expression)?; // //TimeWindow returns TimeWindow: // 'during' duration=Expression ('by' step=Expression)?; // //MessageParameter returns MessageParameter: // name=ID ':' msgRef=[Message|ID] ; // //SimpleParamRef returns SimpleParamRef: // parameterRef=[Parameter|ID]; // //ArrayParamRef returns ArrayParamRef: // parameterRef=[Parameter|ID] '[' ']'; // //LengthArray returns LengthArray: // {LengthArray} // 'length'; // * / / ***************************************************************************** // * STATE MECHINES * // ***************************************************************************** / Region: // RegionOrSession | CompositeState; public RegionElements getRegionAccess() { return pRegion; } public ParserRule getRegionRule() { return getRegionAccess().getRule(); } //RegionOrSession: // ParallelRegion | Session; public RegionOrSessionElements getRegionOrSessionAccess() { return pRegionOrSession; } public ParserRule getRegionOrSessionRule() { return getRegionOrSessionAccess().getRule(); } //StateMachine CompositeState: // 'statechart' name=ID? 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' // properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | // internal+=InternalTransition)* // region+=RegionOrSession* // '}' public StateMachineElements getStateMachineAccess() { return pStateMachine; } public ParserRule getStateMachineRule() { return getStateMachineAccess().getRule(); } //FinalState: // 'final' 'state' name=ID annotations+=PlatformAnnotation* '{' ('on' 'entry' entry=Action)? '}'; public FinalStateElements getFinalStateAccess() { return pFinalState; } public ParserRule getFinalStateRule() { return getFinalStateAccess().getRule(); } //CompositeState: // 'composite' 'state' name=ID 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' // properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | // internal+=InternalTransition | outgoing+=Transition)* // region+=RegionOrSession* // '}'; public CompositeStateElements getCompositeStateAccess() { return pCompositeState; } public ParserRule getCompositeStateRule() { return getCompositeStateAccess().getRule(); } //Session: // 'session' name=ID ('<' maxInstances=INT '>')? 'init' initial=[State] annotations+=PlatformAnnotation* '{' // properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (substate+=State | // internal+=InternalTransition)* // region+=RegionOrSession* // '}'; public SessionElements getSessionAccess() { return pSession; } public ParserRule getSessionRule() { return getSessionAccess().getRule(); } //ParallelRegion: // 'region' name=ID? 'init' initial=[State] ('keeps' history?='history')? annotations+=PlatformAnnotation* '{' // substate+=State* // region+=RegionOrSession* // '}'; public ParallelRegionElements getParallelRegionAccess() { return pParallelRegion; } public ParserRule getParallelRegionRule() { return getParallelRegionAccess().getRule(); } //State: // StateMachine | FinalState | CompositeState | // 'state' name=ID annotations+=PlatformAnnotation* '{' // properties+=Property* ('on' 'entry' entry=Action)? ('on' 'exit' exit=Action)? (internal+=InternalTransition | // outgoing+=Transition)* // '}'; public StateElements getStateAccess() { return pState; } public ParserRule getStateRule() { return getStateAccess().getRule(); } //Handler: // Transition | InternalTransition; public HandlerElements getHandlerAccess() { return pHandler; } public ParserRule getHandlerRule() { return getHandlerAccess().getRule(); } //Transition: // 'transition' name=ID? '->' target=[State] annotations+=PlatformAnnotation* ('event' event+=Event)* ('guard' // guard=Expression)? ('action' action=Action)?; public TransitionElements getTransitionAccess() { return pTransition; } public ParserRule getTransitionRule() { return getTransitionAccess().getRule(); } //InternalTransition: // {InternalTransition} // 'internal' name=ID? // annotations+=PlatformAnnotation* ('event' event+=Event)* ('guard' guard=Expression)? ('action' action=Action)?; public InternalTransitionElements getInternalTransitionAccess() { return pInternalTransition; } public ParserRule getInternalTransitionRule() { return getInternalTransitionAccess().getRule(); } //Event: // ReceiveMessage; public EventElements getEventAccess() { return pEvent; } public ParserRule getEventRule() { return getEventAccess().getRule(); } //ReceiveMessage: // (name=ID ":")? port=[Port] '?' message=[Message]; public ReceiveMessageElements getReceiveMessageAccess() { return pReceiveMessage; } public ParserRule getReceiveMessageRule() { return getReceiveMessageAccess().getRule(); } /// ***************************************************************************** // * ACTIONS * // ***************************************************************************** / Action: // ActionBlock | ExternStatement | SendAction | VariableAssignment | Increment | Decrement | LoopAction | // ConditionalAction | ReturnAction | PrintAction | ErrorAction | StartSession | FunctionCallStatement | LocalVariable; public ActionElements getActionAccess() { return pAction; } public ParserRule getActionRule() { return getActionAccess().getRule(); } //Variable: // LocalVariable | Property | Parameter; public VariableElements getVariableAccess() { return pVariable; } public ParserRule getVariableRule() { return getVariableAccess().getRule(); } //ActionBlock: // {ActionBlock} // 'do' actions+=Action* 'end'; public ActionBlockElements getActionBlockAccess() { return pActionBlock; } public ParserRule getActionBlockRule() { return getActionBlockAccess().getRule(); } //ExternStatement: // statement=STRING_EXT ('&' segments+=Expression)*; public ExternStatementElements getExternStatementAccess() { return pExternStatement; } public ParserRule getExternStatementRule() { return getExternStatementAccess().getRule(); } //LocalVariable: // ^changeable?='readonly'? 'var' name=ID ':' typeRef=TypeRef ('=' init=Expression)? annotations+=PlatformAnnotation* // //('isArray' isArray=EBoolean)? // //('cardinality' cardinality=Expression)? //; public LocalVariableElements getLocalVariableAccess() { return pLocalVariable; } public ParserRule getLocalVariableRule() { return getLocalVariableAccess().getRule(); } //SendAction: // port=[Port] '!' message=[Message] '(' (parameters+=Expression ("," parameters+=Expression)*)? ')'; public SendActionElements getSendActionAccess() { return pSendAction; } public ParserRule getSendActionRule() { return getSendActionAccess().getRule(); } //VariableAssignment: // property=[Variable] ('[' index+=Expression ']')* '=' expression=Expression; public VariableAssignmentElements getVariableAssignmentAccess() { return pVariableAssignment; } public ParserRule getVariableAssignmentRule() { return getVariableAssignmentAccess().getRule(); } //Increment: // var=[Variable] '++'; public IncrementElements getIncrementAccess() { return pIncrement; } public ParserRule getIncrementRule() { return getIncrementAccess().getRule(); } //Decrement: // var=[Variable] '--'; public DecrementElements getDecrementAccess() { return pDecrement; } public ParserRule getDecrementRule() { return getDecrementAccess().getRule(); } //LoopAction: // 'while' '(' condition=Expression ')' action=Action; public LoopActionElements getLoopActionAccess() { return pLoopAction; } public ParserRule getLoopActionRule() { return getLoopActionAccess().getRule(); } //ConditionalAction: // 'if' '(' condition=Expression ')' action=Action ('else' elseAction=Action)?; public ConditionalActionElements getConditionalActionAccess() { return pConditionalAction; } public ParserRule getConditionalActionRule() { return getConditionalActionAccess().getRule(); } //ReturnAction: // 'return' exp=Expression; public ReturnActionElements getReturnActionAccess() { return pReturnAction; } public ParserRule getReturnActionRule() { return getReturnActionAccess().getRule(); } //PrintAction: // 'print' msg=Expression; public PrintActionElements getPrintActionAccess() { return pPrintAction; } public ParserRule getPrintActionRule() { return getPrintActionAccess().getRule(); } //ErrorAction: // 'error' msg=Expression; public ErrorActionElements getErrorActionAccess() { return pErrorAction; } public ParserRule getErrorActionRule() { return getErrorActionAccess().getRule(); } //StartSession: // 'fork' session=[Session]; public StartSessionElements getStartSessionAccess() { return pStartSession; } public ParserRule getStartSessionRule() { return getStartSessionAccess().getRule(); } //FunctionCallStatement: // function=[Function] '(' (parameters+=Expression ("," parameters+=Expression)*)? ')'; public FunctionCallStatementElements getFunctionCallStatementAccess() { return pFunctionCallStatement; } public ParserRule getFunctionCallStatementRule() { return getFunctionCallStatementAccess().getRule(); } /// ***************************************************************************** // * EXPRESSIONS * // ***************************************************************************** / //ExternExpression | EnumLiteralRef | IntegerLiteral | BooleanLiteral | StringLiteral | DoubleLiteral | NotExpression | UnaryMinus | ////PlusExpression | MinusExpression | TimesExpression | DivExpression | ModExpression | EqualsExpression | NotEqualsExpression | GreaterExpression | ////LowerExpression | GreaterOrEqualExpression | LowerOrEqualExpression | AndExpression | OrExpression | PropertyReference | ArrayIndex | ////ExpressionGroup | FunctionCallExpression | MessageParameter | Reference; //Expression: // OrExpression; public ExpressionElements getExpressionAccess() { return pExpression; } public ParserRule getExpressionRule() { return getExpressionAccess().getRule(); } //OrExpression Expression: // AndExpression ({OrExpression.lhs=current} "or" rhs=AndExpression)* public OrExpressionElements getOrExpressionAccess() { return pOrExpression; } public ParserRule getOrExpressionRule() { return getOrExpressionAccess().getRule(); } //AndExpression Expression: // Equality ({AndExpression.lhs=current} "and" rhs=Equality)* public AndExpressionElements getAndExpressionAccess() { return pAndExpression; } public ParserRule getAndExpressionRule() { return getAndExpressionAccess().getRule(); } //Equality Expression: // Comparaison ({EqualsExpression.lhs=current} "==" rhs=Comparaison | {NotEqualsExpression.lhs=current} "!=" // rhs=Comparaison)* public EqualityElements getEqualityAccess() { return pEquality; } public ParserRule getEqualityRule() { return getEqualityAccess().getRule(); } //Comparaison Expression: // Addition ({GreaterExpression.lhs=current} ">" rhs=Addition | {LowerExpression.lhs=current} "<" rhs=Addition | // {GreaterOrEqualExpression.lhs=current} ">=" rhs=Addition | {LowerOrEqualExpression.lhs=current} "<=" rhs=Addition)* public ComparaisonElements getComparaisonAccess() { return pComparaison; } public ParserRule getComparaisonRule() { return getComparaisonAccess().getRule(); } //Addition Expression: // Multiplication ({PlusExpression.lhs=current} "+" rhs=Multiplication | {MinusExpression.lhs=current} "-" // rhs=Multiplication)* public AdditionElements getAdditionAccess() { return pAddition; } public ParserRule getAdditionRule() { return getAdditionAccess().getRule(); } //Multiplication Expression: // Modulo ({TimesExpression.lhs=current} "*" rhs=Modulo | {DivExpression.lhs=current} "/" rhs=Modulo)* public MultiplicationElements getMultiplicationAccess() { return pMultiplication; } public ParserRule getMultiplicationRule() { return getMultiplicationAccess().getRule(); } //Modulo Expression: // Primary ({ModExpression.lhs=current} "%" rhs=Expression)? public ModuloElements getModuloAccess() { return pModulo; } public ParserRule getModuloRule() { return getModuloAccess().getRule(); } //Primary Expression: // '(' Expression ')' | {NotExpression} "not" term=Primary | {UnaryMinus} '-' term=Primary // | ArrayIndexPostfix public PrimaryElements getPrimaryAccess() { return pPrimary; } public ParserRule getPrimaryRule() { return getPrimaryAccess().getRule(); } //ArrayIndexPostfix Expression: // AtomicExpression ({ArrayIndex.array=current} '[' index=Expression ']')? public ArrayIndexPostfixElements getArrayIndexPostfixAccess() { return pArrayIndexPostfix; } public ParserRule getArrayIndexPostfixRule() { return getArrayIndexPostfixAccess().getRule(); } //AtomicExpression Expression: // ExternExpression | EnumLiteralRef | IntegerLiteral | BooleanLiteral | StringLiteral | DoubleLiteral | // PropertyReference | FunctionCallExpression // | EventReference public AtomicExpressionElements getAtomicExpressionAccess() { return pAtomicExpression; } public ParserRule getAtomicExpressionRule() { return getAtomicExpressionAccess().getRule(); } //ExternExpression: // expression=STRING_EXT ('&' segments+=Expression)*; public ExternExpressionElements getExternExpressionAccess() { return pExternExpression; } public ParserRule getExternExpressionRule() { return getExternExpressionAccess().getRule(); } //EnumLiteralRef: // ^enum=[Enumeration] ':' literal=[EnumerationLiteral]; public EnumLiteralRefElements getEnumLiteralRefAccess() { return pEnumLiteralRef; } public ParserRule getEnumLiteralRefRule() { return getEnumLiteralRefAccess().getRule(); } //IntegerLiteral: // intValue=INT; public IntegerLiteralElements getIntegerLiteralAccess() { return pIntegerLiteral; } public ParserRule getIntegerLiteralRule() { return getIntegerLiteralAccess().getRule(); } //BooleanLiteral: // boolValue=('true' | 'false'); public BooleanLiteralElements getBooleanLiteralAccess() { return pBooleanLiteral; } public ParserRule getBooleanLiteralRule() { return getBooleanLiteralAccess().getRule(); } //StringLiteral: // stringValue=STRING_LIT; public StringLiteralElements getStringLiteralAccess() { return pStringLiteral; } public ParserRule getStringLiteralRule() { return getStringLiteralAccess().getRule(); } //DoubleLiteral: // doubleValue=FLOAT; public DoubleLiteralElements getDoubleLiteralAccess() { return pDoubleLiteral; } public ParserRule getDoubleLiteralRule() { return getDoubleLiteralAccess().getRule(); } //PropertyReference: // property=[Variable]; public PropertyReferenceElements getPropertyReferenceAccess() { return pPropertyReference; } public ParserRule getPropertyReferenceRule() { return getPropertyReferenceAccess().getRule(); } //EventReference: // receiveMsg=[Event] "." parameter=[Parameter]; public EventReferenceElements getEventReferenceAccess() { return pEventReference; } public ParserRule getEventReferenceRule() { return getEventReferenceAccess().getRule(); } //FunctionCallExpression: // function=[Function] '(' (parameters+=Expression ("," parameters+=Expression)*)? // ')'; public FunctionCallExpressionElements getFunctionCallExpressionAccess() { return pFunctionCallExpression; } public ParserRule getFunctionCallExpressionRule() { return getFunctionCallExpressionAccess().getRule(); } /// ***************************************************************************** // * CONFIGURATIONS * // ***************************************************************************** / Configuration: // 'configuration' name=ID annotations+=PlatformAnnotation* '{' (instances+=Instance | connectors+=AbstractConnector | // propassigns+=ConfigPropertyAssign)* // '}'; public ConfigurationElements getConfigurationAccess() { return pConfiguration; } public ParserRule getConfigurationRule() { return getConfigurationAccess().getRule(); } //Instance: // 'instance' name=ID ':' type=[Thing] annotations+=PlatformAnnotation*; public InstanceElements getInstanceAccess() { return pInstance; } public ParserRule getInstanceRule() { return getInstanceAccess().getRule(); } //ConfigPropertyAssign: // 'set' instance=[Instance] '.' property=[Property] ('[' index+=Expression ']')* '=' init=Expression // annotations+=PlatformAnnotation*; public ConfigPropertyAssignElements getConfigPropertyAssignAccess() { return pConfigPropertyAssign; } public ParserRule getConfigPropertyAssignRule() { return getConfigPropertyAssignAccess().getRule(); } //AbstractConnector: // Connector | ExternalConnector; public AbstractConnectorElements getAbstractConnectorAccess() { return pAbstractConnector; } public ParserRule getAbstractConnectorRule() { return getAbstractConnectorAccess().getRule(); } //Connector: // 'connector' name=ID? cli=[Instance] '.' required=[RequiredPort] '=>' srv=[Instance] '.' provided=[ProvidedPort] // annotations+=PlatformAnnotation*; public ConnectorElements getConnectorAccess() { return pConnector; } public ParserRule getConnectorRule() { return getConnectorAccess().getRule(); } //ExternalConnector: // 'connector' name=ID? inst=[Instance] '.' port=[Port] 'over' protocol=[Protocol] annotations+=PlatformAnnotation*; public ExternalConnectorElements getExternalConnectorAccess() { return pExternalConnector; } public ParserRule getExternalConnectorRule() { return getExternalConnectorAccess().getRule(); } //terminal ID: // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; public TerminalRule getIDRule() { return tID; } //terminal INT returns ecore::EInt: // '0'..'9'+; public TerminalRule getINTRule() { return tINT; } //terminal FLOAT returns ecore::EDouble: // '0'..'9'+ '.' '0'..'9'* (('e' | 'E') ('+' | '-')? '0'..'9'+)? // | '.' '0'..'9'+ (('e' | 'E') ('+' | '-')? '0'..'9'+)? // | '0'..'9'+ ('e' | 'E') ('+' | '-')? '0'..'9'+; public TerminalRule getFLOATRule() { return tFLOAT; } //terminal ANNOTATION_ID: // "@" ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; public TerminalRule getANNOTATION_IDRule() { return tANNOTATION_ID; } //terminal STRING_EXT: // "'" ('\\' . | !('\\' | "'"))* "'"; public TerminalRule getSTRING_EXTRule() { return tSTRING_EXT; } //terminal STRING_LIT: // '"' ('\\' . | !('\\' | '"'))* '"'; public TerminalRule getSTRING_LITRule() { return tSTRING_LIT; } //terminal ML_COMMENT: // '/ *'->'* /'; public TerminalRule getML_COMMENTRule() { return tML_COMMENT; } //terminal SL_COMMENT: // '//' !('\n' | '\r')* ('\r'? '\n')?; public TerminalRule getSL_COMMENTRule() { return tSL_COMMENT; } //terminal WS: // ' ' | '\t' | '\r' | '\n'+; public TerminalRule getWSRule() { return tWS; } //terminal ANY_OTHER: // .; public TerminalRule getANY_OTHERRule() { return tANY_OTHER; } }