blob: d9b218cbce8eb317ab5448260bbb71aa57e4c662 [file] [log] [blame]
/*****************************************************************************
* Copyright (c) 2018 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr
* - Initial API and implementation
*
******************************************************************************
* Generated by Xtext 2.21.0
*****************************************************************************/
grammar InternalFormalML;
options {
superClass=AbstractInternalAntlrParser;
backtrack=true;
}
@lexer::header {
package org.eclipse.efm.formalml.xtext.parser.antlr.internal;
// Hack: Use our own Lexer superclass by means of import.
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.parser.antlr.Lexer;
}
@parser::header {
package org.eclipse.efm.formalml.xtext.parser.antlr.internal;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper.UnorderedGroupState;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import org.eclipse.efm.formalml.xtext.services.FormalMLGrammarAccess;
}
@parser::members {
/*
This grammar contains a lot of empty actions to work around a bug in ANTLR.
Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases.
*/
private FormalMLGrammarAccess grammarAccess;
public InternalFormalMLParser(TokenStream input, FormalMLGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "Xlia";
}
@Override
protected FormalMLGrammarAccess getGrammarAccess() {
return grammarAccess;
}
}
@rulecatch {
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
}
// Entry rule entryRuleXlia
entryRuleXlia returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXliaRule()); }
iv_ruleXlia=ruleXlia
{ $current=$iv_ruleXlia.current; }
EOF;
// Rule Xlia
ruleXlia returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getXliaAccess().getPrologXliaPrologObjectParserRuleCall_0_0());
}
lv_prolog_0_0=ruleXliaPrologObject
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaRule());
}
set(
$current,
"prolog",
lv_prolog_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.XliaPrologObject");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getXliaAccess().getSystemXliaSystemParserRuleCall_1_0());
}
lv_system_1_0=ruleXliaSystem
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaRule());
}
set(
$current,
"system",
lv_system_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.XliaSystem");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleXliaPrologObject
entryRuleXliaPrologObject returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXliaPrologObjectRule()); }
iv_ruleXliaPrologObject=ruleXliaPrologObject
{ $current=$iv_ruleXliaPrologObject.current; }
EOF;
// Rule XliaPrologObject
ruleXliaPrologObject returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
lv_name_0_1='@FormalML'
{
newLeafNode(lv_name_0_1, grammarAccess.getXliaPrologObjectAccess().getNameFormalMLKeyword_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaPrologObjectRule());
}
setWithLastConsumed($current, "name", lv_name_0_1, null);
}
|
lv_name_0_2='@xfml'
{
newLeafNode(lv_name_0_2, grammarAccess.getXliaPrologObjectAccess().getNameXfmlKeyword_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaPrologObjectRule());
}
setWithLastConsumed($current, "name", lv_name_0_2, null);
}
|
lv_name_0_3='@fml'
{
newLeafNode(lv_name_0_3, grammarAccess.getXliaPrologObjectAccess().getNameFmlKeyword_0_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaPrologObjectRule());
}
setWithLastConsumed($current, "name", lv_name_0_3, null);
}
|
lv_name_0_4='@xlia'
{
newLeafNode(lv_name_0_4, grammarAccess.getXliaPrologObjectAccess().getNameXliaKeyword_0_0_3());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaPrologObjectRule());
}
setWithLastConsumed($current, "name", lv_name_0_4, null);
}
|
lv_name_0_5='@xfsp'
{
newLeafNode(lv_name_0_5, grammarAccess.getXliaPrologObjectAccess().getNameXfspKeyword_0_0_4());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaPrologObjectRule());
}
setWithLastConsumed($current, "name", lv_name_0_5, null);
}
|
lv_name_0_6='@diversity'
{
newLeafNode(lv_name_0_6, grammarAccess.getXliaPrologObjectAccess().getNameDiversityKeyword_0_0_5());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaPrologObjectRule());
}
setWithLastConsumed($current, "name", lv_name_0_6, null);
}
)
)
)
otherlv_1='<'
{
newLeafNode(otherlv_1, grammarAccess.getXliaPrologObjectAccess().getLessThanSignKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getXliaPrologObjectAccess().getElementsXliaPrologAttributeParserRuleCall_2_0());
}
lv_elements_2_0=ruleXliaPrologAttribute
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaPrologObjectRule());
}
add(
$current,
"elements",
lv_elements_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.XliaPrologAttribute");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3='>:'
{
newLeafNode(otherlv_3, grammarAccess.getXliaPrologObjectAccess().getGreaterThanSignColonKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getXliaPrologObjectAccess().getElementsXliaOptionObjectParserRuleCall_4_0());
}
lv_elements_4_0=ruleXliaOptionObject
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaPrologObjectRule());
}
add(
$current,
"elements",
lv_elements_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.XliaOptionObject");
afterParserOrEnumRuleCall();
}
)
)?
)
;
// Entry rule entryRuleXliaPrologAttribute
entryRuleXliaPrologAttribute returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXliaPrologAttributeRule()); }
iv_ruleXliaPrologAttribute=ruleXliaPrologAttribute
{ $current=$iv_ruleXliaPrologAttribute.current; }
EOF;
// Rule XliaPrologAttribute
ruleXliaPrologAttribute returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
lv_name_0_1='system'
{
newLeafNode(lv_name_0_1, grammarAccess.getXliaPrologAttributeAccess().getNameSystemKeyword_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaPrologAttributeRule());
}
setWithLastConsumed($current, "name", lv_name_0_1, null);
}
|
lv_name_0_2='package'
{
newLeafNode(lv_name_0_2, grammarAccess.getXliaPrologAttributeAccess().getNamePackageKeyword_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaPrologAttributeRule());
}
setWithLastConsumed($current, "name", lv_name_0_2, null);
}
)
)
)
(
otherlv_1=','
{
newLeafNode(otherlv_1, grammarAccess.getXliaPrologAttributeAccess().getCommaKeyword_1_0());
}
(
otherlv_2='version:'
{
newLeafNode(otherlv_2, grammarAccess.getXliaPrologAttributeAccess().getVersionKeyword_1_1());
}
)?
(
(
(
{
newCompositeNode(grammarAccess.getXliaPrologAttributeAccess().getValueLiteralFloatExpressionParserRuleCall_1_2_0_0());
}
lv_value_3_1=ruleLiteralFloatExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaPrologAttributeRule());
}
set(
$current,
"value",
lv_value_3_1,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralFloatExpression");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXliaPrologAttributeAccess().getValueLiteralStringExpressionParserRuleCall_1_2_0_1());
}
lv_value_3_2=ruleLiteralStringExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaPrologAttributeRule());
}
set(
$current,
"value",
lv_value_3_2,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralStringExpression");
afterParserOrEnumRuleCall();
}
)
)
)
)?
)
;
// Entry rule entryRuleXliaOptionObject
entryRuleXliaOptionObject returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXliaOptionObjectRule()); }
iv_ruleXliaOptionObject=ruleXliaOptionObject
{ $current=$iv_ruleXliaOptionObject.current; }
EOF;
// Rule XliaOptionObject
ruleXliaOptionObject returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
lv_name_0_0='@option'
{
newLeafNode(lv_name_0_0, grammarAccess.getXliaOptionObjectAccess().getNameOptionKeyword_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaOptionObjectRule());
}
setWithLastConsumed($current, "name", lv_name_0_0, "@option");
}
)
)
otherlv_1='{'
{
newLeafNode(otherlv_1, grammarAccess.getXliaOptionObjectAccess().getLeftCurlyBracketKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getXliaOptionObjectAccess().getElementsXliaNamedElementParserRuleCall_2_0());
}
lv_elements_2_0=ruleXliaNamedElement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaOptionObjectRule());
}
add(
$current,
"elements",
lv_elements_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.XliaNamedElement");
afterParserOrEnumRuleCall();
}
)
)*
otherlv_3='}'
{
newLeafNode(otherlv_3, grammarAccess.getXliaOptionObjectAccess().getRightCurlyBracketKeyword_3());
}
)
;
// Entry rule entryRuleXliaNamedElement
entryRuleXliaNamedElement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXliaNamedElementRule()); }
iv_ruleXliaNamedElement=ruleXliaNamedElement
{ $current=$iv_ruleXliaNamedElement.current; }
EOF;
// Rule XliaNamedElement
ruleXliaNamedElement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getXliaNamedElementAccess().getXliaObjectParserRuleCall_0());
}
this_XliaObject_0=ruleXliaObject
{
$current = $this_XliaObject_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getXliaNamedElementAccess().getXliaSectionParserRuleCall_1());
}
this_XliaSection_1=ruleXliaSection
{
$current = $this_XliaSection_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getXliaNamedElementAccess().getXliaAttributeParserRuleCall_2());
}
this_XliaAttribute_2=ruleXliaAttribute
{
$current = $this_XliaAttribute_2.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleXliaObject
entryRuleXliaObject returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXliaObjectRule()); }
iv_ruleXliaObject=ruleXliaObject
{ $current=$iv_ruleXliaObject.current; }
EOF;
// Rule XliaObject
ruleXliaObject returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
lv_name_0_0=RULE_XLIA_ID
{
newLeafNode(lv_name_0_0, grammarAccess.getXliaObjectAccess().getNameXLIA_IDTerminalRuleCall_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaObjectRule());
}
setWithLastConsumed(
$current,
"name",
lv_name_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.XLIA_ID");
}
)
)
otherlv_1='{'
{
newLeafNode(otherlv_1, grammarAccess.getXliaObjectAccess().getLeftCurlyBracketKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getXliaObjectAccess().getElementsXliaNamedElementParserRuleCall_2_0());
}
lv_elements_2_0=ruleXliaNamedElement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaObjectRule());
}
add(
$current,
"elements",
lv_elements_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.XliaNamedElement");
afterParserOrEnumRuleCall();
}
)
)*
otherlv_3='}'
{
newLeafNode(otherlv_3, grammarAccess.getXliaObjectAccess().getRightCurlyBracketKeyword_3());
}
)
;
// Entry rule entryRuleXliaSection
entryRuleXliaSection returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXliaSectionRule()); }
iv_ruleXliaSection=ruleXliaSection
{ $current=$iv_ruleXliaSection.current; }
EOF;
// Rule XliaSection
ruleXliaSection returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
lv_name_0_0=RULE_XLIA_ID
{
newLeafNode(lv_name_0_0, grammarAccess.getXliaSectionAccess().getNameXLIA_IDTerminalRuleCall_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaSectionRule());
}
setWithLastConsumed(
$current,
"name",
lv_name_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.XLIA_ID");
}
)
)
otherlv_1='['
{
newLeafNode(otherlv_1, grammarAccess.getXliaSectionAccess().getLeftSquareBracketKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getXliaSectionAccess().getElementsXliaAttributeParserRuleCall_2_0());
}
lv_elements_2_0=ruleXliaAttribute
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSectionRule());
}
add(
$current,
"elements",
lv_elements_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.XliaAttribute");
afterParserOrEnumRuleCall();
}
)
)*
otherlv_3=']'
{
newLeafNode(otherlv_3, grammarAccess.getXliaSectionAccess().getRightSquareBracketKeyword_3());
}
)
;
// Entry rule entryRuleXliaAttribute
entryRuleXliaAttribute returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXliaAttributeRule()); }
iv_ruleXliaAttribute=ruleXliaAttribute
{ $current=$iv_ruleXliaAttribute.current; }
EOF;
// Rule XliaAttribute
ruleXliaAttribute returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
lv_name_0_0=RULE_XLIA_ID
{
newLeafNode(lv_name_0_0, grammarAccess.getXliaAttributeAccess().getNameXLIA_IDTerminalRuleCall_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaAttributeRule());
}
setWithLastConsumed(
$current,
"name",
lv_name_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.XLIA_ID");
}
)
)
otherlv_1='='
{
newLeafNode(otherlv_1, grammarAccess.getXliaAttributeAccess().getEqualsSignKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getXliaAttributeAccess().getValueExpressionParserRuleCall_2_0());
}
lv_value_2_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaAttributeRule());
}
set(
$current,
"value",
lv_value_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=';'
{
newLeafNode(otherlv_3, grammarAccess.getXliaAttributeAccess().getSemicolonKeyword_3());
}
)
;
// Entry rule entryRuleEBoolean
entryRuleEBoolean returns [String current=null]:
{ newCompositeNode(grammarAccess.getEBooleanRule()); }
iv_ruleEBoolean=ruleEBoolean
{ $current=$iv_ruleEBoolean.current.getText(); }
EOF;
// Rule EBoolean
ruleEBoolean returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='true'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0());
}
|
kw='false'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEBooleanAccess().getFalseKeyword_1());
}
)
;
// Entry rule entryRuleEInt
entryRuleEInt returns [String current=null]:
{ newCompositeNode(grammarAccess.getEIntRule()); }
iv_ruleEInt=ruleEInt
{ $current=$iv_ruleEInt.current.getText(); }
EOF;
// Rule EInt
ruleEInt returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
kw='-'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEIntAccess().getHyphenMinusKeyword_0());
}
)?
this_INT_1=RULE_INT
{
$current.merge(this_INT_1);
}
{
newLeafNode(this_INT_1, grammarAccess.getEIntAccess().getINTTerminalRuleCall_1());
}
)
;
// Entry rule entryRuleEInteger
entryRuleEInteger returns [String current=null]:
{ newCompositeNode(grammarAccess.getEIntegerRule()); }
iv_ruleEInteger=ruleEInteger
{ $current=$iv_ruleEInteger.current.getText(); }
EOF;
// Rule EInteger
ruleEInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
kw='-'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEIntegerAccess().getHyphenMinusKeyword_0());
}
)?
this_INT_1=RULE_INT
{
$current.merge(this_INT_1);
}
{
newLeafNode(this_INT_1, grammarAccess.getEIntegerAccess().getINTTerminalRuleCall_1());
}
)
;
// Entry rule entryRuleEDouble
entryRuleEDouble returns [String current=null]:
{ newCompositeNode(grammarAccess.getEDoubleRule()); }
iv_ruleEDouble=ruleEDouble
{ $current=$iv_ruleEDouble.current.getText(); }
EOF;
// Rule EDouble
ruleEDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
kw='-'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0());
}
)?
(
this_INT_1=RULE_INT
{
$current.merge(this_INT_1);
}
{
newLeafNode(this_INT_1, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1());
}
)?
kw='.'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEDoubleAccess().getFullStopKeyword_2());
}
this_INT_3=RULE_INT
{
$current.merge(this_INT_3);
}
{
newLeafNode(this_INT_3, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3());
}
)
;
// Entry rule entryRuleECharacter
entryRuleECharacter returns [String current=null]:
{ newCompositeNode(grammarAccess.getECharacterRule()); }
iv_ruleECharacter=ruleECharacter
{ $current=$iv_ruleECharacter.current.getText(); }
EOF;
// Rule ECharacter
ruleECharacter returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
this_CHARACTER_0=RULE_CHARACTER
{
$current.merge(this_CHARACTER_0);
}
{
newLeafNode(this_CHARACTER_0, grammarAccess.getECharacterAccess().getCHARACTERTerminalRuleCall());
}
;
// Entry rule entryRuleEString
entryRuleEString returns [String current=null]:
{ newCompositeNode(grammarAccess.getEStringRule()); }
iv_ruleEString=ruleEString
{ $current=$iv_ruleEString.current.getText(); }
EOF;
// Rule EString
ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
this_STRING_0=RULE_STRING
{
$current.merge(this_STRING_0);
}
{
newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall());
}
;
// Entry rule entryRuleEOffset
entryRuleEOffset returns [String current=null]:
{ newCompositeNode(grammarAccess.getEOffsetRule()); }
iv_ruleEOffset=ruleEOffset
{ $current=$iv_ruleEOffset.current.getText(); }
EOF;
// Rule EOffset
ruleEOffset returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
this_OFFSET_0=RULE_OFFSET
{
$current.merge(this_OFFSET_0);
}
{
newLeafNode(this_OFFSET_0, grammarAccess.getEOffsetAccess().getOFFSETTerminalRuleCall());
}
;
// Entry rule entryRuleESIdentifier
entryRuleESIdentifier returns [String current=null]:
{ newCompositeNode(grammarAccess.getESIdentifierRule()); }
iv_ruleESIdentifier=ruleESIdentifier
{ $current=$iv_ruleESIdentifier.current.getText(); }
EOF;
// Rule ESIdentifier
ruleESIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
this_XLIA_ID_0=RULE_XLIA_ID
{
$current.merge(this_XLIA_ID_0);
}
{
newLeafNode(this_XLIA_ID_0, grammarAccess.getESIdentifierAccess().getXLIA_IDTerminalRuleCall());
}
;
// Entry rule entryRuleESUfid
entryRuleESUfid returns [String current=null]:
{ newCompositeNode(grammarAccess.getESUfidRule()); }
iv_ruleESUfid=ruleESUfid
{ $current=$iv_ruleESUfid.current.getText(); }
EOF;
// Rule ESUfid
ruleESUfid returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
kw='spec::'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getESUfidAccess().getSpecKeyword_0_0());
}
|
kw='::'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getESUfidAccess().getColonColonKeyword_0_1());
}
)?
this_XLIA_ID_2=RULE_XLIA_ID
{
$current.merge(this_XLIA_ID_2);
}
{
newLeafNode(this_XLIA_ID_2, grammarAccess.getESUfidAccess().getXLIA_IDTerminalRuleCall_1());
}
(
(
kw='.'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getESUfidAccess().getFullStopKeyword_2_0_0());
}
|
kw=':'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getESUfidAccess().getColonKeyword_2_0_1());
}
)
this_XLIA_ID_5=RULE_XLIA_ID
{
$current.merge(this_XLIA_ID_5);
}
{
newLeafNode(this_XLIA_ID_5, grammarAccess.getESUfidAccess().getXLIA_IDTerminalRuleCall_2_1());
}
)*
)
;
// Entry rule entryRuleUnrestrictedName
entryRuleUnrestrictedName returns [String current=null]:
{ newCompositeNode(grammarAccess.getUnrestrictedNameRule()); }
iv_ruleUnrestrictedName=ruleUnrestrictedName
{ $current=$iv_ruleUnrestrictedName.current.getText(); }
EOF;
// Rule UnrestrictedName
ruleUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
this_STRING_0=RULE_STRING
{
$current.merge(this_STRING_0);
}
{
newLeafNode(this_STRING_0, grammarAccess.getUnrestrictedNameAccess().getSTRINGTerminalRuleCall());
}
;
// Entry rule entryRuleUnqualifiedName
entryRuleUnqualifiedName returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getUnqualifiedNameRule()); }
iv_ruleUnqualifiedName=ruleUnqualifiedName
{ $current=$iv_ruleUnqualifiedName.current; }
EOF;
// Rule UnqualifiedName
ruleUnqualifiedName returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
newCompositeNode(grammarAccess.getUnqualifiedNameAccess().getNameBindingNameBindingParserRuleCall_0());
}
lv_nameBinding_0_0=ruleNameBinding
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getUnqualifiedNameRule());
}
add(
$current,
"nameBinding",
lv_nameBinding_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.NameBinding");
afterParserOrEnumRuleCall();
}
)
)
;
// Entry rule entryRuleNameBinding
entryRuleNameBinding returns [String current=null]:
{ newCompositeNode(grammarAccess.getNameBindingRule()); }
iv_ruleNameBinding=ruleNameBinding
{ $current=$iv_ruleNameBinding.current.getText(); }
EOF;
// Rule NameBinding
ruleNameBinding returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
this_XLIA_ID_0=RULE_XLIA_ID
{
$current.merge(this_XLIA_ID_0);
}
{
newLeafNode(this_XLIA_ID_0, grammarAccess.getNameBindingAccess().getXLIA_IDTerminalRuleCall());
}
;
// Entry rule entryRuleModelOfComputationKing
entryRuleModelOfComputationKing returns [String current=null]:
{ newCompositeNode(grammarAccess.getModelOfComputationKingRule()); }
iv_ruleModelOfComputationKing=ruleModelOfComputationKing
{ $current=$iv_ruleModelOfComputationKing.current.getText(); }
EOF;
// Rule ModelOfComputationKing
ruleModelOfComputationKing returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='and'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getAndKeyword_0());
}
|
kw='or'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getOrKeyword_1());
}
|
kw='start'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getStartKeyword_2());
}
|
kw='#STF'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getSTFKeyword_3());
}
|
kw='#STS'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getSTSKeyword_4());
}
|
kw='#DF'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getDFKeyword_5());
}
|
kw='#alt'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getAltKeyword_6());
}
|
kw='#opt'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getOptKeyword_7());
}
|
kw='#loop'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getLoopKeyword_8());
}
|
kw='#break'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getBreakKeyword_9());
}
|
kw='#par'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getParKeyword_10());
}
|
kw='#strict'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getStrictKeyword_11());
}
|
kw='#weak'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getWeakKeyword_12());
}
|
kw='#seq'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getSeqKeyword_13());
}
|
kw='#critical'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getCriticalKeyword_14());
}
|
kw='#ignore'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getIgnoreKeyword_15());
}
|
kw='#consider'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getConsiderKeyword_16());
}
|
kw='#assert'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getAssertKeyword_17());
}
|
kw='#neg'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getModelOfComputationKingAccess().getNegKeyword_18());
}
)
;
// Entry rule entryRuleDesignDebugTrace
entryRuleDesignDebugTrace returns [String current=null]:
{ newCompositeNode(grammarAccess.getDesignDebugTraceRule()); }
iv_ruleDesignDebugTrace=ruleDesignDebugTrace
{ $current=$iv_ruleDesignDebugTrace.current.getText(); }
EOF;
// Rule DesignDebugTrace
ruleDesignDebugTrace returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='#model'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getModelKeyword_0());
}
|
kw='#instance'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getInstanceKeyword_1());
}
|
kw='#static'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getStaticKeyword_2());
}
|
kw='#dynamic'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getDynamicKeyword_3());
}
|
kw='#runtime'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getRuntimeKeyword_4());
}
|
kw='#static#instance'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getStaticInstanceKeyword_5());
}
|
kw='#dynamic#instance'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getDynamicInstanceKeyword_6());
}
|
kw='#prototype'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getPrototypeKeyword_7());
}
|
kw='#dynamic#prototype'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getDesignDebugTraceAccess().getDynamicPrototypeKeyword_8());
}
)
;
// Entry rule entryRuleXliaSystem
entryRuleXliaSystem returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getXliaSystemAccess().getUnorderedGroup_0()
);
}:
{ newCompositeNode(grammarAccess.getXliaSystemRule()); }
iv_ruleXliaSystem=ruleXliaSystem
{ $current=$iv_ruleXliaSystem.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule XliaSystem
ruleXliaSystem returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getXliaSystemAccess().getUnorderedGroup_0()
);
}
@after {
leaveRule();
}:
(
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getVisibilityVisibilityKindEnumRuleCall_0_0_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 1);
}
({true}?=>((
lv_timed_2_0='timed'
{
newLeafNode(lv_timed_2_0, grammarAccess.getXliaSystemAccess().getTimedTimedKeyword_0_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaSystemRule());
}
setWithLastConsumed($current, "timed", true, "timed");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 2);
}
({true}?=>((
lv_dense_timed_3_0='timed#dense'
{
newLeafNode(lv_dense_timed_3_0, grammarAccess.getXliaSystemAccess().getDense_timedTimedDenseKeyword_0_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaSystemRule());
}
setWithLastConsumed($current, "dense_timed", true, "timed#dense");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 3)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 3);
}
({true}?=>((
lv_discrete_timed_4_0='timed#discrete'
{
newLeafNode(lv_discrete_timed_4_0, grammarAccess.getXliaSystemAccess().getDiscrete_timedTimedDiscreteKeyword_0_3_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaSystemRule());
}
setWithLastConsumed($current, "discrete_timed", true, "timed#discrete");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 4)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 4);
}
({true}?=>((
lv_input_enabled_5_0='input_enabled'
{
newLeafNode(lv_input_enabled_5_0, grammarAccess.getXliaSystemAccess().getInput_enabledInput_enabledKeyword_0_4_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaSystemRule());
}
setWithLastConsumed($current, "input_enabled", true, "input_enabled");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 5)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0(), 5);
}
({true}?=>((
lv_unsafe_6_0='unsafe'
{
newLeafNode(lv_unsafe_6_0, grammarAccess.getXliaSystemAccess().getUnsafeUnsafeKeyword_0_5_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXliaSystemRule());
}
setWithLastConsumed($current, "unsafe", true, "unsafe");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getXliaSystemAccess().getUnorderedGroup_0());
}
)
otherlv_7='system'
{
newLeafNode(otherlv_7, grammarAccess.getXliaSystemAccess().getSystemKeyword_1());
}
(
otherlv_8='<'
{
newLeafNode(otherlv_8, grammarAccess.getXliaSystemAccess().getLessThanSignKeyword_2_0());
}
(
otherlv_9='moc:'
{
newLeafNode(otherlv_9, grammarAccess.getXliaSystemAccess().getMocKeyword_2_1());
}
)?
(
otherlv_10='and'
{
newLeafNode(otherlv_10, grammarAccess.getXliaSystemAccess().getAndKeyword_2_2_0());
}
|
otherlv_11='or'
{
newLeafNode(otherlv_11, grammarAccess.getXliaSystemAccess().getOrKeyword_2_2_1());
}
)
otherlv_12='>'
{
newLeafNode(otherlv_12, grammarAccess.getXliaSystemAccess().getGreaterThanSignKeyword_2_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_13_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
set(
$current,
"name",
lv_name_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_14_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_15='{'
{
newLeafNode(otherlv_15, grammarAccess.getXliaSystemAccess().getLeftCurlyBracketKeyword_5());
}
(
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getPortPortParserRuleCall_6_0_0());
}
lv_port_16_0=rulePort
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"port",
lv_port_16_0,
"org.eclipse.efm.formalml.xtext.FormalML.Port");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getSignalSignalParserRuleCall_6_1_0());
}
lv_signal_17_0=ruleSignal
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"signal",
lv_signal_17_0,
"org.eclipse.efm.formalml.xtext.FormalML.Signal");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getBufferBufferParserRuleCall_6_2_0());
}
lv_buffer_18_0=ruleBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"buffer",
lv_buffer_18_0,
"org.eclipse.efm.formalml.xtext.FormalML.Buffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getChannelChannelParserRuleCall_6_3_0());
}
lv_channel_19_0=ruleChannel
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"channel",
lv_channel_19_0,
"org.eclipse.efm.formalml.xtext.FormalML.Channel");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getTypedefTypeDefinitionParserRuleCall_6_4_0());
}
lv_typedef_20_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"typedef",
lv_typedef_20_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getFunctionFunctionParserRuleCall_6_5_0());
}
lv_function_21_0=ruleFunction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"function",
lv_function_21_0,
"org.eclipse.efm.formalml.xtext.FormalML.Function");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getVariableVariableParserRuleCall_6_6_0());
}
lv_variable_22_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"variable",
lv_variable_22_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)
)*
(
(
otherlv_23='@property:'
{
newLeafNode(otherlv_23, grammarAccess.getXliaSystemAccess().getPropertyKeyword_7_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getPortPortParserRuleCall_7_0_1_0_0());
}
lv_port_24_0=rulePort
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"port",
lv_port_24_0,
"org.eclipse.efm.formalml.xtext.FormalML.Port");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getSignalSignalParserRuleCall_7_0_1_1_0());
}
lv_signal_25_0=ruleSignal
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"signal",
lv_signal_25_0,
"org.eclipse.efm.formalml.xtext.FormalML.Signal");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getBufferBufferParserRuleCall_7_0_1_2_0());
}
lv_buffer_26_0=ruleBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"buffer",
lv_buffer_26_0,
"org.eclipse.efm.formalml.xtext.FormalML.Buffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getChannelChannelParserRuleCall_7_0_1_3_0());
}
lv_channel_27_0=ruleChannel
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"channel",
lv_channel_27_0,
"org.eclipse.efm.formalml.xtext.FormalML.Channel");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getTypedefTypeDefinitionParserRuleCall_7_0_1_4_0());
}
lv_typedef_28_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"typedef",
lv_typedef_28_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getFunctionFunctionParserRuleCall_7_0_1_5_0());
}
lv_function_29_0=ruleFunction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"function",
lv_function_29_0,
"org.eclipse.efm.formalml.xtext.FormalML.Function");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getVariableVariableParserRuleCall_7_0_1_6_0());
}
lv_variable_30_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"variable",
lv_variable_30_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_31='@public:'
{
newLeafNode(otherlv_31, grammarAccess.getXliaSystemAccess().getPublicKeyword_7_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getPortPortPublicParserRuleCall_7_1_1_0_0());
}
lv_port_32_0=rulePortPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"port",
lv_port_32_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getSignalSignalPublicParserRuleCall_7_1_1_1_0());
}
lv_signal_33_0=ruleSignalPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"signal",
lv_signal_33_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getBufferBufferPublicParserRuleCall_7_1_1_2_0());
}
lv_buffer_34_0=ruleBufferPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"buffer",
lv_buffer_34_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getChannelChannelPublicParserRuleCall_7_1_1_3_0());
}
lv_channel_35_0=ruleChannelPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"channel",
lv_channel_35_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getTypedefTypeDefinitionParserRuleCall_7_1_1_4_0());
}
lv_typedef_36_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"typedef",
lv_typedef_36_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getFunctionFunctionPublicParserRuleCall_7_1_1_5_0());
}
lv_function_37_0=ruleFunctionPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"function",
lv_function_37_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getVariableVariablePublicParserRuleCall_7_1_1_6_0());
}
lv_variable_38_0=ruleVariablePublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"variable",
lv_variable_38_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePublic");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_39='@protected:'
{
newLeafNode(otherlv_39, grammarAccess.getXliaSystemAccess().getProtectedKeyword_7_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getPortPortProtectedParserRuleCall_7_2_1_0_0());
}
lv_port_40_0=rulePortProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"port",
lv_port_40_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getSignalSignalProtectedParserRuleCall_7_2_1_1_0());
}
lv_signal_41_0=ruleSignalProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"signal",
lv_signal_41_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getBufferBufferProtectedParserRuleCall_7_2_1_2_0());
}
lv_buffer_42_0=ruleBufferProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"buffer",
lv_buffer_42_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getChannelChannelProtectedParserRuleCall_7_2_1_3_0());
}
lv_channel_43_0=ruleChannelProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"channel",
lv_channel_43_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getTypedefTypeDefinitionParserRuleCall_7_2_1_4_0());
}
lv_typedef_44_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"typedef",
lv_typedef_44_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getFunctionFunctionProtectedParserRuleCall_7_2_1_5_0());
}
lv_function_45_0=ruleFunctionProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"function",
lv_function_45_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getVariableVariableProtectedParserRuleCall_7_2_1_6_0());
}
lv_variable_46_0=ruleVariableProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"variable",
lv_variable_46_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariableProtected");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_47='@private:'
{
newLeafNode(otherlv_47, grammarAccess.getXliaSystemAccess().getPrivateKeyword_7_3_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getPortPortPrivateParserRuleCall_7_3_1_0_0());
}
lv_port_48_0=rulePortPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"port",
lv_port_48_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getSignalSignalPrivateParserRuleCall_7_3_1_1_0());
}
lv_signal_49_0=ruleSignalPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"signal",
lv_signal_49_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getBufferBufferPrivateParserRuleCall_7_3_1_2_0());
}
lv_buffer_50_0=ruleBufferPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"buffer",
lv_buffer_50_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getChannelChannelPrivateParserRuleCall_7_3_1_3_0());
}
lv_channel_51_0=ruleChannelPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"channel",
lv_channel_51_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getTypedefTypeDefinitionParserRuleCall_7_3_1_4_0());
}
lv_typedef_52_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"typedef",
lv_typedef_52_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getFunctionFunctionPrivateParserRuleCall_7_3_1_5_0());
}
lv_function_53_0=ruleFunctionPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"function",
lv_function_53_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getVariableVariablePrivateParserRuleCall_7_3_1_6_0());
}
lv_variable_54_0=ruleVariablePrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"variable",
lv_variable_54_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePrivate");
afterParserOrEnumRuleCall();
}
)
)
)*
)
)*
(
(
(
(
otherlv_55='@routine:'
{
newLeafNode(otherlv_55, grammarAccess.getXliaSystemAccess().getRoutineKeyword_8_0_0_0_0());
}
|
otherlv_56='@macro:'
{
newLeafNode(otherlv_56, grammarAccess.getXliaSystemAccess().getMacroKeyword_8_0_0_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getRoutineRoutineParserRuleCall_8_0_0_1_0());
}
lv_routine_57_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"routine",
lv_routine_57_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)+
)
|
(
otherlv_58='@procedure:'
{
newLeafNode(otherlv_58, grammarAccess.getXliaSystemAccess().getProcedureKeyword_8_0_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getProcedureProcedureParserRuleCall_8_0_1_1_0());
}
lv_procedure_59_0=ruleProcedure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"procedure",
lv_procedure_59_0,
"org.eclipse.efm.formalml.xtext.FormalML.Procedure");
afterParserOrEnumRuleCall();
}
)
)+
)
)*
|
(
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getRoutineRoutineParserRuleCall_8_1_0_0());
}
lv_routine_60_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"routine",
lv_routine_60_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getProcedureProcedureParserRuleCall_8_1_1_0());
}
lv_procedure_61_0=ruleProcedure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"procedure",
lv_procedure_61_0,
"org.eclipse.efm.formalml.xtext.FormalML.Procedure");
afterParserOrEnumRuleCall();
}
)
)
)+
)
(
(
(
otherlv_62='@composite:'
{
newLeafNode(otherlv_62, grammarAccess.getXliaSystemAccess().getCompositeKeyword_9_0_0_0());
}
|
otherlv_63='@machine:'
{
newLeafNode(otherlv_63, grammarAccess.getXliaSystemAccess().getMachineKeyword_9_0_0_1());
}
)
(
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getMachineAnyMachineBlockParserRuleCall_9_0_1_0_0());
}
lv_machine_64_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"machine",
lv_machine_64_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getInstanceInstanceMachineParserRuleCall_9_0_1_1_0());
}
lv_instance_65_0=ruleInstanceMachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"instance",
lv_instance_65_0,
"org.eclipse.efm.formalml.xtext.FormalML.InstanceMachine");
afterParserOrEnumRuleCall();
}
)
)
)+
)
|
(
otherlv_66='@model:'
{
newLeafNode(otherlv_66, grammarAccess.getXliaSystemAccess().getModelKeyword_9_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getMachineAnyMachineBlockParserRuleCall_9_1_1_0());
}
lv_machine_67_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"machine",
lv_machine_67_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_68='@prototype:'
{
newLeafNode(otherlv_68, grammarAccess.getXliaSystemAccess().getPrototypeKeyword_9_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getMachineAnyMachineBlockParserRuleCall_9_2_1_0());
}
lv_machine_69_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"machine",
lv_machine_69_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_70='@instance:'
{
newLeafNode(otherlv_70, grammarAccess.getXliaSystemAccess().getInstanceKeyword_9_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getInstanceInstanceMachineParserRuleCall_9_3_1_0());
}
lv_instance_71_0=ruleInstanceMachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"instance",
lv_instance_71_0,
"org.eclipse.efm.formalml.xtext.FormalML.InstanceMachine");
afterParserOrEnumRuleCall();
}
)
)*
)
)*
(
(
otherlv_72='@behavior:'
{
newLeafNode(otherlv_72, grammarAccess.getXliaSystemAccess().getBehaviorKeyword_10_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getBehaviorBehaviorParserRuleCall_10_0_1_0());
}
lv_behavior_73_0=ruleBehavior
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"behavior",
lv_behavior_73_0,
"org.eclipse.efm.formalml.xtext.FormalML.Behavior");
afterParserOrEnumRuleCall();
}
)
)+
)
|
(
otherlv_74='@statemachine:'
{
newLeafNode(otherlv_74, grammarAccess.getXliaSystemAccess().getStatemachineKeyword_10_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getBehaviorStatemachineParserRuleCall_10_1_1_0());
}
lv_behavior_75_0=ruleStatemachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
add(
$current,
"behavior",
lv_behavior_75_0,
"org.eclipse.efm.formalml.xtext.FormalML.Statemachine");
afterParserOrEnumRuleCall();
}
)
)+
)
)*
(
(
{
newCompositeNode(grammarAccess.getXliaSystemAccess().getMainMoeBehaviorParserRuleCall_11_0());
}
lv_main_76_0=ruleMoeBehavior
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXliaSystemRule());
}
set(
$current,
"main",
lv_main_76_0,
"org.eclipse.efm.formalml.xtext.FormalML.MoeBehavior");
afterParserOrEnumRuleCall();
}
)
)
otherlv_77='}'
{
newLeafNode(otherlv_77, grammarAccess.getXliaSystemAccess().getRightCurlyBracketKeyword_12());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleAnyMachineBlock
entryRuleAnyMachineBlock returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getAnyMachineBlockRule()); }
iv_ruleAnyMachineBlock=ruleAnyMachineBlock
{ $current=$iv_ruleAnyMachineBlock.current; }
EOF;
// Rule AnyMachineBlock
ruleAnyMachineBlock returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getAnyMachineBlockAccess().getMachineBlockParserRuleCall_0());
}
this_MachineBlock_0=ruleMachineBlock
{
$current = $this_MachineBlock_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getAnyMachineBlockAccess().getStatemachineParserRuleCall_1());
}
this_Statemachine_1=ruleStatemachine
{
$current = $this_Statemachine_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleInstanceMachine
entryRuleInstanceMachine returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getInstanceMachineRule()); }
iv_ruleInstanceMachine=ruleInstanceMachine
{ $current=$iv_ruleInstanceMachine.current; }
EOF;
// Rule InstanceMachine
ruleInstanceMachine returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='instance'
{
newLeafNode(otherlv_0, grammarAccess.getInstanceMachineAccess().getInstanceKeyword_0());
}
(
otherlv_1='machine'
{
newLeafNode(otherlv_1, grammarAccess.getInstanceMachineAccess().getMachineKeyword_1_0());
}
|
otherlv_2='statemachine'
{
newLeafNode(otherlv_2, grammarAccess.getInstanceMachineAccess().getStatemachineKeyword_1_1());
}
)?
otherlv_3='<'
{
newLeafNode(otherlv_3, grammarAccess.getInstanceMachineAccess().getLessThanSignKeyword_2());
}
(
otherlv_4='model:'
{
newLeafNode(otherlv_4, grammarAccess.getInstanceMachineAccess().getModelKeyword_3());
}
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInstanceMachineRule());
}
}
{
newCompositeNode(grammarAccess.getInstanceMachineAccess().getModelMachineCrossReference_4_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_6='>'
{
newLeafNode(otherlv_6, grammarAccess.getInstanceMachineAccess().getGreaterThanSignKeyword_5());
}
(
(
{
newCompositeNode(grammarAccess.getInstanceMachineAccess().getNameESIdentifierParserRuleCall_6_0());
}
lv_name_7_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstanceMachineRule());
}
set(
$current,
"name",
lv_name_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getInstanceMachineAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_7_0());
}
lv_unrestrictedName_8_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstanceMachineRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_9='('
{
newLeafNode(otherlv_9, grammarAccess.getInstanceMachineAccess().getLeftParenthesisKeyword_8_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getInstanceMachineAccess().getSlotSlotParameterParserRuleCall_8_1_0_0());
}
lv_slot_10_0=ruleSlotParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstanceMachineRule());
}
add(
$current,
"slot",
lv_slot_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.SlotParameter");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_11=','
{
newLeafNode(otherlv_11, grammarAccess.getInstanceMachineAccess().getCommaKeyword_8_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getInstanceMachineAccess().getSlotSlotParameterParserRuleCall_8_1_1_1_0());
}
lv_slot_12_0=ruleSlotParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstanceMachineRule());
}
add(
$current,
"slot",
lv_slot_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.SlotParameter");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
otherlv_13=')'
{
newLeafNode(otherlv_13, grammarAccess.getInstanceMachineAccess().getRightParenthesisKeyword_8_2());
}
)?
(
(
otherlv_14='{'
{
newLeafNode(otherlv_14, grammarAccess.getInstanceMachineAccess().getLeftCurlyBracketKeyword_9_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getInstanceMachineAccess().getSlotSlotPropertyParserRuleCall_9_0_1_0_0());
}
lv_slot_15_0=ruleSlotProperty
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstanceMachineRule());
}
add(
$current,
"slot",
lv_slot_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.SlotProperty");
afterParserOrEnumRuleCall();
}
)
)
otherlv_16=';'
{
newLeafNode(otherlv_16, grammarAccess.getInstanceMachineAccess().getSemicolonKeyword_9_0_1_1());
}
)*
otherlv_17='}'
{
newLeafNode(otherlv_17, grammarAccess.getInstanceMachineAccess().getRightCurlyBracketKeyword_9_0_2());
}
)
|
otherlv_18=';'
{
newLeafNode(otherlv_18, grammarAccess.getInstanceMachineAccess().getSemicolonKeyword_9_1());
}
)
)
;
// Entry rule entryRuleSlotParameter
entryRuleSlotParameter returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSlotParameterRule()); }
iv_ruleSlotParameter=ruleSlotParameter
{ $current=$iv_ruleSlotParameter.current; }
EOF;
// Rule SlotParameter
ruleSlotParameter returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getSlotParameterRule());
}
}
{
newCompositeNode(grammarAccess.getSlotParameterAccess().getXliaPropertyPropertyDefinitionCrossReference_0_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_1=':'
{
newLeafNode(otherlv_1, grammarAccess.getSlotParameterAccess().getColonKeyword_1_0());
}
|
otherlv_2='='
{
newLeafNode(otherlv_2, grammarAccess.getSlotParameterAccess().getEqualsSignKeyword_1_1());
}
|
otherlv_3=':='
{
newLeafNode(otherlv_3, grammarAccess.getSlotParameterAccess().getColonEqualsSignKeyword_1_2());
}
|
otherlv_4='::='
{
newLeafNode(otherlv_4, grammarAccess.getSlotParameterAccess().getColonColonEqualsSignKeyword_1_3());
}
)
(
(
{
newCompositeNode(grammarAccess.getSlotParameterAccess().getValueExpressionParserRuleCall_2_0());
}
lv_value_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSlotParameterRule());
}
set(
$current,
"value",
lv_value_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleSlotProperty
entryRuleSlotProperty returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSlotPropertyRule()); }
iv_ruleSlotProperty=ruleSlotProperty
{ $current=$iv_ruleSlotProperty.current; }
EOF;
// Rule SlotProperty
ruleSlotProperty returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getSlotPropertyRule());
}
}
{
newCompositeNode(grammarAccess.getSlotPropertyAccess().getXliaPropertyPropertyDefinitionCrossReference_0_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_1='='
{
newLeafNode(otherlv_1, grammarAccess.getSlotPropertyAccess().getEqualsSignKeyword_1_0());
}
|
otherlv_2=':'
{
newLeafNode(otherlv_2, grammarAccess.getSlotPropertyAccess().getColonKeyword_1_1());
}
|
otherlv_3=':='
{
newLeafNode(otherlv_3, grammarAccess.getSlotPropertyAccess().getColonEqualsSignKeyword_1_2());
}
|
otherlv_4='::='
{
newLeafNode(otherlv_4, grammarAccess.getSlotPropertyAccess().getColonColonEqualsSignKeyword_1_3());
}
)
(
(
{
newCompositeNode(grammarAccess.getSlotPropertyAccess().getValueExpressionParserRuleCall_2_0());
}
lv_value_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSlotPropertyRule());
}
set(
$current,
"value",
lv_value_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleMachineBlock
entryRuleMachineBlock returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMachineBlockAccess().getUnorderedGroup_0()
);
}:
{ newCompositeNode(grammarAccess.getMachineBlockRule()); }
iv_ruleMachineBlock=ruleMachineBlock
{ $current=$iv_ruleMachineBlock.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule MachineBlock
ruleMachineBlock returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMachineBlockAccess().getUnorderedGroup_0()
);
}
@after {
leaveRule();
}:
(
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getVisibilityVisibilityKindEnumRuleCall_0_0_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 1);
}
({true}?=>((
lv_timed_2_0='timed'
{
newLeafNode(lv_timed_2_0, grammarAccess.getMachineBlockAccess().getTimedTimedKeyword_0_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMachineBlockRule());
}
setWithLastConsumed($current, "timed", true, "timed");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 2);
}
({true}?=>((
lv_dense_timed_3_0='timed#dense'
{
newLeafNode(lv_dense_timed_3_0, grammarAccess.getMachineBlockAccess().getDense_timedTimedDenseKeyword_0_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMachineBlockRule());
}
setWithLastConsumed($current, "dense_timed", true, "timed#dense");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 3)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 3);
}
({true}?=>((
lv_discrete_timed_4_0='timed#discrete'
{
newLeafNode(lv_discrete_timed_4_0, grammarAccess.getMachineBlockAccess().getDiscrete_timedTimedDiscreteKeyword_0_3_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMachineBlockRule());
}
setWithLastConsumed($current, "discrete_timed", true, "timed#discrete");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 4)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 4);
}
({true}?=>((
lv_input_enabled_5_0='input_enabled'
{
newLeafNode(lv_input_enabled_5_0, grammarAccess.getMachineBlockAccess().getInput_enabledInput_enabledKeyword_0_4_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMachineBlockRule());
}
setWithLastConsumed($current, "input_enabled", true, "input_enabled");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 5)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 5);
}
({true}?=>((
lv_lifeline_6_0='lifeline'
{
newLeafNode(lv_lifeline_6_0, grammarAccess.getMachineBlockAccess().getLifelineLifelineKeyword_0_5_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMachineBlockRule());
}
setWithLastConsumed($current, "lifeline", true, "lifeline");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 6)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0(), 6);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getDesignDesignKindEnumRuleCall_0_6_0());
}
lv_design_7_0=ruleDesignKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
set(
$current,
"design",
lv_design_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.DesignKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getMachineBlockAccess().getUnorderedGroup_0());
}
)
(
otherlv_8='machine'
{
newLeafNode(otherlv_8, grammarAccess.getMachineBlockAccess().getMachineKeyword_1_0());
}
|
otherlv_9='executable'
{
newLeafNode(otherlv_9, grammarAccess.getMachineBlockAccess().getExecutableKeyword_1_1());
}
)
(
otherlv_10='<'
{
newLeafNode(otherlv_10, grammarAccess.getMachineBlockAccess().getLessThanSignKeyword_2_0());
}
(
(
otherlv_11='moc:'
{
newLeafNode(otherlv_11, grammarAccess.getMachineBlockAccess().getMocKeyword_2_1_0());
}
)?
{
/* */
}
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getModelOfComputationKingParserRuleCall_2_1_1());
}
ruleModelOfComputationKing
{
afterParserOrEnumRuleCall();
}
)?
(
otherlv_13='instance:'
{
newLeafNode(otherlv_13, grammarAccess.getMachineBlockAccess().getInstanceKeyword_2_2_0());
}
otherlv_14='['
{
newLeafNode(otherlv_14, grammarAccess.getMachineBlockAccess().getLeftSquareBracketKeyword_2_2_1());
}
(
otherlv_15='+'
{
newLeafNode(otherlv_15, grammarAccess.getMachineBlockAccess().getPlusSignKeyword_2_2_2_0());
}
|
otherlv_16='*'
{
newLeafNode(otherlv_16, grammarAccess.getMachineBlockAccess().getAsteriskKeyword_2_2_2_1());
}
|
(
otherlv_17='init:'
{
newLeafNode(otherlv_17, grammarAccess.getMachineBlockAccess().getInitKeyword_2_2_2_2_0());
}
{
/* */
}
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getEIntegerParserRuleCall_2_2_2_2_1());
}
ruleEInteger
{
afterParserOrEnumRuleCall();
}
otherlv_19='max:'
{
newLeafNode(otherlv_19, grammarAccess.getMachineBlockAccess().getMaxKeyword_2_2_2_2_2());
}
{
/* */
}
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getEIntegerParserRuleCall_2_2_2_2_3());
}
ruleEInteger
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_21=']'
{
newLeafNode(otherlv_21, grammarAccess.getMachineBlockAccess().getRightSquareBracketKeyword_2_2_3());
}
)?
otherlv_22='>'
{
newLeafNode(otherlv_22, grammarAccess.getMachineBlockAccess().getGreaterThanSignKeyword_2_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_23_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
set(
$current,
"name",
lv_name_23_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_24_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_24_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_25='{'
{
newLeafNode(otherlv_25, grammarAccess.getMachineBlockAccess().getLeftCurlyBracketKeyword_5());
}
(
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getPortPortParserRuleCall_6_0_0());
}
lv_port_26_0=rulePort
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"port",
lv_port_26_0,
"org.eclipse.efm.formalml.xtext.FormalML.Port");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getSignalSignalParserRuleCall_6_1_0());
}
lv_signal_27_0=ruleSignal
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"signal",
lv_signal_27_0,
"org.eclipse.efm.formalml.xtext.FormalML.Signal");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getBufferBufferParserRuleCall_6_2_0());
}
lv_buffer_28_0=ruleBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"buffer",
lv_buffer_28_0,
"org.eclipse.efm.formalml.xtext.FormalML.Buffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getChannelChannelParserRuleCall_6_3_0());
}
lv_channel_29_0=ruleChannel
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"channel",
lv_channel_29_0,
"org.eclipse.efm.formalml.xtext.FormalML.Channel");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getTypedefTypeDefinitionParserRuleCall_6_4_0());
}
lv_typedef_30_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"typedef",
lv_typedef_30_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getFunctionFunctionParserRuleCall_6_5_0());
}
lv_function_31_0=ruleFunction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"function",
lv_function_31_0,
"org.eclipse.efm.formalml.xtext.FormalML.Function");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getVariableVariableParserRuleCall_6_6_0());
}
lv_variable_32_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"variable",
lv_variable_32_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)
)*
(
(
otherlv_33='@property:'
{
newLeafNode(otherlv_33, grammarAccess.getMachineBlockAccess().getPropertyKeyword_7_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getPortPortParserRuleCall_7_0_1_0_0());
}
lv_port_34_0=rulePort
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"port",
lv_port_34_0,
"org.eclipse.efm.formalml.xtext.FormalML.Port");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getSignalSignalParserRuleCall_7_0_1_1_0());
}
lv_signal_35_0=ruleSignal
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"signal",
lv_signal_35_0,
"org.eclipse.efm.formalml.xtext.FormalML.Signal");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getBufferBufferParserRuleCall_7_0_1_2_0());
}
lv_buffer_36_0=ruleBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"buffer",
lv_buffer_36_0,
"org.eclipse.efm.formalml.xtext.FormalML.Buffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getChannelChannelParserRuleCall_7_0_1_3_0());
}
lv_channel_37_0=ruleChannel
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"channel",
lv_channel_37_0,
"org.eclipse.efm.formalml.xtext.FormalML.Channel");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getTypedefTypeDefinitionParserRuleCall_7_0_1_4_0());
}
lv_typedef_38_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"typedef",
lv_typedef_38_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getFunctionFunctionParserRuleCall_7_0_1_5_0());
}
lv_function_39_0=ruleFunction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"function",
lv_function_39_0,
"org.eclipse.efm.formalml.xtext.FormalML.Function");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getVariableVariableParserRuleCall_7_0_1_6_0());
}
lv_variable_40_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"variable",
lv_variable_40_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_41='@public:'
{
newLeafNode(otherlv_41, grammarAccess.getMachineBlockAccess().getPublicKeyword_7_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getPortPortPublicParserRuleCall_7_1_1_0_0());
}
lv_port_42_0=rulePortPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"port",
lv_port_42_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getSignalSignalPublicParserRuleCall_7_1_1_1_0());
}
lv_signal_43_0=ruleSignalPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"signal",
lv_signal_43_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getBufferBufferPublicParserRuleCall_7_1_1_2_0());
}
lv_buffer_44_0=ruleBufferPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"buffer",
lv_buffer_44_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getChannelChannelPublicParserRuleCall_7_1_1_3_0());
}
lv_channel_45_0=ruleChannelPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"channel",
lv_channel_45_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getTypedefTypeDefinitionParserRuleCall_7_1_1_4_0());
}
lv_typedef_46_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"typedef",
lv_typedef_46_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getFunctionFunctionPublicParserRuleCall_7_1_1_5_0());
}
lv_function_47_0=ruleFunctionPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"function",
lv_function_47_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getVariableVariablePublicParserRuleCall_7_1_1_6_0());
}
lv_variable_48_0=ruleVariablePublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"variable",
lv_variable_48_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePublic");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_49='@protected:'
{
newLeafNode(otherlv_49, grammarAccess.getMachineBlockAccess().getProtectedKeyword_7_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getPortPortProtectedParserRuleCall_7_2_1_0_0());
}
lv_port_50_0=rulePortProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"port",
lv_port_50_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getSignalSignalProtectedParserRuleCall_7_2_1_1_0());
}
lv_signal_51_0=ruleSignalProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"signal",
lv_signal_51_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getBufferBufferProtectedParserRuleCall_7_2_1_2_0());
}
lv_buffer_52_0=ruleBufferProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"buffer",
lv_buffer_52_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getChannelChannelProtectedParserRuleCall_7_2_1_3_0());
}
lv_channel_53_0=ruleChannelProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"channel",
lv_channel_53_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getTypedefTypeDefinitionParserRuleCall_7_2_1_4_0());
}
lv_typedef_54_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"typedef",
lv_typedef_54_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getFunctionFunctionProtectedParserRuleCall_7_2_1_5_0());
}
lv_function_55_0=ruleFunctionProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"function",
lv_function_55_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getVariableVariableProtectedParserRuleCall_7_2_1_6_0());
}
lv_variable_56_0=ruleVariableProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"variable",
lv_variable_56_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariableProtected");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_57='@private:'
{
newLeafNode(otherlv_57, grammarAccess.getMachineBlockAccess().getPrivateKeyword_7_3_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getPortPortPrivateParserRuleCall_7_3_1_0_0());
}
lv_port_58_0=rulePortPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"port",
lv_port_58_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getSignalSignalPrivateParserRuleCall_7_3_1_1_0());
}
lv_signal_59_0=ruleSignalPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"signal",
lv_signal_59_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getBufferBufferPrivateParserRuleCall_7_3_1_2_0());
}
lv_buffer_60_0=ruleBufferPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"buffer",
lv_buffer_60_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getChannelChannelPrivateParserRuleCall_7_3_1_3_0());
}
lv_channel_61_0=ruleChannelPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"channel",
lv_channel_61_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getTypedefTypeDefinitionParserRuleCall_7_3_1_4_0());
}
lv_typedef_62_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"typedef",
lv_typedef_62_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getFunctionFunctionPrivateParserRuleCall_7_3_1_5_0());
}
lv_function_63_0=ruleFunctionPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"function",
lv_function_63_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getVariableVariablePrivateParserRuleCall_7_3_1_6_0());
}
lv_variable_64_0=ruleVariablePrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"variable",
lv_variable_64_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePrivate");
afterParserOrEnumRuleCall();
}
)
)
)*
)
)*
(
(
(
(
otherlv_65='@routine:'
{
newLeafNode(otherlv_65, grammarAccess.getMachineBlockAccess().getRoutineKeyword_8_0_0_0_0());
}
|
otherlv_66='@macro:'
{
newLeafNode(otherlv_66, grammarAccess.getMachineBlockAccess().getMacroKeyword_8_0_0_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getRoutineRoutineParserRuleCall_8_0_0_1_0());
}
lv_routine_67_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"routine",
lv_routine_67_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)+
)
|
(
otherlv_68='@procedure:'
{
newLeafNode(otherlv_68, grammarAccess.getMachineBlockAccess().getProcedureKeyword_8_0_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getProcedureProcedureParserRuleCall_8_0_1_1_0());
}
lv_procedure_69_0=ruleProcedure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"procedure",
lv_procedure_69_0,
"org.eclipse.efm.formalml.xtext.FormalML.Procedure");
afterParserOrEnumRuleCall();
}
)
)+
)
)*
|
(
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getRoutineRoutineParserRuleCall_8_1_0_0());
}
lv_routine_70_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"routine",
lv_routine_70_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getProcedureProcedureParserRuleCall_8_1_1_0());
}
lv_procedure_71_0=ruleProcedure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"procedure",
lv_procedure_71_0,
"org.eclipse.efm.formalml.xtext.FormalML.Procedure");
afterParserOrEnumRuleCall();
}
)
)
)+
)
(
(
(
otherlv_72='@composite:'
{
newLeafNode(otherlv_72, grammarAccess.getMachineBlockAccess().getCompositeKeyword_9_0_0_0());
}
|
otherlv_73='@machine:'
{
newLeafNode(otherlv_73, grammarAccess.getMachineBlockAccess().getMachineKeyword_9_0_0_1());
}
)
(
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getMachineAnyMachineBlockParserRuleCall_9_0_1_0_0());
}
lv_machine_74_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"machine",
lv_machine_74_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getInstanceInstanceMachineParserRuleCall_9_0_1_1_0());
}
lv_instance_75_0=ruleInstanceMachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"instance",
lv_instance_75_0,
"org.eclipse.efm.formalml.xtext.FormalML.InstanceMachine");
afterParserOrEnumRuleCall();
}
)
)
)+
)
|
(
otherlv_76='@model:'
{
newLeafNode(otherlv_76, grammarAccess.getMachineBlockAccess().getModelKeyword_9_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getMachineAnyMachineBlockParserRuleCall_9_1_1_0());
}
lv_machine_77_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"machine",
lv_machine_77_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_78='@prototype:'
{
newLeafNode(otherlv_78, grammarAccess.getMachineBlockAccess().getPrototypeKeyword_9_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getMachineAnyMachineBlockParserRuleCall_9_2_1_0());
}
lv_machine_79_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"machine",
lv_machine_79_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_80='@instance:'
{
newLeafNode(otherlv_80, grammarAccess.getMachineBlockAccess().getInstanceKeyword_9_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getInstanceInstanceMachineParserRuleCall_9_3_1_0());
}
lv_instance_81_0=ruleInstanceMachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"instance",
lv_instance_81_0,
"org.eclipse.efm.formalml.xtext.FormalML.InstanceMachine");
afterParserOrEnumRuleCall();
}
)
)*
)
)*
(
(
otherlv_82='@behavior:'
{
newLeafNode(otherlv_82, grammarAccess.getMachineBlockAccess().getBehaviorKeyword_10_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getBehaviorBehaviorParserRuleCall_10_0_1_0());
}
lv_behavior_83_0=ruleBehavior
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"behavior",
lv_behavior_83_0,
"org.eclipse.efm.formalml.xtext.FormalML.Behavior");
afterParserOrEnumRuleCall();
}
)
)+
)
|
(
otherlv_84='@statemachine:'
{
newLeafNode(otherlv_84, grammarAccess.getMachineBlockAccess().getStatemachineKeyword_10_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getBehaviorStatemachineParserRuleCall_10_1_1_0());
}
lv_behavior_85_0=ruleStatemachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
add(
$current,
"behavior",
lv_behavior_85_0,
"org.eclipse.efm.formalml.xtext.FormalML.Statemachine");
afterParserOrEnumRuleCall();
}
)
)+
)
)*
(
(
{
newCompositeNode(grammarAccess.getMachineBlockAccess().getMainMoeBehaviorParserRuleCall_11_0());
}
lv_main_86_0=ruleMoeBehavior
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMachineBlockRule());
}
set(
$current,
"main",
lv_main_86_0,
"org.eclipse.efm.formalml.xtext.FormalML.MoeBehavior");
afterParserOrEnumRuleCall();
}
)
)
otherlv_87='}'
{
newLeafNode(otherlv_87, grammarAccess.getMachineBlockAccess().getRightCurlyBracketKeyword_12());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleProcedure
entryRuleProcedure returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getProcedureRule()); }
iv_ruleProcedure=ruleProcedure
{ $current=$iv_ruleProcedure.current; }
EOF;
// Rule Procedure
ruleProcedure returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getVisibilityVisibilityKindEnumRuleCall_0_0());
}
lv_visibility_0_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
set(
$current,
"visibility",
lv_visibility_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_1='procedure'
{
newLeafNode(otherlv_1, grammarAccess.getProcedureAccess().getProcedureKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getProcedureAccess().getLessThanSignKeyword_2_0());
}
(
otherlv_3='moc:'
{
newLeafNode(otherlv_3, grammarAccess.getProcedureAccess().getMocKeyword_2_1());
}
)?
(
otherlv_4='and'
{
newLeafNode(otherlv_4, grammarAccess.getProcedureAccess().getAndKeyword_2_2_0());
}
|
otherlv_5='or'
{
newLeafNode(otherlv_5, grammarAccess.getProcedureAccess().getOrKeyword_2_2_1());
}
)
otherlv_6='>'
{
newLeafNode(otherlv_6, grammarAccess.getProcedureAccess().getGreaterThanSignKeyword_2_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_7_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
set(
$current,
"name",
lv_name_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_8_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_9='('
{
newLeafNode(otherlv_9, grammarAccess.getProcedureAccess().getLeftParenthesisKeyword_5_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterFunctionalParameterParserRuleCall_5_0_1_0_0());
}
lv_parameter_10_0=ruleFunctionalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionalParameter");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_11=','
{
newLeafNode(otherlv_11, grammarAccess.getProcedureAccess().getCommaKeyword_5_0_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterFunctionalParameterParserRuleCall_5_0_1_1_1_0());
}
lv_parameter_12_0=ruleFunctionalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionalParameter");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
otherlv_13=')'
{
newLeafNode(otherlv_13, grammarAccess.getProcedureAccess().getRightParenthesisKeyword_5_0_2());
}
)?
(
otherlv_14='-->'
{
newLeafNode(otherlv_14, grammarAccess.getProcedureAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_5_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterFormalParameterParserRuleCall_5_1_1_0_0());
}
lv_parameter_15_0=ruleFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameter");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_16='('
{
newLeafNode(otherlv_16, grammarAccess.getProcedureAccess().getLeftParenthesisKeyword_5_1_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterFormalParameterParserRuleCall_5_1_1_1_1_0());
}
lv_parameter_17_0=ruleFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_17_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameter");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_18=','
{
newLeafNode(otherlv_18, grammarAccess.getProcedureAccess().getCommaKeyword_5_1_1_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterFormalParameterParserRuleCall_5_1_1_1_2_1_0());
}
lv_parameter_19_0=ruleFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_19_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameter");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_20=')'
{
newLeafNode(otherlv_20, grammarAccess.getProcedureAccess().getRightParenthesisKeyword_5_1_1_1_3());
}
)
)
)?
)?
otherlv_21='{'
{
newLeafNode(otherlv_21, grammarAccess.getProcedureAccess().getLeftCurlyBracketKeyword_6());
}
(
(
otherlv_22='@parameter:'
{
newLeafNode(otherlv_22, grammarAccess.getProcedureAccess().getParameterKeyword_7_0_0());
}
(
(
otherlv_23='input'
{
newLeafNode(otherlv_23, grammarAccess.getProcedureAccess().getInputKeyword_7_0_1_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterInputParserRuleCall_7_0_1_0_1_0_0());
}
lv_parameter_24_0=ruleParameterInput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_24_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInput");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_25='{'
{
newLeafNode(otherlv_25, grammarAccess.getProcedureAccess().getLeftCurlyBracketKeyword_7_0_1_0_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterInputParserRuleCall_7_0_1_0_1_1_1_0());
}
lv_parameter_26_0=ruleParameterInput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_26_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInput");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_27='}'
{
newLeafNode(otherlv_27, grammarAccess.getProcedureAccess().getRightCurlyBracketKeyword_7_0_1_0_1_1_2());
}
)
)
)
|
(
otherlv_28='inout'
{
newLeafNode(otherlv_28, grammarAccess.getProcedureAccess().getInoutKeyword_7_0_1_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterInoutParserRuleCall_7_0_1_1_1_0_0());
}
lv_parameter_29_0=ruleParameterInout
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_29_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInout");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_30='{'
{
newLeafNode(otherlv_30, grammarAccess.getProcedureAccess().getLeftCurlyBracketKeyword_7_0_1_1_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterInoutParserRuleCall_7_0_1_1_1_1_1_0());
}
lv_parameter_31_0=ruleParameterInout
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_31_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInout");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_32='}'
{
newLeafNode(otherlv_32, grammarAccess.getProcedureAccess().getRightCurlyBracketKeyword_7_0_1_1_1_1_2());
}
)
)
)
|
(
otherlv_33='output'
{
newLeafNode(otherlv_33, grammarAccess.getProcedureAccess().getOutputKeyword_7_0_1_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterOutputParserRuleCall_7_0_1_2_1_0_0());
}
lv_parameter_34_0=ruleParameterOutput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_34_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterOutput");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_35='{'
{
newLeafNode(otherlv_35, grammarAccess.getProcedureAccess().getLeftCurlyBracketKeyword_7_0_1_2_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterOutputParserRuleCall_7_0_1_2_1_1_1_0());
}
lv_parameter_36_0=ruleParameterOutput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_36_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterOutput");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_37='}'
{
newLeafNode(otherlv_37, grammarAccess.getProcedureAccess().getRightCurlyBracketKeyword_7_0_1_2_1_1_2());
}
)
)
)
|
(
otherlv_38='return'
{
newLeafNode(otherlv_38, grammarAccess.getProcedureAccess().getReturnKeyword_7_0_1_3_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterReturnParserRuleCall_7_0_1_3_1_0_0());
}
lv_parameter_39_0=ruleParameterReturn
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_39_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterReturn");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_40='{'
{
newLeafNode(otherlv_40, grammarAccess.getProcedureAccess().getLeftCurlyBracketKeyword_7_0_1_3_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterReturnParserRuleCall_7_0_1_3_1_1_1_0());
}
lv_parameter_41_0=ruleParameterReturn
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_41_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterReturn");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_42='}'
{
newLeafNode(otherlv_42, grammarAccess.getProcedureAccess().getRightCurlyBracketKeyword_7_0_1_3_1_1_2());
}
)
)
)
)*
)
|
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getPortPortParserRuleCall_7_1_0_0());
}
lv_port_43_0=rulePort
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"port",
lv_port_43_0,
"org.eclipse.efm.formalml.xtext.FormalML.Port");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getSignalSignalParserRuleCall_7_1_1_0());
}
lv_signal_44_0=ruleSignal
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"signal",
lv_signal_44_0,
"org.eclipse.efm.formalml.xtext.FormalML.Signal");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getBufferBufferParserRuleCall_7_1_2_0());
}
lv_buffer_45_0=ruleBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"buffer",
lv_buffer_45_0,
"org.eclipse.efm.formalml.xtext.FormalML.Buffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getChannelChannelParserRuleCall_7_1_3_0());
}
lv_channel_46_0=ruleChannel
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"channel",
lv_channel_46_0,
"org.eclipse.efm.formalml.xtext.FormalML.Channel");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getTypedefTypeDefinitionParserRuleCall_7_1_4_0());
}
lv_typedef_47_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"typedef",
lv_typedef_47_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getFunctionFunctionParserRuleCall_7_1_5_0());
}
lv_function_48_0=ruleFunction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"function",
lv_function_48_0,
"org.eclipse.efm.formalml.xtext.FormalML.Function");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getVariableVariableParserRuleCall_7_1_6_0());
}
lv_variable_49_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"variable",
lv_variable_49_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)
)*
)
(
(
otherlv_50='@input:'
{
newLeafNode(otherlv_50, grammarAccess.getProcedureAccess().getInputKeyword_8_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterInputParserRuleCall_8_0_1_0());
}
lv_parameter_51_0=ruleParameterInput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_51_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInput");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_52='@inout:'
{
newLeafNode(otherlv_52, grammarAccess.getProcedureAccess().getInoutKeyword_8_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterInoutParserRuleCall_8_1_1_0());
}
lv_parameter_53_0=ruleParameterInout
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_53_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInout");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_54='@output:'
{
newLeafNode(otherlv_54, grammarAccess.getProcedureAccess().getOutputKeyword_8_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterOutputParserRuleCall_8_2_1_0());
}
lv_parameter_55_0=ruleParameterOutput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_55_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterOutput");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_56='@return:'
{
newLeafNode(otherlv_56, grammarAccess.getProcedureAccess().getReturnKeyword_8_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getParameterParameterReturnParserRuleCall_8_3_1_0());
}
lv_parameter_57_0=ruleParameterReturn
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"parameter",
lv_parameter_57_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterReturn");
afterParserOrEnumRuleCall();
}
)
)*
)
)*
(
(
otherlv_58='@property:'
{
newLeafNode(otherlv_58, grammarAccess.getProcedureAccess().getPropertyKeyword_9_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getPortPortParserRuleCall_9_0_1_0_0());
}
lv_port_59_0=rulePort
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"port",
lv_port_59_0,
"org.eclipse.efm.formalml.xtext.FormalML.Port");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getSignalSignalParserRuleCall_9_0_1_1_0());
}
lv_signal_60_0=ruleSignal
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"signal",
lv_signal_60_0,
"org.eclipse.efm.formalml.xtext.FormalML.Signal");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getBufferBufferParserRuleCall_9_0_1_2_0());
}
lv_buffer_61_0=ruleBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"buffer",
lv_buffer_61_0,
"org.eclipse.efm.formalml.xtext.FormalML.Buffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getChannelChannelParserRuleCall_9_0_1_3_0());
}
lv_channel_62_0=ruleChannel
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"channel",
lv_channel_62_0,
"org.eclipse.efm.formalml.xtext.FormalML.Channel");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getTypedefTypeDefinitionParserRuleCall_9_0_1_4_0());
}
lv_typedef_63_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"typedef",
lv_typedef_63_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getFunctionFunctionParserRuleCall_9_0_1_5_0());
}
lv_function_64_0=ruleFunction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"function",
lv_function_64_0,
"org.eclipse.efm.formalml.xtext.FormalML.Function");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getVariableVariableParserRuleCall_9_0_1_6_0());
}
lv_variable_65_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"variable",
lv_variable_65_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_66='@public:'
{
newLeafNode(otherlv_66, grammarAccess.getProcedureAccess().getPublicKeyword_9_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getPortPortPublicParserRuleCall_9_1_1_0_0());
}
lv_port_67_0=rulePortPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"port",
lv_port_67_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getSignalSignalPublicParserRuleCall_9_1_1_1_0());
}
lv_signal_68_0=ruleSignalPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"signal",
lv_signal_68_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getBufferBufferPublicParserRuleCall_9_1_1_2_0());
}
lv_buffer_69_0=ruleBufferPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"buffer",
lv_buffer_69_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getChannelChannelPublicParserRuleCall_9_1_1_3_0());
}
lv_channel_70_0=ruleChannelPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"channel",
lv_channel_70_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getTypedefTypeDefinitionParserRuleCall_9_1_1_4_0());
}
lv_typedef_71_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"typedef",
lv_typedef_71_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getFunctionFunctionPublicParserRuleCall_9_1_1_5_0());
}
lv_function_72_0=ruleFunctionPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"function",
lv_function_72_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getVariableVariablePublicParserRuleCall_9_1_1_6_0());
}
lv_variable_73_0=ruleVariablePublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"variable",
lv_variable_73_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePublic");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_74='@protected:'
{
newLeafNode(otherlv_74, grammarAccess.getProcedureAccess().getProtectedKeyword_9_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getPortPortProtectedParserRuleCall_9_2_1_0_0());
}
lv_port_75_0=rulePortProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"port",
lv_port_75_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getSignalSignalProtectedParserRuleCall_9_2_1_1_0());
}
lv_signal_76_0=ruleSignalProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"signal",
lv_signal_76_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getBufferBufferProtectedParserRuleCall_9_2_1_2_0());
}
lv_buffer_77_0=ruleBufferProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"buffer",
lv_buffer_77_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getChannelChannelProtectedParserRuleCall_9_2_1_3_0());
}
lv_channel_78_0=ruleChannelProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"channel",
lv_channel_78_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getTypedefTypeDefinitionParserRuleCall_9_2_1_4_0());
}
lv_typedef_79_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"typedef",
lv_typedef_79_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getFunctionFunctionProtectedParserRuleCall_9_2_1_5_0());
}
lv_function_80_0=ruleFunctionProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"function",
lv_function_80_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getVariableVariableProtectedParserRuleCall_9_2_1_6_0());
}
lv_variable_81_0=ruleVariableProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"variable",
lv_variable_81_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariableProtected");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_82='@private:'
{
newLeafNode(otherlv_82, grammarAccess.getProcedureAccess().getPrivateKeyword_9_3_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getPortPortPrivateParserRuleCall_9_3_1_0_0());
}
lv_port_83_0=rulePortPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"port",
lv_port_83_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getSignalSignalPrivateParserRuleCall_9_3_1_1_0());
}
lv_signal_84_0=ruleSignalPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"signal",
lv_signal_84_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getBufferBufferPrivateParserRuleCall_9_3_1_2_0());
}
lv_buffer_85_0=ruleBufferPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"buffer",
lv_buffer_85_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getChannelChannelPrivateParserRuleCall_9_3_1_3_0());
}
lv_channel_86_0=ruleChannelPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"channel",
lv_channel_86_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getTypedefTypeDefinitionParserRuleCall_9_3_1_4_0());
}
lv_typedef_87_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"typedef",
lv_typedef_87_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getFunctionFunctionPrivateParserRuleCall_9_3_1_5_0());
}
lv_function_88_0=ruleFunctionPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"function",
lv_function_88_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getVariableVariablePrivateParserRuleCall_9_3_1_6_0());
}
lv_variable_89_0=ruleVariablePrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"variable",
lv_variable_89_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePrivate");
afterParserOrEnumRuleCall();
}
)
)
)*
)
)*
(
(
(
(
otherlv_90='@routine:'
{
newLeafNode(otherlv_90, grammarAccess.getProcedureAccess().getRoutineKeyword_10_0_0_0_0());
}
|
otherlv_91='@macro:'
{
newLeafNode(otherlv_91, grammarAccess.getProcedureAccess().getMacroKeyword_10_0_0_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getRoutineRoutineParserRuleCall_10_0_0_1_0());
}
lv_routine_92_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"routine",
lv_routine_92_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)+
)
|
(
otherlv_93='@procedure:'
{
newLeafNode(otherlv_93, grammarAccess.getProcedureAccess().getProcedureKeyword_10_0_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getProcedureProcedureParserRuleCall_10_0_1_1_0());
}
lv_procedure_94_0=ruleProcedure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"procedure",
lv_procedure_94_0,
"org.eclipse.efm.formalml.xtext.FormalML.Procedure");
afterParserOrEnumRuleCall();
}
)
)+
)
)*
|
(
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getRoutineRoutineParserRuleCall_10_1_0_0());
}
lv_routine_95_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"routine",
lv_routine_95_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getProcedureProcedureParserRuleCall_10_1_1_0());
}
lv_procedure_96_0=ruleProcedure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
add(
$current,
"procedure",
lv_procedure_96_0,
"org.eclipse.efm.formalml.xtext.FormalML.Procedure");
afterParserOrEnumRuleCall();
}
)
)
)+
)
(
(
{
newCompositeNode(grammarAccess.getProcedureAccess().getExecutionProcedureExecutionParserRuleCall_11_0());
}
lv_execution_97_0=ruleProcedureExecution
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureRule());
}
set(
$current,
"execution",
lv_execution_97_0,
"org.eclipse.efm.formalml.xtext.FormalML.ProcedureExecution");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_98='}'
{
newLeafNode(otherlv_98, grammarAccess.getProcedureAccess().getRightCurlyBracketKeyword_12());
}
)
;
// Entry rule entryRuleProcedureExecution
entryRuleProcedureExecution returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2()
);
}:
{ newCompositeNode(grammarAccess.getProcedureExecutionRule()); }
iv_ruleProcedureExecution=ruleProcedureExecution
{ $current=$iv_ruleProcedureExecution.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule ProcedureExecution
ruleProcedureExecution returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getProcedureExecutionAccess().getModelOfExecutionAction_0(),
$current);
}
)
(
otherlv_1='@moe:'
{
newLeafNode(otherlv_1, grammarAccess.getProcedureExecutionAccess().getMoeKeyword_1());
}
)?
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2(), 0);
}
({true}?=>((
otherlv_3='@schedule'
{
newLeafNode(otherlv_3, grammarAccess.getProcedureExecutionAccess().getScheduleKeyword_2_0_0_0());
}
|
otherlv_4='@xschedule'
{
newLeafNode(otherlv_4, grammarAccess.getProcedureExecutionAccess().getXscheduleKeyword_2_0_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getProcedureExecutionAccess().getScheduleRoutineMoeRoutineParserRuleCall_2_0_1_0());
}
lv_scheduleRoutine_5_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureExecutionRule());
}
set(
$current,
"scheduleRoutine",
lv_scheduleRoutine_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2(), 1);
}
({true}?=>(otherlv_6='@run'
{
newLeafNode(otherlv_6, grammarAccess.getProcedureExecutionAccess().getRunKeyword_2_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getProcedureExecutionAccess().getRunRoutineMoeRoutineParserRuleCall_2_1_1_0());
}
lv_runRoutine_7_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getProcedureExecutionRule());
}
set(
$current,
"runRoutine",
lv_runRoutine_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getProcedureExecutionAccess().getUnorderedGroup_2());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleBehavior
entryRuleBehavior returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBehaviorRule()); }
iv_ruleBehavior=ruleBehavior
{ $current=$iv_ruleBehavior.current; }
EOF;
// Rule Behavior
ruleBehavior returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getBehaviorAccess().getStatemachineParserRuleCall());
}
this_Statemachine_0=ruleStatemachine
{
$current = $this_Statemachine_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleMoeBehavior
entryRuleMoeBehavior returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2()
);
}:
{ newCompositeNode(grammarAccess.getMoeBehaviorRule()); }
iv_ruleMoeBehavior=ruleMoeBehavior
{ $current=$iv_ruleMoeBehavior.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule MoeBehavior
ruleMoeBehavior returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMoeBehaviorAccess().getBehaviorAction_0(),
$current);
}
)
(
otherlv_1='@local:'
{
newLeafNode(otherlv_1, grammarAccess.getMoeBehaviorAccess().getLocalKeyword_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getPortPortPrivateParserRuleCall_1_1_0_0());
}
lv_port_2_0=rulePortPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
add(
$current,
"port",
lv_port_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getSignalSignalPrivateParserRuleCall_1_1_1_0());
}
lv_signal_3_0=ruleSignalPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
add(
$current,
"signal",
lv_signal_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getBufferBufferPrivateParserRuleCall_1_1_2_0());
}
lv_buffer_4_0=ruleBufferPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
add(
$current,
"buffer",
lv_buffer_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getChannelChannelPrivateParserRuleCall_1_1_3_0());
}
lv_channel_5_0=ruleChannelPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
add(
$current,
"channel",
lv_channel_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getTypedefTypeDefinitionParserRuleCall_1_1_4_0());
}
lv_typedef_6_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
add(
$current,
"typedef",
lv_typedef_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getFunctionFunctionPrivateParserRuleCall_1_1_5_0());
}
lv_function_7_0=ruleFunctionPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
add(
$current,
"function",
lv_function_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getVariableVariablePrivateParserRuleCall_1_1_6_0());
}
lv_variable_8_0=ruleVariablePrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
add(
$current,
"variable",
lv_variable_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePrivate");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getExecutionModelOfExecutionParserRuleCall_2_0_0());
}
lv_execution_10_0=ruleModelOfExecution
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
set(
$current,
"execution",
lv_execution_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.ModelOfExecution");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getMoeBehaviorAccess().getInteractionModelOfInteractionParserRuleCall_2_1_0());
}
lv_interaction_11_0=ruleModelOfInteraction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeBehaviorRule());
}
set(
$current,
"interaction",
lv_interaction_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.ModelOfInteraction");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getMoeBehaviorAccess().getUnorderedGroup_2());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleStatemachine
entryRuleStatemachine returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getStatemachineAccess().getUnorderedGroup_1(),
grammarAccess.getStatemachineAccess().getUnorderedGroup_12()
);
}:
{ newCompositeNode(grammarAccess.getStatemachineRule()); }
iv_ruleStatemachine=ruleStatemachine
{ $current=$iv_ruleStatemachine.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule Statemachine
ruleStatemachine returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getStatemachineAccess().getUnorderedGroup_1(),
grammarAccess.getStatemachineAccess().getUnorderedGroup_12()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getStatemachineAccess().getStatemachineAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getStatemachineAccess().getVisibilityVisibilityKindEnumRuleCall_1_0_0());
}
lv_visibility_2_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
set(
$current,
"visibility",
lv_visibility_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 1);
}
({true}?=>((
lv_timed_3_0='timed'
{
newLeafNode(lv_timed_3_0, grammarAccess.getStatemachineAccess().getTimedTimedKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStatemachineRule());
}
setWithLastConsumed($current, "timed", true, "timed");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 2);
}
({true}?=>((
lv_dense_timed_4_0='timed#dense'
{
newLeafNode(lv_dense_timed_4_0, grammarAccess.getStatemachineAccess().getDense_timedTimedDenseKeyword_1_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStatemachineRule());
}
setWithLastConsumed($current, "dense_timed", true, "timed#dense");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 3)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 3);
}
({true}?=>((
lv_discrete_timed_5_0='timed#discrete'
{
newLeafNode(lv_discrete_timed_5_0, grammarAccess.getStatemachineAccess().getDiscrete_timedTimedDiscreteKeyword_1_3_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStatemachineRule());
}
setWithLastConsumed($current, "discrete_timed", true, "timed#discrete");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 4)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 4);
}
({true}?=>((
lv_input_enabled_6_0='input_enabled'
{
newLeafNode(lv_input_enabled_6_0, grammarAccess.getStatemachineAccess().getInput_enabledInput_enabledKeyword_1_4_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStatemachineRule());
}
setWithLastConsumed($current, "input_enabled", true, "input_enabled");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 5)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 5);
}
({true}?=>((
lv_lifeline_7_0='lifeline'
{
newLeafNode(lv_lifeline_7_0, grammarAccess.getStatemachineAccess().getLifelineLifelineKeyword_1_5_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStatemachineRule());
}
setWithLastConsumed($current, "lifeline", true, "lifeline");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 6)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_1(), 6);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getStatemachineAccess().getDesignDesignKindEnumRuleCall_1_6_0());
}
lv_design_8_0=ruleDesignKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
set(
$current,
"design",
lv_design_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.DesignKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getStatemachineAccess().getUnorderedGroup_1());
}
)
otherlv_9='statemachine'
{
newLeafNode(otherlv_9, grammarAccess.getStatemachineAccess().getStatemachineKeyword_2());
}
(
otherlv_10='<'
{
newLeafNode(otherlv_10, grammarAccess.getStatemachineAccess().getLessThanSignKeyword_3_0());
}
(
otherlv_11='moc:'
{
newLeafNode(otherlv_11, grammarAccess.getStatemachineAccess().getMocKeyword_3_1());
}
)?
{
/* */
}
{
newCompositeNode(grammarAccess.getStatemachineAccess().getModelOfComputationKingParserRuleCall_3_2());
}
ruleModelOfComputationKing
{
afterParserOrEnumRuleCall();
}
otherlv_13='>'
{
newLeafNode(otherlv_13, grammarAccess.getStatemachineAccess().getGreaterThanSignKeyword_3_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getNameESIdentifierParserRuleCall_4_0());
}
lv_name_14_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
set(
$current,
"name",
lv_name_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_0());
}
lv_unrestrictedName_15_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_16='{'
{
newLeafNode(otherlv_16, grammarAccess.getStatemachineAccess().getLeftCurlyBracketKeyword_6());
}
(
(
otherlv_17='@parameter:'
{
newLeafNode(otherlv_17, grammarAccess.getStatemachineAccess().getParameterKeyword_7_0_0());
}
(
(
otherlv_18='input'
{
newLeafNode(otherlv_18, grammarAccess.getStatemachineAccess().getInputKeyword_7_0_1_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterInputParserRuleCall_7_0_1_0_1_0_0());
}
lv_parameter_19_0=ruleParameterInput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_19_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInput");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_20='{'
{
newLeafNode(otherlv_20, grammarAccess.getStatemachineAccess().getLeftCurlyBracketKeyword_7_0_1_0_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterInputParserRuleCall_7_0_1_0_1_1_1_0());
}
lv_parameter_21_0=ruleParameterInput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_21_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInput");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_22='}'
{
newLeafNode(otherlv_22, grammarAccess.getStatemachineAccess().getRightCurlyBracketKeyword_7_0_1_0_1_1_2());
}
)
)
)
|
(
otherlv_23='inout'
{
newLeafNode(otherlv_23, grammarAccess.getStatemachineAccess().getInoutKeyword_7_0_1_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterInoutParserRuleCall_7_0_1_1_1_0_0());
}
lv_parameter_24_0=ruleParameterInout
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_24_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInout");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_25='{'
{
newLeafNode(otherlv_25, grammarAccess.getStatemachineAccess().getLeftCurlyBracketKeyword_7_0_1_1_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterInoutParserRuleCall_7_0_1_1_1_1_1_0());
}
lv_parameter_26_0=ruleParameterInout
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_26_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInout");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_27='}'
{
newLeafNode(otherlv_27, grammarAccess.getStatemachineAccess().getRightCurlyBracketKeyword_7_0_1_1_1_1_2());
}
)
)
)
|
(
otherlv_28='output'
{
newLeafNode(otherlv_28, grammarAccess.getStatemachineAccess().getOutputKeyword_7_0_1_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterOutputParserRuleCall_7_0_1_2_1_0_0());
}
lv_parameter_29_0=ruleParameterOutput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_29_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterOutput");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_30='{'
{
newLeafNode(otherlv_30, grammarAccess.getStatemachineAccess().getLeftCurlyBracketKeyword_7_0_1_2_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterOutputParserRuleCall_7_0_1_2_1_1_1_0());
}
lv_parameter_31_0=ruleParameterOutput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_31_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterOutput");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_32='}'
{
newLeafNode(otherlv_32, grammarAccess.getStatemachineAccess().getRightCurlyBracketKeyword_7_0_1_2_1_1_2());
}
)
)
)
|
(
otherlv_33='return'
{
newLeafNode(otherlv_33, grammarAccess.getStatemachineAccess().getReturnKeyword_7_0_1_3_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterReturnParserRuleCall_7_0_1_3_1_0_0());
}
lv_parameter_34_0=ruleParameterReturn
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_34_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterReturn");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_35='{'
{
newLeafNode(otherlv_35, grammarAccess.getStatemachineAccess().getLeftCurlyBracketKeyword_7_0_1_3_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterReturnParserRuleCall_7_0_1_3_1_1_1_0());
}
lv_parameter_36_0=ruleParameterReturn
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_36_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterReturn");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_37='}'
{
newLeafNode(otherlv_37, grammarAccess.getStatemachineAccess().getRightCurlyBracketKeyword_7_0_1_3_1_1_2());
}
)
)
)
)*
)
|
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getPortPortParserRuleCall_7_1_0_0());
}
lv_port_38_0=rulePort
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"port",
lv_port_38_0,
"org.eclipse.efm.formalml.xtext.FormalML.Port");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getSignalSignalParserRuleCall_7_1_1_0());
}
lv_signal_39_0=ruleSignal
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"signal",
lv_signal_39_0,
"org.eclipse.efm.formalml.xtext.FormalML.Signal");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getBufferBufferParserRuleCall_7_1_2_0());
}
lv_buffer_40_0=ruleBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"buffer",
lv_buffer_40_0,
"org.eclipse.efm.formalml.xtext.FormalML.Buffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getChannelChannelParserRuleCall_7_1_3_0());
}
lv_channel_41_0=ruleChannel
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"channel",
lv_channel_41_0,
"org.eclipse.efm.formalml.xtext.FormalML.Channel");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getTypedefTypeDefinitionParserRuleCall_7_1_4_0());
}
lv_typedef_42_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"typedef",
lv_typedef_42_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getFunctionFunctionParserRuleCall_7_1_5_0());
}
lv_function_43_0=ruleFunction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"function",
lv_function_43_0,
"org.eclipse.efm.formalml.xtext.FormalML.Function");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getVariableVariableParserRuleCall_7_1_6_0());
}
lv_variable_44_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"variable",
lv_variable_44_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)
)*
)
(
(
otherlv_45='@input:'
{
newLeafNode(otherlv_45, grammarAccess.getStatemachineAccess().getInputKeyword_8_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterInputParserRuleCall_8_0_1_0());
}
lv_parameter_46_0=ruleParameterInput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_46_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInput");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_47='@inout:'
{
newLeafNode(otherlv_47, grammarAccess.getStatemachineAccess().getInoutKeyword_8_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterInoutParserRuleCall_8_1_1_0());
}
lv_parameter_48_0=ruleParameterInout
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_48_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterInout");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_49='@output:'
{
newLeafNode(otherlv_49, grammarAccess.getStatemachineAccess().getOutputKeyword_8_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterOutputParserRuleCall_8_2_1_0());
}
lv_parameter_50_0=ruleParameterOutput
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_50_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterOutput");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_51='@return:'
{
newLeafNode(otherlv_51, grammarAccess.getStatemachineAccess().getReturnKeyword_8_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getParameterParameterReturnParserRuleCall_8_3_1_0());
}
lv_parameter_52_0=ruleParameterReturn
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"parameter",
lv_parameter_52_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterReturn");
afterParserOrEnumRuleCall();
}
)
)*
)
)*
(
(
otherlv_53='@property:'
{
newLeafNode(otherlv_53, grammarAccess.getStatemachineAccess().getPropertyKeyword_9_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getPortPortParserRuleCall_9_0_1_0_0());
}
lv_port_54_0=rulePort
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"port",
lv_port_54_0,
"org.eclipse.efm.formalml.xtext.FormalML.Port");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getSignalSignalParserRuleCall_9_0_1_1_0());
}
lv_signal_55_0=ruleSignal
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"signal",
lv_signal_55_0,
"org.eclipse.efm.formalml.xtext.FormalML.Signal");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getBufferBufferParserRuleCall_9_0_1_2_0());
}
lv_buffer_56_0=ruleBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"buffer",
lv_buffer_56_0,
"org.eclipse.efm.formalml.xtext.FormalML.Buffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getChannelChannelParserRuleCall_9_0_1_3_0());
}
lv_channel_57_0=ruleChannel
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"channel",
lv_channel_57_0,
"org.eclipse.efm.formalml.xtext.FormalML.Channel");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getTypedefTypeDefinitionParserRuleCall_9_0_1_4_0());
}
lv_typedef_58_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"typedef",
lv_typedef_58_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getFunctionFunctionParserRuleCall_9_0_1_5_0());
}
lv_function_59_0=ruleFunction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"function",
lv_function_59_0,
"org.eclipse.efm.formalml.xtext.FormalML.Function");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getVariableVariableParserRuleCall_9_0_1_6_0());
}
lv_variable_60_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"variable",
lv_variable_60_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_61='@public:'
{
newLeafNode(otherlv_61, grammarAccess.getStatemachineAccess().getPublicKeyword_9_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getPortPortPublicParserRuleCall_9_1_1_0_0());
}
lv_port_62_0=rulePortPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"port",
lv_port_62_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getSignalSignalPublicParserRuleCall_9_1_1_1_0());
}
lv_signal_63_0=ruleSignalPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"signal",
lv_signal_63_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getBufferBufferPublicParserRuleCall_9_1_1_2_0());
}
lv_buffer_64_0=ruleBufferPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"buffer",
lv_buffer_64_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getChannelChannelPublicParserRuleCall_9_1_1_3_0());
}
lv_channel_65_0=ruleChannelPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"channel",
lv_channel_65_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getTypedefTypeDefinitionParserRuleCall_9_1_1_4_0());
}
lv_typedef_66_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"typedef",
lv_typedef_66_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getFunctionFunctionPublicParserRuleCall_9_1_1_5_0());
}
lv_function_67_0=ruleFunctionPublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"function",
lv_function_67_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPublic");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getVariableVariablePublicParserRuleCall_9_1_1_6_0());
}
lv_variable_68_0=ruleVariablePublic
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"variable",
lv_variable_68_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePublic");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_69='@protected:'
{
newLeafNode(otherlv_69, grammarAccess.getStatemachineAccess().getProtectedKeyword_9_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getPortPortProtectedParserRuleCall_9_2_1_0_0());
}
lv_port_70_0=rulePortProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"port",
lv_port_70_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getSignalSignalProtectedParserRuleCall_9_2_1_1_0());
}
lv_signal_71_0=ruleSignalProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"signal",
lv_signal_71_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getBufferBufferProtectedParserRuleCall_9_2_1_2_0());
}
lv_buffer_72_0=ruleBufferProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"buffer",
lv_buffer_72_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getChannelChannelProtectedParserRuleCall_9_2_1_3_0());
}
lv_channel_73_0=ruleChannelProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"channel",
lv_channel_73_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getTypedefTypeDefinitionParserRuleCall_9_2_1_4_0());
}
lv_typedef_74_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"typedef",
lv_typedef_74_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getFunctionFunctionProtectedParserRuleCall_9_2_1_5_0());
}
lv_function_75_0=ruleFunctionProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"function",
lv_function_75_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionProtected");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getVariableVariableProtectedParserRuleCall_9_2_1_6_0());
}
lv_variable_76_0=ruleVariableProtected
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"variable",
lv_variable_76_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariableProtected");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
otherlv_77='@private:'
{
newLeafNode(otherlv_77, grammarAccess.getStatemachineAccess().getPrivateKeyword_9_3_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getPortPortPrivateParserRuleCall_9_3_1_0_0());
}
lv_port_78_0=rulePortPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"port",
lv_port_78_0,
"org.eclipse.efm.formalml.xtext.FormalML.PortPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getSignalSignalPrivateParserRuleCall_9_3_1_1_0());
}
lv_signal_79_0=ruleSignalPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"signal",
lv_signal_79_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getBufferBufferPrivateParserRuleCall_9_3_1_2_0());
}
lv_buffer_80_0=ruleBufferPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"buffer",
lv_buffer_80_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getChannelChannelPrivateParserRuleCall_9_3_1_3_0());
}
lv_channel_81_0=ruleChannelPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"channel",
lv_channel_81_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getTypedefTypeDefinitionParserRuleCall_9_3_1_4_0());
}
lv_typedef_82_0=ruleTypeDefinition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"typedef",
lv_typedef_82_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeDefinition");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getFunctionFunctionPrivateParserRuleCall_9_3_1_5_0());
}
lv_function_83_0=ruleFunctionPrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"function",
lv_function_83_0,
"org.eclipse.efm.formalml.xtext.FormalML.FunctionPrivate");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getVariableVariablePrivateParserRuleCall_9_3_1_6_0());
}
lv_variable_84_0=ruleVariablePrivate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"variable",
lv_variable_84_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariablePrivate");
afterParserOrEnumRuleCall();
}
)
)
)*
)
)*
(
(
(
(
otherlv_85='@routine:'
{
newLeafNode(otherlv_85, grammarAccess.getStatemachineAccess().getRoutineKeyword_10_0_0_0_0());
}
|
otherlv_86='@macro:'
{
newLeafNode(otherlv_86, grammarAccess.getStatemachineAccess().getMacroKeyword_10_0_0_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getRoutineRoutineParserRuleCall_10_0_0_1_0());
}
lv_routine_87_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"routine",
lv_routine_87_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)+
)
|
(
otherlv_88='@procedure:'
{
newLeafNode(otherlv_88, grammarAccess.getStatemachineAccess().getProcedureKeyword_10_0_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getProcedureProcedureParserRuleCall_10_0_1_1_0());
}
lv_procedure_89_0=ruleProcedure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"procedure",
lv_procedure_89_0,
"org.eclipse.efm.formalml.xtext.FormalML.Procedure");
afterParserOrEnumRuleCall();
}
)
)+
)
)*
|
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getRoutineRoutineParserRuleCall_10_1_0_0());
}
lv_routine_90_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"routine",
lv_routine_90_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getProcedureProcedureParserRuleCall_10_1_1_0());
}
lv_procedure_91_0=ruleProcedure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"procedure",
lv_procedure_91_0,
"org.eclipse.efm.formalml.xtext.FormalML.Procedure");
afterParserOrEnumRuleCall();
}
)
)
)+
)
(
(
(
otherlv_92='@statemachine:'
{
newLeafNode(otherlv_92, grammarAccess.getStatemachineAccess().getStatemachineKeyword_11_0_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getMachineStatemachineParserRuleCall_11_0_0_1_0());
}
lv_machine_93_0=ruleStatemachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"machine",
lv_machine_93_0,
"org.eclipse.efm.formalml.xtext.FormalML.Statemachine");
afterParserOrEnumRuleCall();
}
)
)+
)
|
(
otherlv_94='@composite:'
{
newLeafNode(otherlv_94, grammarAccess.getStatemachineAccess().getCompositeKeyword_11_0_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getMachineAnyMachineBlockParserRuleCall_11_0_1_1_0());
}
lv_machine_95_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"machine",
lv_machine_95_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_96='@model:'
{
newLeafNode(otherlv_96, grammarAccess.getStatemachineAccess().getModelKeyword_11_0_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getMachineAnyMachineBlockParserRuleCall_11_0_2_1_0());
}
lv_machine_97_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"machine",
lv_machine_97_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_98='@prototype:'
{
newLeafNode(otherlv_98, grammarAccess.getStatemachineAccess().getPrototypeKeyword_11_0_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getMachineAnyMachineBlockParserRuleCall_11_0_3_1_0());
}
lv_machine_99_0=ruleAnyMachineBlock
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"machine",
lv_machine_99_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyMachineBlock");
afterParserOrEnumRuleCall();
}
)
)*
)
|
(
otherlv_100='@instance:'
{
newLeafNode(otherlv_100, grammarAccess.getStatemachineAccess().getInstanceKeyword_11_0_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getInstanceInstanceMachineParserRuleCall_11_0_4_1_0());
}
lv_instance_101_0=ruleInstanceMachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"instance",
lv_instance_101_0,
"org.eclipse.efm.formalml.xtext.FormalML.InstanceMachine");
afterParserOrEnumRuleCall();
}
)
)*
)
)+
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getRegionStatemachineRegionParserRuleCall_11_1_0());
}
lv_region_102_0=ruleStatemachineRegion
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"region",
lv_region_102_0,
"org.eclipse.efm.formalml.xtext.FormalML.StatemachineRegion");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getRegionStatemachineNamedRegionParserRuleCall_11_2_0());
}
lv_region_103_0=ruleStatemachineNamedRegion
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"region",
lv_region_103_0,
"org.eclipse.efm.formalml.xtext.FormalML.StatemachineNamedRegion");
afterParserOrEnumRuleCall();
}
)
)+
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineAccess().getRegionStatemachineRegionLiteParserRuleCall_11_3_0());
}
lv_region_104_0=ruleStatemachineRegionLite
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
add(
$current,
"region",
lv_region_104_0,
"org.eclipse.efm.formalml.xtext.FormalML.StatemachineRegionLite");
afterParserOrEnumRuleCall();
}
)
)
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getStatemachineAccess().getUnorderedGroup_12());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_12(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_12(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getStatemachineAccess().getExecutionModelOfExecutionParserRuleCall_12_0_0());
}
lv_execution_106_0=ruleModelOfExecution
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
set(
$current,
"execution",
lv_execution_106_0,
"org.eclipse.efm.formalml.xtext.FormalML.ModelOfExecution");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_12());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStatemachineAccess().getUnorderedGroup_12(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStatemachineAccess().getUnorderedGroup_12(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getStatemachineAccess().getInteractionModelOfInteractionParserRuleCall_12_1_0());
}
lv_interaction_107_0=ruleModelOfInteraction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRule());
}
set(
$current,
"interaction",
lv_interaction_107_0,
"org.eclipse.efm.formalml.xtext.FormalML.ModelOfInteraction");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStatemachineAccess().getUnorderedGroup_12());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getStatemachineAccess().getUnorderedGroup_12());
}
)
otherlv_108='}'
{
newLeafNode(otherlv_108, grammarAccess.getStatemachineAccess().getRightCurlyBracketKeyword_13());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleStatemachineRegion
entryRuleStatemachineRegion returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getStatemachineRegionRule()); }
iv_ruleStatemachineRegion=ruleStatemachineRegion
{ $current=$iv_ruleStatemachineRegion.current; }
EOF;
// Rule StatemachineRegion
ruleStatemachineRegion returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getStatemachineRegionAccess().getRegionAction_0(),
$current);
}
)
(
otherlv_1='@state:'
{
newLeafNode(otherlv_1, grammarAccess.getStatemachineRegionAccess().getStateKeyword_1_0());
}
|
otherlv_2='@region:'
{
newLeafNode(otherlv_2, grammarAccess.getStatemachineRegionAccess().getRegionKeyword_1_1());
}
)
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineRegionAccess().getVertexStateParserRuleCall_2_0_0());
}
lv_vertex_3_0=ruleState
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRegionRule());
}
add(
$current,
"vertex",
lv_vertex_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.State");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineRegionAccess().getVertexPseudostateParserRuleCall_2_1_0());
}
lv_vertex_4_0=rulePseudostate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRegionRule());
}
add(
$current,
"vertex",
lv_vertex_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.Pseudostate");
afterParserOrEnumRuleCall();
}
)
)
)+
)
;
// Entry rule entryRuleStatemachineNamedRegion
entryRuleStatemachineNamedRegion returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getStatemachineNamedRegionRule()); }
iv_ruleStatemachineNamedRegion=ruleStatemachineNamedRegion
{ $current=$iv_ruleStatemachineNamedRegion.current; }
EOF;
// Rule StatemachineNamedRegion
ruleStatemachineNamedRegion returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getStatemachineNamedRegionAccess().getRegionAction_0(),
$current);
}
)
otherlv_1='@region('
{
newLeafNode(otherlv_1, grammarAccess.getStatemachineNamedRegionAccess().getRegionKeyword_1());
}
(
otherlv_2='id:'
{
newLeafNode(otherlv_2, grammarAccess.getStatemachineNamedRegionAccess().getIdKeyword_2_0());
}
|
otherlv_3='name:'
{
newLeafNode(otherlv_3, grammarAccess.getStatemachineNamedRegionAccess().getNameKeyword_2_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getStatemachineNamedRegionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_4_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineNamedRegionRule());
}
set(
$current,
"name",
lv_name_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getStatemachineNamedRegionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_5_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineNamedRegionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_6='):'
{
newLeafNode(otherlv_6, grammarAccess.getStatemachineNamedRegionAccess().getRightParenthesisColonKeyword_5());
}
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineNamedRegionAccess().getVertexStateParserRuleCall_6_0_0());
}
lv_vertex_7_0=ruleState
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineNamedRegionRule());
}
add(
$current,
"vertex",
lv_vertex_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.State");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineNamedRegionAccess().getVertexPseudostateParserRuleCall_6_1_0());
}
lv_vertex_8_0=rulePseudostate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineNamedRegionRule());
}
add(
$current,
"vertex",
lv_vertex_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.Pseudostate");
afterParserOrEnumRuleCall();
}
)
)
)+
)
;
// Entry rule entryRuleStatemachineRegionLite
entryRuleStatemachineRegionLite returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getStatemachineRegionLiteRule()); }
iv_ruleStatemachineRegionLite=ruleStatemachineRegionLite
{ $current=$iv_ruleStatemachineRegionLite.current; }
EOF;
// Rule StatemachineRegionLite
ruleStatemachineRegionLite returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getStatemachineRegionLiteAccess().getVertexStateParserRuleCall_0_0());
}
lv_vertex_0_0=ruleState
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRegionLiteRule());
}
add(
$current,
"vertex",
lv_vertex_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.State");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getStatemachineRegionLiteAccess().getVertexPseudostateParserRuleCall_1_0());
}
lv_vertex_1_0=rulePseudostate
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStatemachineRegionLiteRule());
}
add(
$current,
"vertex",
lv_vertex_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Pseudostate");
afterParserOrEnumRuleCall();
}
)
)
)+
;
// Entry rule entryRuleState
entryRuleState returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getStateRule()); }
iv_ruleState=ruleState
{ $current=$iv_ruleState.current; }
EOF;
// Rule State
ruleState returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getStateAccess().getCompositeStateParserRuleCall_0());
}
this_CompositeState_0=ruleCompositeState
{
$current = $this_CompositeState_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStateAccess().getStartStateParserRuleCall_1());
}
this_StartState_1=ruleStartState
{
$current = $this_StartState_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStateAccess().getSimpleStateParserRuleCall_2());
}
this_SimpleState_2=ruleSimpleState
{
$current = $this_SimpleState_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStateAccess().getFinalStateParserRuleCall_3());
}
this_FinalState_3=ruleFinalState
{
$current = $this_FinalState_3.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleCompositeState
entryRuleCompositeState returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0(),
grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1()
);
}:
{ newCompositeNode(grammarAccess.getCompositeStateRule()); }
iv_ruleCompositeState=ruleCompositeState
{ $current=$iv_ruleCompositeState.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule CompositeState
ruleCompositeState returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0(),
grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getCompositeStateAccess().getStateAction_0(),
$current);
}
)
(
(
lv_composite_1_0='state'
{
newLeafNode(lv_composite_1_0, grammarAccess.getCompositeStateAccess().getCompositeStateKeyword_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getCompositeStateRule());
}
setWithLastConsumed($current, "composite", true, "state");
}
)
)
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getCompositeStateAccess().getLessThanSignKeyword_2());
}
(
otherlv_3='moc:'
{
newLeafNode(otherlv_3, grammarAccess.getCompositeStateAccess().getMocKeyword_3());
}
)?
(
otherlv_4='or'
{
newLeafNode(otherlv_4, grammarAccess.getCompositeStateAccess().getOrKeyword_4_0());
}
|
(
(
lv_orthogonal_5_0='and'
{
newLeafNode(lv_orthogonal_5_0, grammarAccess.getCompositeStateAccess().getOrthogonalAndKeyword_4_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getCompositeStateRule());
}
setWithLastConsumed($current, "orthogonal", true, "and");
}
)
)
)
otherlv_6='>'
{
newLeafNode(otherlv_6, grammarAccess.getCompositeStateAccess().getGreaterThanSignKeyword_5());
}
(
(
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getNameESIdentifierParserRuleCall_6_0());
}
lv_name_7_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
set(
$current,
"name",
lv_name_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_7_0());
}
lv_unrestrictedName_8_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_9='{'
{
newLeafNode(otherlv_9, grammarAccess.getCompositeStateAccess().getLeftCurlyBracketKeyword_8_0_0());
}
(
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0(), 0);
}
({true}?=>((
(
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getRegionStatemachineRegionParserRuleCall_8_0_1_0_0_0_0());
}
lv_region_11_0=ruleStatemachineRegion
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
add(
$current,
"region",
lv_region_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.StatemachineRegion");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getRegionStatemachineNamedRegionParserRuleCall_8_0_1_0_0_1_0());
}
lv_region_12_0=ruleStatemachineNamedRegion
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
add(
$current,
"region",
lv_region_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.StatemachineNamedRegion");
afterParserOrEnumRuleCall();
}
)
)+
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0(), 1);
}
({true}?=>(otherlv_13='@moe:'
{
newLeafNode(otherlv_13, grammarAccess.getCompositeStateAccess().getMoeKeyword_8_0_1_0_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getMoeMoeCompositeStateRoutinesParserRuleCall_8_0_1_0_1_1_0());
}
lv_moe_14_0=rulemoeCompositeStateRoutines
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
set(
$current,
"moe",
lv_moe_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeCompositeStateRoutines");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0(), 2);
}
({true}?=>(otherlv_15='@transition:'
{
newLeafNode(otherlv_15, grammarAccess.getCompositeStateAccess().getTransitionKeyword_8_0_1_0_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getTransitionTransitionParserRuleCall_8_0_1_0_2_1_0());
}
lv_transition_16_0=ruleTransition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
add(
$current,
"transition",
lv_transition_16_0,
"org.eclipse.efm.formalml.xtext.FormalML.Transition");
afterParserOrEnumRuleCall();
}
)
)*
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0());
}
)
)
)+
{getUnorderedGroupHelper().canLeave(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0())}?
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_0());
}
)
|
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getRegionStatemachineRegionLiteParserRuleCall_8_0_1_1_0_0());
}
lv_region_18_0=ruleStatemachineRegionLite
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
add(
$current,
"region",
lv_region_18_0,
"org.eclipse.efm.formalml.xtext.FormalML.StatemachineRegionLite");
afterParserOrEnumRuleCall();
}
)
))+
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getMoeMoeCompositeStateRoutinesParserRuleCall_8_0_1_1_1_0());
}
lv_moe_19_0=rulemoeCompositeStateRoutines
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
set(
$current,
"moe",
lv_moe_19_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeCompositeStateRoutines");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1(), 2);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getCompositeStateAccess().getTransitionTransitionParserRuleCall_8_0_1_1_2_0());
}
lv_transition_20_0=ruleTransition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCompositeStateRule());
}
add(
$current,
"transition",
lv_transition_20_0,
"org.eclipse.efm.formalml.xtext.FormalML.Transition");
afterParserOrEnumRuleCall();
}
)
))+
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getCompositeStateAccess().getUnorderedGroup_8_0_1_1());
}
)
)
otherlv_21='}'
{
newLeafNode(otherlv_21, grammarAccess.getCompositeStateAccess().getRightCurlyBracketKeyword_8_0_2());
}
)
|
otherlv_22=';'
{
newLeafNode(otherlv_22, grammarAccess.getCompositeStateAccess().getSemicolonKeyword_8_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRulemoeCompositeStateRoutines
entryRulemoeCompositeStateRoutines returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesRule()); }
iv_rulemoeCompositeStateRoutines=rulemoeCompositeStateRoutines
{ $current=$iv_rulemoeCompositeStateRoutines.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule moeCompositeStateRoutines
rulemoeCompositeStateRoutines returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMoeCompositeStateRoutinesAccess().getModelOfExecutionAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 0);
}
({true}?=>(otherlv_2='@create'
{
newLeafNode(otherlv_2, grammarAccess.getMoeCompositeStateRoutinesAccess().getCreateKeyword_1_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getCreateRoutineMoeRoutineParserRuleCall_1_0_1_0());
}
lv_createRoutine_3_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"createRoutine",
lv_createRoutine_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 1);
}
({true}?=>(otherlv_4='@init'
{
newLeafNode(otherlv_4, grammarAccess.getMoeCompositeStateRoutinesAccess().getInitKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getInitRoutineMoeRoutineParserRuleCall_1_1_1_0());
}
lv_initRoutine_5_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"initRoutine",
lv_initRoutine_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 2);
}
({true}?=>(otherlv_6='@final'
{
newLeafNode(otherlv_6, grammarAccess.getMoeCompositeStateRoutinesAccess().getFinalKeyword_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getFinalRoutineMoeRoutineParserRuleCall_1_2_1_0());
}
lv_finalRoutine_7_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"finalRoutine",
lv_finalRoutine_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 3)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 3);
}
({true}?=>(otherlv_8='@enable'
{
newLeafNode(otherlv_8, grammarAccess.getMoeCompositeStateRoutinesAccess().getEnableKeyword_1_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getEnableRoutineMoeRoutineParserRuleCall_1_3_1_0());
}
lv_enableRoutine_9_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"enableRoutine",
lv_enableRoutine_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 4)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 4);
}
({true}?=>(otherlv_10='@disable'
{
newLeafNode(otherlv_10, grammarAccess.getMoeCompositeStateRoutinesAccess().getDisableKeyword_1_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getDisableRoutineMoeRoutineParserRuleCall_1_4_1_0());
}
lv_disableRoutine_11_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"disableRoutine",
lv_disableRoutine_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 5)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 5);
}
({true}?=>(otherlv_12='@concurrency'
{
newLeafNode(otherlv_12, grammarAccess.getMoeCompositeStateRoutinesAccess().getConcurrencyKeyword_1_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getConcurrencyRoutineMoeRoutineParserRuleCall_1_5_1_0());
}
lv_concurrencyRoutine_13_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"concurrencyRoutine",
lv_concurrencyRoutine_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 6)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 6);
}
({true}?=>((
otherlv_14='@schedule'
{
newLeafNode(otherlv_14, grammarAccess.getMoeCompositeStateRoutinesAccess().getScheduleKeyword_1_6_0_0());
}
|
otherlv_15='@xschedule'
{
newLeafNode(otherlv_15, grammarAccess.getMoeCompositeStateRoutinesAccess().getXscheduleKeyword_1_6_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getScheduleRoutineMoeRoutineParserRuleCall_1_6_1_0());
}
lv_scheduleRoutine_16_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"scheduleRoutine",
lv_scheduleRoutine_16_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 7)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 7);
}
({true}?=>(otherlv_17='@irun'
{
newLeafNode(otherlv_17, grammarAccess.getMoeCompositeStateRoutinesAccess().getIrunKeyword_1_7_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getIrunRoutineMoeRoutineParserRuleCall_1_7_1_0());
}
lv_irunRoutine_18_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"irunRoutine",
lv_irunRoutine_18_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 8)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1(), 8);
}
({true}?=>(otherlv_19='@run'
{
newLeafNode(otherlv_19, grammarAccess.getMoeCompositeStateRoutinesAccess().getRunKeyword_1_8_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeCompositeStateRoutinesAccess().getRunRoutineMoeRoutineParserRuleCall_1_8_1_0());
}
lv_runRoutine_20_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeCompositeStateRoutinesRule());
}
set(
$current,
"runRoutine",
lv_runRoutine_20_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getMoeCompositeStateRoutinesAccess().getUnorderedGroup_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleSimpleState
entryRuleSimpleState returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1()
);
}:
{ newCompositeNode(grammarAccess.getSimpleStateRule()); }
iv_ruleSimpleState=ruleSimpleState
{ $current=$iv_ruleSimpleState.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule SimpleState
ruleSimpleState returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getSimpleStateAccess().getStateAction_0(),
$current);
}
)
(
(
lv_simple_1_0='state'
{
newLeafNode(lv_simple_1_0, grammarAccess.getSimpleStateAccess().getSimpleStateKeyword_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getSimpleStateRule());
}
setWithLastConsumed($current, "simple", true, "state");
}
)
)
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getSimpleStateAccess().getLessThanSignKeyword_2_0());
}
(
otherlv_3='moc:'
{
newLeafNode(otherlv_3, grammarAccess.getSimpleStateAccess().getMocKeyword_2_1());
}
)?
otherlv_4='simple'
{
newLeafNode(otherlv_4, grammarAccess.getSimpleStateAccess().getSimpleKeyword_2_2());
}
otherlv_5='>'
{
newLeafNode(otherlv_5, grammarAccess.getSimpleStateAccess().getGreaterThanSignKeyword_2_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getSimpleStateAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_6_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSimpleStateRule());
}
set(
$current,
"name",
lv_name_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getSimpleStateAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_7_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSimpleStateRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_8='{'
{
newLeafNode(otherlv_8, grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_5_0_0());
}
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getSimpleStateAccess().getTransitionTransitionParserRuleCall_5_0_1_0_0());
}
lv_transition_10_0=ruleTransition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSimpleStateRule());
}
add(
$current,
"transition",
lv_transition_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.Transition");
afterParserOrEnumRuleCall();
}
)
))+
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getSimpleStateAccess().getMoeMoeSimpleStateRoutinesParserRuleCall_5_0_1_1_0());
}
lv_moe_11_0=rulemoeSimpleStateRoutines
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSimpleStateRule());
}
set(
$current,
"moe",
lv_moe_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeSimpleStateRoutines");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getSimpleStateAccess().getUnorderedGroup_5_0_1());
}
)
otherlv_12='}'
{
newLeafNode(otherlv_12, grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_5_0_2());
}
)
|
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getSimpleStateAccess().getSemicolonKeyword_5_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRulemoeSimpleStateRoutines
entryRulemoeSimpleStateRoutines returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getMoeSimpleStateRoutinesRule()); }
iv_rulemoeSimpleStateRoutines=rulemoeSimpleStateRoutines
{ $current=$iv_rulemoeSimpleStateRoutines.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule moeSimpleStateRoutines
rulemoeSimpleStateRoutines returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMoeSimpleStateRoutinesAccess().getModelOfExecutionAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1(), 0);
}
({true}?=>(otherlv_2='@enable'
{
newLeafNode(otherlv_2, grammarAccess.getMoeSimpleStateRoutinesAccess().getEnableKeyword_1_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeSimpleStateRoutinesAccess().getEnableRoutineMoeRoutineParserRuleCall_1_0_1_0());
}
lv_enableRoutine_3_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeSimpleStateRoutinesRule());
}
set(
$current,
"enableRoutine",
lv_enableRoutine_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1(), 1);
}
({true}?=>(otherlv_4='@disable'
{
newLeafNode(otherlv_4, grammarAccess.getMoeSimpleStateRoutinesAccess().getDisableKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeSimpleStateRoutinesAccess().getDisableRoutineMoeRoutineParserRuleCall_1_1_1_0());
}
lv_disableRoutine_5_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeSimpleStateRoutinesRule());
}
set(
$current,
"disableRoutine",
lv_disableRoutine_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1(), 2);
}
({true}?=>(otherlv_6='@irun'
{
newLeafNode(otherlv_6, grammarAccess.getMoeSimpleStateRoutinesAccess().getIrunKeyword_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeSimpleStateRoutinesAccess().getIrunRoutineMoeRoutineParserRuleCall_1_2_1_0());
}
lv_irunRoutine_7_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeSimpleStateRoutinesRule());
}
set(
$current,
"irunRoutine",
lv_irunRoutine_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getMoeSimpleStateRoutinesAccess().getUnorderedGroup_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleStartState
entryRuleStartState returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1()
);
}:
{ newCompositeNode(grammarAccess.getStartStateRule()); }
iv_ruleStartState=ruleStartState
{ $current=$iv_ruleStartState.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule StartState
ruleStartState returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getStartStateAccess().getStartStateAction_0(),
$current);
}
)
(
(
(
(
lv_simple_1_0='state'
{
newLeafNode(lv_simple_1_0, grammarAccess.getStartStateAccess().getSimpleStateKeyword_1_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStartStateRule());
}
setWithLastConsumed($current, "simple", true, "state");
}
)
)
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getStartStateAccess().getLessThanSignKeyword_1_0_1());
}
(
otherlv_3='moc:'
{
newLeafNode(otherlv_3, grammarAccess.getStartStateAccess().getMocKeyword_1_0_2());
}
)?
otherlv_4='start'
{
newLeafNode(otherlv_4, grammarAccess.getStartStateAccess().getStartKeyword_1_0_3());
}
otherlv_5='>'
{
newLeafNode(otherlv_5, grammarAccess.getStartStateAccess().getGreaterThanSignKeyword_1_0_4());
}
(
(
{
newCompositeNode(grammarAccess.getStartStateAccess().getNameESIdentifierParserRuleCall_1_0_5_0());
}
lv_name_6_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStartStateRule());
}
set(
$current,
"name",
lv_name_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
(
lv_simple_7_0='#start'
{
newLeafNode(lv_simple_7_0, grammarAccess.getStartStateAccess().getSimpleStartKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStartStateRule());
}
setWithLastConsumed($current, "simple", true, "#start");
}
)
)
)
(
(
{
newCompositeNode(grammarAccess.getStartStateAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_2_0());
}
lv_unrestrictedName_8_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStartStateRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_9='{'
{
newLeafNode(otherlv_9, grammarAccess.getStartStateAccess().getLeftCurlyBracketKeyword_3_0_0());
}
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getStartStateAccess().getTransitionTransitionParserRuleCall_3_0_1_0_0());
}
lv_transition_11_0=ruleTransition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStartStateRule());
}
add(
$current,
"transition",
lv_transition_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.Transition");
afterParserOrEnumRuleCall();
}
)
))+
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getStartStateAccess().getMoeMoeStartStateRoutinesParserRuleCall_3_0_1_1_0());
}
lv_moe_12_0=rulemoeStartStateRoutines
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStartStateRule());
}
set(
$current,
"moe",
lv_moe_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeStartStateRoutines");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getStartStateAccess().getUnorderedGroup_3_0_1());
}
)
otherlv_13='}'
{
newLeafNode(otherlv_13, grammarAccess.getStartStateAccess().getRightCurlyBracketKeyword_3_0_2());
}
)
|
otherlv_14=';'
{
newLeafNode(otherlv_14, grammarAccess.getStartStateAccess().getSemicolonKeyword_3_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRulemoeStartStateRoutines
entryRulemoeStartStateRoutines returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getMoeStartStateRoutinesRule()); }
iv_rulemoeStartStateRoutines=rulemoeStartStateRoutines
{ $current=$iv_rulemoeStartStateRoutines.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule moeStartStateRoutines
rulemoeStartStateRoutines returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMoeStartStateRoutinesAccess().getModelOfExecutionAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 0);
}
({true}?=>(otherlv_2='@create'
{
newLeafNode(otherlv_2, grammarAccess.getMoeStartStateRoutinesAccess().getCreateKeyword_1_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeStartStateRoutinesAccess().getCreateRoutineMoeRoutineParserRuleCall_1_0_1_0());
}
lv_createRoutine_3_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeStartStateRoutinesRule());
}
set(
$current,
"createRoutine",
lv_createRoutine_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 1);
}
({true}?=>(otherlv_4='@init'
{
newLeafNode(otherlv_4, grammarAccess.getMoeStartStateRoutinesAccess().getInitKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeStartStateRoutinesAccess().getInitRoutineMoeRoutineParserRuleCall_1_1_1_0());
}
lv_initRoutine_5_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeStartStateRoutinesRule());
}
set(
$current,
"initRoutine",
lv_initRoutine_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 2);
}
({true}?=>(otherlv_6='@final'
{
newLeafNode(otherlv_6, grammarAccess.getMoeStartStateRoutinesAccess().getFinalKeyword_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeStartStateRoutinesAccess().getFinalRoutineMoeRoutineParserRuleCall_1_2_1_0());
}
lv_finalRoutine_7_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeStartStateRoutinesRule());
}
set(
$current,
"finalRoutine",
lv_finalRoutine_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 3)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 3);
}
({true}?=>(otherlv_8='@enable'
{
newLeafNode(otherlv_8, grammarAccess.getMoeStartStateRoutinesAccess().getEnableKeyword_1_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeStartStateRoutinesAccess().getEnableRoutineMoeRoutineParserRuleCall_1_3_1_0());
}
lv_enableRoutine_9_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeStartStateRoutinesRule());
}
set(
$current,
"enableRoutine",
lv_enableRoutine_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 4)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 4);
}
({true}?=>(otherlv_10='@disable'
{
newLeafNode(otherlv_10, grammarAccess.getMoeStartStateRoutinesAccess().getDisableKeyword_1_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeStartStateRoutinesAccess().getDisableRoutineMoeRoutineParserRuleCall_1_4_1_0());
}
lv_disableRoutine_11_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeStartStateRoutinesRule());
}
set(
$current,
"disableRoutine",
lv_disableRoutine_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 5)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1(), 5);
}
({true}?=>(otherlv_12='@irun'
{
newLeafNode(otherlv_12, grammarAccess.getMoeStartStateRoutinesAccess().getIrunKeyword_1_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeStartStateRoutinesAccess().getIrunRoutineMoeRoutineParserRuleCall_1_5_1_0());
}
lv_irunRoutine_13_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeStartStateRoutinesRule());
}
set(
$current,
"irunRoutine",
lv_irunRoutine_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getMoeStartStateRoutinesAccess().getUnorderedGroup_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleFinalState
entryRuleFinalState returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getFinalStateRule()); }
iv_ruleFinalState=ruleFinalState
{ $current=$iv_ruleFinalState.current; }
EOF;
// Rule FinalState
ruleFinalState returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getFinalStateAccess().getFinalStateAction_0(),
$current);
}
)
(
(
(
(
lv_simple_1_0='state'
{
newLeafNode(lv_simple_1_0, grammarAccess.getFinalStateAccess().getSimpleStateKeyword_1_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getFinalStateRule());
}
setWithLastConsumed($current, "simple", true, "state");
}
)
)
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getFinalStateAccess().getLessThanSignKeyword_1_0_1());
}
(
otherlv_3='moc:'
{
newLeafNode(otherlv_3, grammarAccess.getFinalStateAccess().getMocKeyword_1_0_2());
}
)?
otherlv_4='final'
{
newLeafNode(otherlv_4, grammarAccess.getFinalStateAccess().getFinalKeyword_1_0_3());
}
otherlv_5='>'
{
newLeafNode(otherlv_5, grammarAccess.getFinalStateAccess().getGreaterThanSignKeyword_1_0_4());
}
(
(
{
newCompositeNode(grammarAccess.getFinalStateAccess().getNameESIdentifierParserRuleCall_1_0_5_0());
}
lv_name_6_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFinalStateRule());
}
set(
$current,
"name",
lv_name_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
(
lv_simple_7_0='#final'
{
newLeafNode(lv_simple_7_0, grammarAccess.getFinalStateAccess().getSimpleFinalKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getFinalStateRule());
}
setWithLastConsumed($current, "simple", true, "#final");
}
)
)
)
(
(
{
newCompositeNode(grammarAccess.getFinalStateAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_2_0());
}
lv_unrestrictedName_8_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFinalStateRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_9='{'
{
newLeafNode(otherlv_9, grammarAccess.getFinalStateAccess().getLeftCurlyBracketKeyword_3_0_0());
}
(
(
otherlv_10='@moe:'
{
newLeafNode(otherlv_10, grammarAccess.getFinalStateAccess().getMoeKeyword_3_0_1_0());
}
)?
(
(
{
newCompositeNode(grammarAccess.getFinalStateAccess().getMoeMoeFinalStateRoutinesParserRuleCall_3_0_1_1_0());
}
lv_moe_11_0=rulemoeFinalStateRoutines
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFinalStateRule());
}
set(
$current,
"moe",
lv_moe_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeFinalStateRoutines");
afterParserOrEnumRuleCall();
}
)
)
)?
otherlv_12='}'
{
newLeafNode(otherlv_12, grammarAccess.getFinalStateAccess().getRightCurlyBracketKeyword_3_0_2());
}
)
|
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getFinalStateAccess().getSemicolonKeyword_3_1());
}
)
)
;
// Entry rule entryRulemoeFinalStateRoutines
entryRulemoeFinalStateRoutines returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getMoeFinalStateRoutinesRule()); }
iv_rulemoeFinalStateRoutines=rulemoeFinalStateRoutines
{ $current=$iv_rulemoeFinalStateRoutines.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule moeFinalStateRoutines
rulemoeFinalStateRoutines returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMoeFinalStateRoutinesAccess().getModelOfExecutionAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1(), 0);
}
({true}?=>(otherlv_2='@enable'
{
newLeafNode(otherlv_2, grammarAccess.getMoeFinalStateRoutinesAccess().getEnableKeyword_1_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeFinalStateRoutinesAccess().getEnableRoutineMoeRoutineParserRuleCall_1_0_1_0());
}
lv_enableRoutine_3_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeFinalStateRoutinesRule());
}
set(
$current,
"enableRoutine",
lv_enableRoutine_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1(), 1);
}
({true}?=>(otherlv_4='@final'
{
newLeafNode(otherlv_4, grammarAccess.getMoeFinalStateRoutinesAccess().getFinalKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeFinalStateRoutinesAccess().getFinalRoutineMoeRoutineParserRuleCall_1_1_1_0());
}
lv_finalRoutine_5_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeFinalStateRoutinesRule());
}
set(
$current,
"finalRoutine",
lv_finalRoutine_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getMoeFinalStateRoutinesAccess().getUnorderedGroup_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRulePseudostate
entryRulePseudostate returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPseudostateRule()); }
iv_rulePseudostate=rulePseudostate
{ $current=$iv_rulePseudostate.current; }
EOF;
// Rule Pseudostate
rulePseudostate returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getPseudostateAccess().getPseudostateInitialParserRuleCall_0());
}
this_PseudostateInitial_0=rulePseudostateInitial
{
$current = $this_PseudostateInitial_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPseudostateAccess().getEndingPseudostateParserRuleCall_1());
}
this_EndingPseudostate_1=ruleEndingPseudostate
{
$current = $this_EndingPseudostate_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPseudostateAccess().getOtherPseudostateParserRuleCall_2());
}
this_OtherPseudostate_2=ruleOtherPseudostate
{
$current = $this_OtherPseudostate_2.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleOtherPseudostate
entryRuleOtherPseudostate returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1()
);
}:
{ newCompositeNode(grammarAccess.getOtherPseudostateRule()); }
iv_ruleOtherPseudostate=ruleOtherPseudostate
{ $current=$iv_ruleOtherPseudostate.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule OtherPseudostate
ruleOtherPseudostate returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getOtherPseudostateAccess().getPseudostateAction_0(),
$current);
}
)
(
otherlv_1='state'
{
newLeafNode(otherlv_1, grammarAccess.getOtherPseudostateAccess().getStateKeyword_1_0());
}
|
otherlv_2='pseudostate'
{
newLeafNode(otherlv_2, grammarAccess.getOtherPseudostateAccess().getPseudostateKeyword_1_1());
}
)
otherlv_3='<'
{
newLeafNode(otherlv_3, grammarAccess.getOtherPseudostateAccess().getLessThanSignKeyword_2());
}
(
otherlv_4='moc:'
{
newLeafNode(otherlv_4, grammarAccess.getOtherPseudostateAccess().getMocKeyword_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getOtherPseudostateAccess().getKindPseudostateKindEnumRuleCall_4_0());
}
lv_kind_5_0=rulePseudostateKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherPseudostateRule());
}
set(
$current,
"kind",
lv_kind_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.PseudostateKind");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6='>'
{
newLeafNode(otherlv_6, grammarAccess.getOtherPseudostateAccess().getGreaterThanSignKeyword_5());
}
(
(
{
newCompositeNode(grammarAccess.getOtherPseudostateAccess().getNameESIdentifierParserRuleCall_6_0());
}
lv_name_7_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherPseudostateRule());
}
set(
$current,
"name",
lv_name_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getOtherPseudostateAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_7_0());
}
lv_unrestrictedName_8_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherPseudostateRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_9='{'
{
newLeafNode(otherlv_9, grammarAccess.getOtherPseudostateAccess().getLeftCurlyBracketKeyword_8_0_0());
}
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getOtherPseudostateAccess().getTransitionTransitionParserRuleCall_8_0_1_0_0());
}
lv_transition_11_0=ruleTransition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherPseudostateRule());
}
add(
$current,
"transition",
lv_transition_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.Transition");
afterParserOrEnumRuleCall();
}
)
))+
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getOtherPseudostateAccess().getMoeMoePseudotateRoutinesParserRuleCall_8_0_1_1_0());
}
lv_moe_12_0=rulemoePseudotateRoutines
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherPseudostateRule());
}
set(
$current,
"moe",
lv_moe_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.moePseudotateRoutines");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getOtherPseudostateAccess().getUnorderedGroup_8_0_1());
}
)
otherlv_13='}'
{
newLeafNode(otherlv_13, grammarAccess.getOtherPseudostateAccess().getRightCurlyBracketKeyword_8_0_2());
}
)
|
otherlv_14=';'
{
newLeafNode(otherlv_14, grammarAccess.getOtherPseudostateAccess().getSemicolonKeyword_8_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRulemoePseudotateRoutines
entryRulemoePseudotateRoutines returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getMoePseudotateRoutinesRule()); }
iv_rulemoePseudotateRoutines=rulemoePseudotateRoutines
{ $current=$iv_rulemoePseudotateRoutines.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule moePseudotateRoutines
rulemoePseudotateRoutines returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMoePseudotateRoutinesAccess().getModelOfExecutionAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1(), 0);
}
({true}?=>(otherlv_2='@enable'
{
newLeafNode(otherlv_2, grammarAccess.getMoePseudotateRoutinesAccess().getEnableKeyword_1_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoePseudotateRoutinesAccess().getEnableRoutineMoeRoutineParserRuleCall_1_0_1_0());
}
lv_enableRoutine_3_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoePseudotateRoutinesRule());
}
set(
$current,
"enableRoutine",
lv_enableRoutine_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1(), 1);
}
({true}?=>(otherlv_4='@disable'
{
newLeafNode(otherlv_4, grammarAccess.getMoePseudotateRoutinesAccess().getDisableKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoePseudotateRoutinesAccess().getDisableRoutineMoeRoutineParserRuleCall_1_1_1_0());
}
lv_disableRoutine_5_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoePseudotateRoutinesRule());
}
set(
$current,
"disableRoutine",
lv_disableRoutine_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getMoePseudotateRoutinesAccess().getUnorderedGroup_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRulePseudostateInitial
entryRulePseudostateInitial returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPseudostateInitialRule()); }
iv_rulePseudostateInitial=rulePseudostateInitial
{ $current=$iv_rulePseudostateInitial.current; }
EOF;
// Rule PseudostateInitial
rulePseudostateInitial returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPseudostateInitialAccess().getPseudostateAction_0(),
$current);
}
)
(
(
(
otherlv_1='state'
{
newLeafNode(otherlv_1, grammarAccess.getPseudostateInitialAccess().getStateKeyword_1_0_0_0());
}
|
otherlv_2='pseudostate'
{
newLeafNode(otherlv_2, grammarAccess.getPseudostateInitialAccess().getPseudostateKeyword_1_0_0_1());
}
)
otherlv_3='<'
{
newLeafNode(otherlv_3, grammarAccess.getPseudostateInitialAccess().getLessThanSignKeyword_1_0_1());
}
(
otherlv_4='moc:'
{
newLeafNode(otherlv_4, grammarAccess.getPseudostateInitialAccess().getMocKeyword_1_0_2());
}
)?
(
(
{
newCompositeNode(grammarAccess.getPseudostateInitialAccess().getKindPseudostateInitialKindEnumRuleCall_1_0_3_0());
}
lv_kind_5_0=rulePseudostateInitialKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPseudostateInitialRule());
}
set(
$current,
"kind",
lv_kind_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.PseudostateInitialKind");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6='>'
{
newLeafNode(otherlv_6, grammarAccess.getPseudostateInitialAccess().getGreaterThanSignKeyword_1_0_4());
}
(
(
(
{
newCompositeNode(grammarAccess.getPseudostateInitialAccess().getNameESIdentifierParserRuleCall_1_0_5_0_0());
}
lv_name_7_1=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPseudostateInitialRule());
}
set(
$current,
"name",
lv_name_7_1,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
|
lv_name_7_2='#initial'
{
newLeafNode(lv_name_7_2, grammarAccess.getPseudostateInitialAccess().getNameInitialKeyword_1_0_5_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPseudostateInitialRule());
}
setWithLastConsumed($current, "name", lv_name_7_2, null);
}
|
lv_name_7_3='#init'
{
newLeafNode(lv_name_7_3, grammarAccess.getPseudostateInitialAccess().getNameInitKeyword_1_0_5_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPseudostateInitialRule());
}
setWithLastConsumed($current, "name", lv_name_7_3, null);
}
)
)
)
)
|
(
(
(
lv_name_8_1='#initial'
{
newLeafNode(lv_name_8_1, grammarAccess.getPseudostateInitialAccess().getNameInitialKeyword_1_1_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPseudostateInitialRule());
}
setWithLastConsumed($current, "name", lv_name_8_1, null);
}
|
lv_name_8_2='#init'
{
newLeafNode(lv_name_8_2, grammarAccess.getPseudostateInitialAccess().getNameInitKeyword_1_1_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPseudostateInitialRule());
}
setWithLastConsumed($current, "name", lv_name_8_2, null);
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getPseudostateInitialAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_2_0());
}
lv_unrestrictedName_9_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPseudostateInitialRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_10='{'
{
newLeafNode(otherlv_10, grammarAccess.getPseudostateInitialAccess().getLeftCurlyBracketKeyword_3_0_0());
}
(
(
otherlv_11='@transition:'
{
newLeafNode(otherlv_11, grammarAccess.getPseudostateInitialAccess().getTransitionKeyword_3_0_1_0());
}
)?
(
(
{
newCompositeNode(grammarAccess.getPseudostateInitialAccess().getTransitionTransitionParserRuleCall_3_0_1_1_0());
}
lv_transition_12_0=ruleTransition
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPseudostateInitialRule());
}
add(
$current,
"transition",
lv_transition_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.Transition");
afterParserOrEnumRuleCall();
}
)
)*
)?
otherlv_13='}'
{
newLeafNode(otherlv_13, grammarAccess.getPseudostateInitialAccess().getRightCurlyBracketKeyword_3_0_2());
}
)
|
otherlv_14=';'
{
newLeafNode(otherlv_14, grammarAccess.getPseudostateInitialAccess().getSemicolonKeyword_3_1());
}
)
)
;
// Entry rule entryRuleEndingPseudostate
entryRuleEndingPseudostate returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getEndingPseudostateRule()); }
iv_ruleEndingPseudostate=ruleEndingPseudostate
{ $current=$iv_ruleEndingPseudostate.current; }
EOF;
// Rule EndingPseudostate
ruleEndingPseudostate returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getEndingPseudostateAccess().getPseudostateAction_0(),
$current);
}
)
(
otherlv_1='state'
{
newLeafNode(otherlv_1, grammarAccess.getEndingPseudostateAccess().getStateKeyword_1_0());
}
|
otherlv_2='pseudostate'
{
newLeafNode(otherlv_2, grammarAccess.getEndingPseudostateAccess().getPseudostateKeyword_1_1());
}
)
otherlv_3='<'
{
newLeafNode(otherlv_3, grammarAccess.getEndingPseudostateAccess().getLessThanSignKeyword_2());
}
(
otherlv_4='moc:'
{
newLeafNode(otherlv_4, grammarAccess.getEndingPseudostateAccess().getMocKeyword_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getEndingPseudostateAccess().getKindEndingPseudostateKindEnumRuleCall_4_0());
}
lv_kind_5_0=ruleEndingPseudostateKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEndingPseudostateRule());
}
set(
$current,
"kind",
lv_kind_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.EndingPseudostateKind");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6='>'
{
newLeafNode(otherlv_6, grammarAccess.getEndingPseudostateAccess().getGreaterThanSignKeyword_5());
}
(
(
{
newCompositeNode(grammarAccess.getEndingPseudostateAccess().getNameESIdentifierParserRuleCall_6_0());
}
lv_name_7_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEndingPseudostateRule());
}
set(
$current,
"name",
lv_name_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getEndingPseudostateAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_7_0());
}
lv_unrestrictedName_8_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEndingPseudostateRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_9='{'
{
newLeafNode(otherlv_9, grammarAccess.getEndingPseudostateAccess().getLeftCurlyBracketKeyword_8_0_0());
}
(
(
otherlv_10='@moe:'
{
newLeafNode(otherlv_10, grammarAccess.getEndingPseudostateAccess().getMoeKeyword_8_0_1_0());
}
)?
(
(
{
newCompositeNode(grammarAccess.getEndingPseudostateAccess().getMoeMoeFinalStateRoutinesParserRuleCall_8_0_1_1_0());
}
lv_moe_11_0=rulemoeFinalStateRoutines
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEndingPseudostateRule());
}
set(
$current,
"moe",
lv_moe_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeFinalStateRoutines");
afterParserOrEnumRuleCall();
}
)
)
)?
otherlv_12='}'
{
newLeafNode(otherlv_12, grammarAccess.getEndingPseudostateAccess().getRightCurlyBracketKeyword_8_0_2());
}
)
|
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getEndingPseudostateAccess().getSemicolonKeyword_8_1());
}
)
)
;
// Entry rule entryRuleModelOfExecution
entryRuleModelOfExecution returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3()
);
}:
{ newCompositeNode(grammarAccess.getModelOfExecutionRule()); }
iv_ruleModelOfExecution=ruleModelOfExecution
{ $current=$iv_ruleModelOfExecution.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule ModelOfExecution
ruleModelOfExecution returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getModelOfExecutionAccess().getModelOfExecutionAction_0(),
$current);
}
)
otherlv_1='@moe:'
{
newLeafNode(otherlv_1, grammarAccess.getModelOfExecutionAccess().getMoeKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getRoutineRoutineParserRuleCall_2_0());
}
lv_routine_2_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
add(
$current,
"routine",
lv_routine_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)*
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 0);
}
({true}?=>(otherlv_4='@create'
{
newLeafNode(otherlv_4, grammarAccess.getModelOfExecutionAccess().getCreateKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getCreateRoutineMoeRoutineParserRuleCall_3_0_1_0());
}
lv_createRoutine_5_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"createRoutine",
lv_createRoutine_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 1);
}
({true}?=>(otherlv_6='@init'
{
newLeafNode(otherlv_6, grammarAccess.getModelOfExecutionAccess().getInitKeyword_3_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getInitRoutineMoeRoutineParserRuleCall_3_1_1_0());
}
lv_initRoutine_7_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"initRoutine",
lv_initRoutine_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 2);
}
({true}?=>(otherlv_8='@final'
{
newLeafNode(otherlv_8, grammarAccess.getModelOfExecutionAccess().getFinalKeyword_3_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getFinalRoutineMoeRoutineParserRuleCall_3_2_1_0());
}
lv_finalRoutine_9_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"finalRoutine",
lv_finalRoutine_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 3)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 3);
}
({true}?=>(otherlv_10='@enable'
{
newLeafNode(otherlv_10, grammarAccess.getModelOfExecutionAccess().getEnableKeyword_3_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getEnableRoutineMoeRoutineParserRuleCall_3_3_1_0());
}
lv_enableRoutine_11_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"enableRoutine",
lv_enableRoutine_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 4)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 4);
}
({true}?=>(otherlv_12='@disable'
{
newLeafNode(otherlv_12, grammarAccess.getModelOfExecutionAccess().getDisableKeyword_3_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getDisableRoutineMoeRoutineParserRuleCall_3_4_1_0());
}
lv_disableRoutine_13_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"disableRoutine",
lv_disableRoutine_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 5)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 5);
}
({true}?=>(otherlv_14='@concurrency'
{
newLeafNode(otherlv_14, grammarAccess.getModelOfExecutionAccess().getConcurrencyKeyword_3_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getConcurrencyRoutineMoeRoutineParserRuleCall_3_5_1_0());
}
lv_concurrencyRoutine_15_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"concurrencyRoutine",
lv_concurrencyRoutine_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 6)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 6);
}
({true}?=>((
otherlv_16='@schedule'
{
newLeafNode(otherlv_16, grammarAccess.getModelOfExecutionAccess().getScheduleKeyword_3_6_0_0());
}
|
otherlv_17='@xschedule'
{
newLeafNode(otherlv_17, grammarAccess.getModelOfExecutionAccess().getXscheduleKeyword_3_6_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getScheduleRoutineMoeRoutineParserRuleCall_3_6_1_0());
}
lv_scheduleRoutine_18_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"scheduleRoutine",
lv_scheduleRoutine_18_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 7)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 7);
}
({true}?=>(otherlv_19='@irun'
{
newLeafNode(otherlv_19, grammarAccess.getModelOfExecutionAccess().getIrunKeyword_3_7_0());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getIrunRoutineMoeRoutineParserRuleCall_3_7_1_0());
}
lv_irunRoutine_20_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"irunRoutine",
lv_irunRoutine_20_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 8)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3(), 8);
}
({true}?=>(otherlv_21='@run'
{
newLeafNode(otherlv_21, grammarAccess.getModelOfExecutionAccess().getRunKeyword_3_8_0());
}
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getRunRoutineMoeRoutineParserRuleCall_3_8_1_0());
}
lv_runRoutine_22_0=rulemoeRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
set(
$current,
"runRoutine",
lv_runRoutine_22_0,
"org.eclipse.efm.formalml.xtext.FormalML.moeRoutine");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getModelOfExecutionAccess().getUnorderedGroup_3());
}
)
(
(
{
newCompositeNode(grammarAccess.getModelOfExecutionAccess().getRoutineRoutineParserRuleCall_4_0());
}
lv_routine_23_0=ruleRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfExecutionRule());
}
add(
$current,
"routine",
lv_routine_23_0,
"org.eclipse.efm.formalml.xtext.FormalML.Routine");
afterParserOrEnumRuleCall();
}
)
)*
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRulemoeRoutine
entryRulemoeRoutine returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getMoeRoutineRule()); }
iv_rulemoeRoutine=rulemoeRoutine
{ $current=$iv_rulemoeRoutine.current; }
EOF;
// Rule moeRoutine
rulemoeRoutine returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMoeRoutineAccess().getRoutineAction_0(),
$current);
}
)
(
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getMoeRoutineAccess().getLeftParenthesisKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeRoutineAccess().getParameterSetFormalParameterSetParserRuleCall_1_1_0());
}
lv_parameterSet_2_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeRoutineRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_3=')'
{
newLeafNode(otherlv_3, grammarAccess.getMoeRoutineAccess().getRightParenthesisKeyword_1_2());
}
)?
(
otherlv_4='->'
{
newLeafNode(otherlv_4, grammarAccess.getMoeRoutineAccess().getHyphenMinusGreaterThanSignKeyword_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getMoeRoutineAccess().getResultSetFormalParameterSetParserRuleCall_2_1_0_0());
}
lv_resultSet_5_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeRoutineRule());
}
set(
$current,
"resultSet",
lv_resultSet_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_6='('
{
newLeafNode(otherlv_6, grammarAccess.getMoeRoutineAccess().getLeftParenthesisKeyword_2_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getMoeRoutineAccess().getResultSetFormalParameterSetParserRuleCall_2_1_1_1_0());
}
lv_resultSet_7_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeRoutineRule());
}
set(
$current,
"resultSet",
lv_resultSet_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8=')'
{
newLeafNode(otherlv_8, grammarAccess.getMoeRoutineAccess().getRightParenthesisKeyword_2_1_1_2());
}
)
)
)?
(
(
{
newCompositeNode(grammarAccess.getMoeRoutineAccess().getBodyBlockBlockStatementParserRuleCall_3_0());
}
lv_bodyBlock_9_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMoeRoutineRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleRoutine
entryRuleRoutine returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getRoutineRule()); }
iv_ruleRoutine=ruleRoutine
{ $current=$iv_ruleRoutine.current; }
EOF;
// Rule Routine
ruleRoutine returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getRoutineAccess().getVisibilityVisibilityKindEnumRuleCall_0_0());
}
lv_visibility_0_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRoutineRule());
}
set(
$current,
"visibility",
lv_visibility_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
lv_macro_1_0='macro'
{
newLeafNode(lv_macro_1_0, grammarAccess.getRoutineAccess().getMacroMacroKeyword_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRoutineRule());
}
setWithLastConsumed($current, "macro", true, "macro");
}
)
)?
(
{
/* */
}
{
newCompositeNode(grammarAccess.getRoutineAccess().getDesignDebugTraceParserRuleCall_2());
}
ruleDesignDebugTrace
{
afterParserOrEnumRuleCall();
}
)*
otherlv_3='routine'
{
newLeafNode(otherlv_3, grammarAccess.getRoutineAccess().getRoutineKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getRoutineAccess().getNameESIdentifierParserRuleCall_4_0());
}
lv_name_4_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRoutineRule());
}
set(
$current,
"name",
lv_name_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getRoutineAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_0());
}
lv_unrestrictedName_5_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRoutineRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_6='('
{
newLeafNode(otherlv_6, grammarAccess.getRoutineAccess().getLeftParenthesisKeyword_6_0());
}
(
(
{
newCompositeNode(grammarAccess.getRoutineAccess().getParameterSetFormalParameterSetParserRuleCall_6_1_0());
}
lv_parameterSet_7_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRoutineRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_8=')'
{
newLeafNode(otherlv_8, grammarAccess.getRoutineAccess().getRightParenthesisKeyword_6_2());
}
)?
(
otherlv_9='-->'
{
newLeafNode(otherlv_9, grammarAccess.getRoutineAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_7_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getRoutineAccess().getResultSetFormalParameterSetParserRuleCall_7_1_0_0());
}
lv_resultSet_10_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRoutineRule());
}
set(
$current,
"resultSet",
lv_resultSet_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_11='('
{
newLeafNode(otherlv_11, grammarAccess.getRoutineAccess().getLeftParenthesisKeyword_7_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getRoutineAccess().getResultSetFormalParameterSetParserRuleCall_7_1_1_1_0());
}
lv_resultSet_12_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRoutineRule());
}
set(
$current,
"resultSet",
lv_resultSet_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)
otherlv_13=')'
{
newLeafNode(otherlv_13, grammarAccess.getRoutineAccess().getRightParenthesisKeyword_7_1_1_2());
}
)
)
)?
(
(
{
newCompositeNode(grammarAccess.getRoutineAccess().getBodyBlockBlockStatementParserRuleCall_8_0());
}
lv_bodyBlock_14_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRoutineRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleModelOfInteraction
entryRuleModelOfInteraction returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getModelOfInteractionRule()); }
iv_ruleModelOfInteraction=ruleModelOfInteraction
{ $current=$iv_ruleModelOfInteraction.current; }
EOF;
// Rule ModelOfInteraction
ruleModelOfInteraction returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getModelOfInteractionAccess().getModelOfInteractionAction_0(),
$current);
}
)
otherlv_1='@com:'
{
newLeafNode(otherlv_1, grammarAccess.getModelOfInteractionAccess().getComKeyword_1());
}
(
(
(
{
newCompositeNode(grammarAccess.getModelOfInteractionAccess().getRoutesRouteParserRuleCall_2_0_0());
}
lv_routes_2_0=ruleRoute
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfInteractionRule());
}
add(
$current,
"routes",
lv_routes_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.Route");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getModelOfInteractionAccess().getConnectorsConnectorParserRuleCall_2_1_0());
}
lv_connectors_3_0=ruleConnector
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getModelOfInteractionRule());
}
add(
$current,
"connectors",
lv_connectors_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Connector");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleRoute
entryRuleRoute returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getRouteRule()); }
iv_ruleRoute=ruleRoute
{ $current=$iv_ruleRoute.current; }
EOF;
// Rule Route
ruleRoute returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getRouteAccess().getRouteAction_0(),
$current);
}
)
otherlv_1='route'
{
newLeafNode(otherlv_1, grammarAccess.getRouteAccess().getRouteKeyword_1());
}
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getRouteAccess().getLessThanSignKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getRouteAccess().getProtocolComRouteProtocolParserRuleCall_3_0());
}
lv_protocol_3_0=ruleComRouteProtocol
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRouteRule());
}
set(
$current,
"protocol",
lv_protocol_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComRouteProtocol");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getRouteAccess().getGreaterThanSignKeyword_4());
}
(
(
(
{
newCompositeNode(grammarAccess.getRouteAccess().getNameESIdentifierParserRuleCall_5_0_0());
}
lv_name_5_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRouteRule());
}
set(
$current,
"name",
lv_name_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getRouteAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_1_0());
}
lv_unrestrictedName_6_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRouteRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
)?
otherlv_7='['
{
newLeafNode(otherlv_7, grammarAccess.getRouteAccess().getLeftSquareBracketKeyword_6());
}
(
otherlv_8='*'
{
newLeafNode(otherlv_8, grammarAccess.getRouteAccess().getAsteriskKeyword_7_0());
}
|
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRouteRule());
}
}
{
newCompositeNode(grammarAccess.getRouteAccess().getSignalsSignalCrossReference_7_1_0_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_10=','
{
newLeafNode(otherlv_10, grammarAccess.getRouteAccess().getCommaKeyword_7_1_1_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRouteRule());
}
}
{
newCompositeNode(grammarAccess.getRouteAccess().getSignalsSignalCrossReference_7_1_1_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
)*
)
)
otherlv_12=']'
{
newLeafNode(otherlv_12, grammarAccess.getRouteAccess().getRightSquareBracketKeyword_8());
}
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getRouteAccess().getSemicolonKeyword_9());
}
)
;
// Entry rule entryRuleComRouteProtocol
entryRuleComRouteProtocol returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getComRouteProtocolRule()); }
iv_ruleComRouteProtocol=ruleComRouteProtocol
{ $current=$iv_ruleComRouteProtocol.current; }
EOF;
// Rule ComRouteProtocol
ruleComRouteProtocol returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getComRouteProtocolAccess().getProtocolComProtocolKindEnumRuleCall_0_0());
}
lv_protocol_0_0=ruleComProtocolKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComRouteProtocolRule());
}
set(
$current,
"protocol",
lv_protocol_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComProtocolKind");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
(
{
newCompositeNode(grammarAccess.getComRouteProtocolAccess().getProtocolBufferProtocolKindEnumRuleCall_1_0_0());
}
lv_protocol_1_0=ruleBufferProtocolKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComRouteProtocolRule());
}
set(
$current,
"protocol",
lv_protocol_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferProtocolKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
otherlv_2=':'
{
newLeafNode(otherlv_2, grammarAccess.getComRouteProtocolAccess().getColonKeyword_1_1_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getComRouteProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_1_1_0_1_0_0());
}
lv_inner_buffer_3_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComRouteProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComRouteProtocolAccess().getBufferComBufferParserRuleCall_1_1_0_1_1_0());
}
lv_buffer_4_0=ruleComBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComRouteProtocolRule());
}
set(
$current,
"buffer",
lv_buffer_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBuffer");
afterParserOrEnumRuleCall();
}
)
)
)
)
|
(
otherlv_5='<'
{
newLeafNode(otherlv_5, grammarAccess.getComRouteProtocolAccess().getLessThanSignKeyword_1_1_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getComRouteProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_1_1_1_1_0_0());
}
lv_inner_buffer_6_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComRouteProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComRouteProtocolAccess().getBufferComBufferParserRuleCall_1_1_1_1_1_0());
}
lv_buffer_7_0=ruleComBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComRouteProtocolRule());
}
set(
$current,
"buffer",
lv_buffer_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBuffer");
afterParserOrEnumRuleCall();
}
)
)
)
otherlv_8='>'
{
newLeafNode(otherlv_8, grammarAccess.getComRouteProtocolAccess().getGreaterThanSignKeyword_1_1_1_2());
}
)
)?
)
|
(
(
{
newCompositeNode(grammarAccess.getComRouteProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_2_0());
}
lv_inner_buffer_9_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComRouteProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComRouteProtocolAccess().getBufferComBufferParserRuleCall_3_0());
}
lv_buffer_10_0=ruleComBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComRouteProtocolRule());
}
set(
$current,
"buffer",
lv_buffer_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBuffer");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleConnector
entryRuleConnector returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getConnectorRule()); }
iv_ruleConnector=ruleConnector
{ $current=$iv_ruleConnector.current; }
EOF;
// Rule Connector
ruleConnector returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
otherlv_0='connector'
{
newLeafNode(otherlv_0, grammarAccess.getConnectorAccess().getConnectorKeyword_0_0());
}
|
otherlv_1='connect'
{
newLeafNode(otherlv_1, grammarAccess.getConnectorAccess().getConnectKeyword_0_1());
}
)
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getConnectorAccess().getLessThanSignKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getConnectorAccess().getProtocolComProtocolParserRuleCall_2_0());
}
lv_protocol_3_0=ruleComProtocol
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorRule());
}
set(
$current,
"protocol",
lv_protocol_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComProtocol");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getConnectorAccess().getGreaterThanSignKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getConnectorAccess().getNameESIdentifierParserRuleCall_4_0());
}
lv_name_5_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorRule());
}
set(
$current,
"name",
lv_name_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getConnectorAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_0());
}
lv_unrestrictedName_6_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_7='{'
{
newLeafNode(otherlv_7, grammarAccess.getConnectorAccess().getLeftCurlyBracketKeyword_6());
}
(
(
{
newCompositeNode(grammarAccess.getConnectorAccess().getConnectorEndConnectorEndParserRuleCall_7_0());
}
lv_connectorEnd_8_0=ruleConnectorEnd
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorRule());
}
add(
$current,
"connectorEnd",
lv_connectorEnd_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.ConnectorEnd");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_9='}'
{
newLeafNode(otherlv_9, grammarAccess.getConnectorAccess().getRightCurlyBracketKeyword_8());
}
)
;
// Entry rule entryRuleComProtocol
entryRuleComProtocol returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getComProtocolRule()); }
iv_ruleComProtocol=ruleComProtocol
{ $current=$iv_ruleComProtocol.current; }
EOF;
// Rule ComProtocol
ruleComProtocol returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getProtocolComEnvRdvProtocolKindEnumRuleCall_0_0());
}
lv_protocol_0_0=ruleComEnvRdvProtocolKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"protocol",
lv_protocol_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComEnvRdvProtocolKind");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getProtocolComMultiRdvProtocolKindEnumRuleCall_1_0_0());
}
lv_protocol_1_0=ruleComMultiRdvProtocolKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"protocol",
lv_protocol_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComMultiRdvProtocolKind");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getComProtocolAccess().getLessThanSignKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getCastComCastKingEnumRuleCall_1_1_1_0());
}
lv_cast_3_0=ruleComCastKing
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"cast",
lv_cast_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComCastKing");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getComProtocolAccess().getGreaterThanSignKeyword_1_1_2());
}
)?
)
|
(
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getProtocolBufferProtocolKindEnumRuleCall_2_0_0());
}
lv_protocol_5_0=ruleBufferProtocolKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"protocol",
lv_protocol_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferProtocolKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
otherlv_6=':'
{
newLeafNode(otherlv_6, grammarAccess.getComProtocolAccess().getColonKeyword_2_1_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_2_1_0_1_0_0());
}
lv_inner_buffer_7_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getBufferComBufferParserRuleCall_2_1_0_1_1_0());
}
lv_buffer_8_0=ruleComBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"buffer",
lv_buffer_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBuffer");
afterParserOrEnumRuleCall();
}
)
)
)
)
|
(
otherlv_9='<'
{
newLeafNode(otherlv_9, grammarAccess.getComProtocolAccess().getLessThanSignKeyword_2_1_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_2_1_1_1_0_0());
}
lv_inner_buffer_10_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getBufferComBufferParserRuleCall_2_1_1_1_1_0());
}
lv_buffer_11_0=ruleComBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"buffer",
lv_buffer_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBuffer");
afterParserOrEnumRuleCall();
}
)
)
)
otherlv_12='>'
{
newLeafNode(otherlv_12, grammarAccess.getComProtocolAccess().getGreaterThanSignKeyword_2_1_1_2());
}
)
)?
)
|
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_3_0());
}
lv_inner_buffer_13_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getBufferComBufferParserRuleCall_4_0());
}
lv_buffer_14_0=ruleComBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"buffer",
lv_buffer_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBuffer");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComProtocolAccess().getCastComCastKingEnumRuleCall_5_0());
}
lv_cast_15_0=ruleComCastKing
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComProtocolRule());
}
set(
$current,
"cast",
lv_cast_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComCastKing");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleConnectorEnd
entryRuleConnectorEnd returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getConnectorEndRule()); }
iv_ruleConnectorEnd=ruleConnectorEnd
{ $current=$iv_ruleConnectorEnd.current; }
EOF;
// Rule ConnectorEnd
ruleConnectorEnd returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getConnectorEndAccess().getConnectorEndAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getConnectorEndAccess().getDirectionChannelDirectionEnumRuleCall_1_0());
}
lv_direction_1_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorEndRule());
}
set(
$current,
"direction",
lv_direction_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getConnectorEndAccess().getLessThanSignKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getConnectorEndAccess().getProtocolComPointProtocolParserRuleCall_2_1_0());
}
lv_protocol_3_0=ruleComPointProtocol
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorEndRule());
}
set(
$current,
"protocol",
lv_protocol_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComPointProtocol");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getConnectorEndAccess().getGreaterThanSignKeyword_2_2());
}
)?
(
(
(
(
{
newCompositeNode(grammarAccess.getConnectorEndAccess().getPointsComPointParserRuleCall_3_0_0_0());
}
lv_points_5_0=ruleComPoint
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorEndRule());
}
add(
$current,
"points",
lv_points_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComPoint");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6=';'
{
newLeafNode(otherlv_6, grammarAccess.getConnectorEndAccess().getSemicolonKeyword_3_0_1());
}
)
|
(
otherlv_7='['
{
newLeafNode(otherlv_7, grammarAccess.getConnectorEndAccess().getLeftSquareBracketKeyword_3_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getConnectorEndAccess().getPointsComPointParserRuleCall_3_1_1_0());
}
lv_points_8_0=ruleComPoint
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorEndRule());
}
add(
$current,
"points",
lv_points_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComPoint");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_9=','
{
newLeafNode(otherlv_9, grammarAccess.getConnectorEndAccess().getCommaKeyword_3_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getConnectorEndAccess().getPointsComPointParserRuleCall_3_1_2_1_0());
}
lv_points_10_0=ruleComPoint
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorEndRule());
}
add(
$current,
"points",
lv_points_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComPoint");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_11=']'
{
newLeafNode(otherlv_11, grammarAccess.getConnectorEndAccess().getRightSquareBracketKeyword_3_1_3());
}
otherlv_12=';'
{
newLeafNode(otherlv_12, grammarAccess.getConnectorEndAccess().getSemicolonKeyword_3_1_4());
}
)
|
(
otherlv_13='{'
{
newLeafNode(otherlv_13, grammarAccess.getConnectorEndAccess().getLeftCurlyBracketKeyword_3_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getConnectorEndAccess().getPointsComPointParserRuleCall_3_2_1_0_0());
}
lv_points_14_0=ruleComPoint
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConnectorEndRule());
}
add(
$current,
"points",
lv_points_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComPoint");
afterParserOrEnumRuleCall();
}
)
)
otherlv_15=';'
{
newLeafNode(otherlv_15, grammarAccess.getConnectorEndAccess().getSemicolonKeyword_3_2_1_1());
}
)+
otherlv_16='}'
{
newLeafNode(otherlv_16, grammarAccess.getConnectorEndAccess().getRightCurlyBracketKeyword_3_2_2());
}
)
)
)
;
// Entry rule entryRuleComPoint
entryRuleComPoint returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getComPointRule()); }
iv_ruleComPoint=ruleComPoint
{ $current=$iv_ruleComPoint.current; }
EOF;
// Rule ComPoint
ruleComPoint returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getComPointAccess().getComPointAction_0(),
$current);
}
)
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getComPointRule());
}
}
{
newCompositeNode(grammarAccess.getComPointAccess().getMachineNamedElementCrossReference_1_0_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='->'
{
newLeafNode(otherlv_2, grammarAccess.getComPointAccess().getHyphenMinusGreaterThanSignKeyword_1_1_0());
}
|
otherlv_3='.'
{
newLeafNode(otherlv_3, grammarAccess.getComPointAccess().getFullStopKeyword_1_1_1());
}
)
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getComPointRule());
}
}
{
newCompositeNode(grammarAccess.getComPointAccess().getPortPortCrossReference_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleComPointProtocol
entryRuleComPointProtocol returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getComPointProtocolRule()); }
iv_ruleComPointProtocol=ruleComPointProtocol
{ $current=$iv_ruleComPointProtocol.current; }
EOF;
// Rule ComPointProtocol
ruleComPointProtocol returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
{
newCompositeNode(grammarAccess.getComPointProtocolAccess().getProtocolBufferProtocolKindEnumRuleCall_0_0_0());
}
lv_protocol_0_0=ruleBufferProtocolKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComPointProtocolRule());
}
set(
$current,
"protocol",
lv_protocol_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferProtocolKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
otherlv_1=':'
{
newLeafNode(otherlv_1, grammarAccess.getComPointProtocolAccess().getColonKeyword_0_1_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getComPointProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_0_1_0_1_0_0());
}
lv_inner_buffer_2_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComPointProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComPointProtocolAccess().getBufferComBufferParserRuleCall_0_1_0_1_1_0());
}
lv_buffer_3_0=ruleComBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComPointProtocolRule());
}
set(
$current,
"buffer",
lv_buffer_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBuffer");
afterParserOrEnumRuleCall();
}
)
)
)
)
|
(
otherlv_4='<'
{
newLeafNode(otherlv_4, grammarAccess.getComPointProtocolAccess().getLessThanSignKeyword_0_1_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getComPointProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_0_1_1_1_0_0());
}
lv_inner_buffer_5_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComPointProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComPointProtocolAccess().getBufferComBufferParserRuleCall_0_1_1_1_1_0());
}
lv_buffer_6_0=ruleComBuffer
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComPointProtocolRule());
}
set(
$current,
"buffer",
lv_buffer_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBuffer");
afterParserOrEnumRuleCall();
}
)
)
)
otherlv_7='>'
{
newLeafNode(otherlv_7, grammarAccess.getComPointProtocolAccess().getGreaterThanSignKeyword_0_1_1_2());
}
)
)?
)
|
(
(
{
newCompositeNode(grammarAccess.getComPointProtocolAccess().getInner_bufferBufferContainerTypeParserRuleCall_1_0());
}
lv_inner_buffer_8_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComPointProtocolRule());
}
set(
$current,
"inner_buffer",
lv_inner_buffer_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getComPointProtocolAccess().getBufferRefComBufferRefParserRuleCall_2_0());
}
lv_bufferRef_9_0=ruleComBufferRef
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComPointProtocolRule());
}
set(
$current,
"bufferRef",
lv_bufferRef_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.ComBufferRef");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleComBuffer
entryRuleComBuffer returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getComBufferRule()); }
iv_ruleComBuffer=ruleComBuffer
{ $current=$iv_ruleComBuffer.current; }
EOF;
// Rule ComBuffer
ruleComBuffer returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
{
newCompositeNode(grammarAccess.getComBufferAccess().getParentLiteralPureReferenceMachineParserRuleCall_0_0_0());
}
lv_parent_0_0=ruleLiteralPureReferenceMachine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComBufferRule());
}
set(
$current,
"parent",
lv_parent_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralPureReferenceMachine");
afterParserOrEnumRuleCall();
}
)
)
(
(
(
{
newCompositeNode(grammarAccess.getComBufferAccess().getKindValueDotFieldExpressionKindEnumRuleCall_0_1_0_0());
}
lv_kind_1_1=ruleValueDotFieldExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComBufferRule());
}
set(
$current,
"kind",
lv_kind_1_1,
"org.eclipse.efm.formalml.xtext.FormalML.ValueDotFieldExpressionKind");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getComBufferAccess().getKindValueArrowFieldExpressionKindEnumRuleCall_0_1_0_1());
}
lv_kind_1_2=ruleValueArrowFieldExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComBufferRule());
}
set(
$current,
"kind",
lv_kind_1_2,
"org.eclipse.efm.formalml.xtext.FormalML.ValueArrowFieldExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
)
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getComBufferRule());
}
}
{
newCompositeNode(grammarAccess.getComBufferAccess().getElementBufferCrossReference_1_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleComBufferRef
entryRuleComBufferRef returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getComBufferRefRule()); }
iv_ruleComBufferRef=ruleComBufferRef
{ $current=$iv_ruleComBufferRef.current; }
EOF;
// Rule ComBufferRef
ruleComBufferRef returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getComBufferRefAccess().getLiteralReferenceSpecificationAction_0(),
$current);
}
)
(
(
(
{
newCompositeNode(grammarAccess.getComBufferRefAccess().getParentLiteralReferenceExpressionParserRuleCall_1_0_0());
}
lv_parent_1_0=ruleLiteralReferenceExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComBufferRefRule());
}
add(
$current,
"parent",
lv_parent_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralReferenceExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='.'
{
newLeafNode(otherlv_2, grammarAccess.getComBufferRefAccess().getFullStopKeyword_1_1_0());
}
|
otherlv_3='->'
{
newLeafNode(otherlv_3, grammarAccess.getComBufferRefAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
}
)
)*
(
(
{
newCompositeNode(grammarAccess.getComBufferRefAccess().getElementBufferReferenceElementParserRuleCall_2_0());
}
lv_element_4_0=ruleBufferReferenceElement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getComBufferRefRule());
}
set(
$current,
"element",
lv_element_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferReferenceElement");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleBufferReferenceElement
entryRuleBufferReferenceElement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBufferReferenceElementRule()); }
iv_ruleBufferReferenceElement=ruleBufferReferenceElement
{ $current=$iv_ruleBufferReferenceElement.current; }
EOF;
// Rule BufferReferenceElement
ruleBufferReferenceElement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getBufferReferenceElementAccess().getLiteralReferenceElementAction_0(),
$current);
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getBufferReferenceElementRule());
}
}
{
newCompositeNode(grammarAccess.getBufferReferenceElementAccess().getElementBufferCrossReference_1_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralPureReferenceMachine
entryRuleLiteralPureReferenceMachine returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralPureReferenceMachineRule()); }
iv_ruleLiteralPureReferenceMachine=ruleLiteralPureReferenceMachine
{ $current=$iv_ruleLiteralPureReferenceMachine.current; }
EOF;
// Rule LiteralPureReferenceMachine
ruleLiteralPureReferenceMachine returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralPureReferenceMachineAccess().getLiteralReferenceElementAction_0_0(),
$current);
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLiteralPureReferenceMachineRule());
}
}
{
newCompositeNode(grammarAccess.getLiteralPureReferenceMachineAccess().getElementMachineCrossReference_0_1_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
)
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralPureReferenceMachineAccess().getLiteralReferenceMachineContextParserRuleCall_1());
}
this_LiteralReferenceMachineContext_2=ruleLiteralReferenceMachineContext
{
$current = $this_LiteralReferenceMachineContext_2.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleTypeDefinition
entryRuleTypeDefinition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTypeDefinitionRule()); }
iv_ruleTypeDefinition=ruleTypeDefinition
{ $current=$iv_ruleTypeDefinition.current; }
EOF;
// Rule TypeDefinition
ruleTypeDefinition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getTypeDefinitionAccess().getEnumerationTypeDefinitionParserRuleCall_0());
}
this_EnumerationTypeDefinition_0=ruleEnumerationTypeDefinition
{
$current = $this_EnumerationTypeDefinition_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTypeDefinitionAccess().getStructureTypeDefinitionParserRuleCall_1());
}
this_StructureTypeDefinition_1=ruleStructureTypeDefinition
{
$current = $this_StructureTypeDefinition_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTypeDefinitionAccess().getUnionTypeDefinitionParserRuleCall_2());
}
this_UnionTypeDefinition_2=ruleUnionTypeDefinition
{
$current = $this_UnionTypeDefinition_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTypeDefinitionAccess().getChoiceTypeDefinitionParserRuleCall_3());
}
this_ChoiceTypeDefinition_3=ruleChoiceTypeDefinition
{
$current = $this_ChoiceTypeDefinition_3.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTypeDefinitionAccess().getIntervalTypeDefinitionParserRuleCall_4());
}
this_IntervalTypeDefinition_4=ruleIntervalTypeDefinition
{
$current = $this_IntervalTypeDefinition_4.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTypeDefinitionAccess().getCollectionTypeDefinitionParserRuleCall_5());
}
this_CollectionTypeDefinition_5=ruleCollectionTypeDefinition
{
$current = $this_CollectionTypeDefinition_5.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTypeDefinitionAccess().getOtherDataTypeDefinitionParserRuleCall_6());
}
this_OtherDataTypeDefinition_6=ruleOtherDataTypeDefinition
{
$current = $this_OtherDataTypeDefinition_6.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleDataTypeMultiplicity
entryRuleDataTypeMultiplicity returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDataTypeMultiplicityRule()); }
iv_ruleDataTypeMultiplicity=ruleDataTypeMultiplicity
{ $current=$iv_ruleDataTypeMultiplicity.current; }
EOF;
// Rule DataTypeMultiplicity
ruleDataTypeMultiplicity returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getDataTypeMultiplicityAccess().getLiteralIntegerExpressionParserRuleCall_0());
}
this_LiteralIntegerExpression_0=ruleLiteralIntegerExpression
{
$current = $this_LiteralIntegerExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getDataTypeMultiplicityAccess().getLiteralReferenceElementParserRuleCall_1());
}
this_LiteralReferenceElement_1=ruleLiteralReferenceElement
{
$current = $this_LiteralReferenceElement_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleDataTypeReference
entryRuleDataTypeReference returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDataTypeReferenceRule()); }
iv_ruleDataTypeReference=ruleDataTypeReference
{ $current=$iv_ruleDataTypeReference.current; }
EOF;
// Rule DataTypeReference
ruleDataTypeReference returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
newCompositeNode(grammarAccess.getDataTypeReferenceAccess().getSimpleDataTypeParserRuleCall_0_0());
}
this_SimpleDataType_0=ruleSimpleDataType
{
$current = $this_SimpleDataType_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDataTypeReferenceAccess().getDataTypeReferenceSupportAction_0_1_0(),
$current);
}
)
otherlv_2='['
{
newLeafNode(otherlv_2, grammarAccess.getDataTypeReferenceAccess().getLeftSquareBracketKeyword_0_1_1());
}
(
(
{
newCompositeNode(grammarAccess.getDataTypeReferenceAccess().getMultiplicityDataTypeMultiplicityParserRuleCall_0_1_2_0());
}
lv_multiplicity_3_0=ruleDataTypeMultiplicity
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDataTypeReferenceRule());
}
set(
$current,
"multiplicity",
lv_multiplicity_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataTypeMultiplicity");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4=']'
{
newLeafNode(otherlv_4, grammarAccess.getDataTypeReferenceAccess().getRightSquareBracketKeyword_0_1_3());
}
)?
)
|
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getDataTypeReferenceAccess().getDataTypeReferenceAction_1_0(),
$current);
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDataTypeReferenceRule());
}
}
{
newCompositeNode(grammarAccess.getDataTypeReferenceAccess().getTyperefDataTypeCrossReference_1_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_7='['
{
newLeafNode(otherlv_7, grammarAccess.getDataTypeReferenceAccess().getLeftSquareBracketKeyword_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getDataTypeReferenceAccess().getMultiplicityDataTypeMultiplicityParserRuleCall_1_2_1_0());
}
lv_multiplicity_8_0=ruleDataTypeMultiplicity
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDataTypeReferenceRule());
}
set(
$current,
"multiplicity",
lv_multiplicity_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataTypeMultiplicity");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9=']'
{
newLeafNode(otherlv_9, grammarAccess.getDataTypeReferenceAccess().getRightSquareBracketKeyword_1_2_2());
}
)?
)
)
;
// Entry rule entryRuleOtherDataTypeDefinition
entryRuleOtherDataTypeDefinition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getOtherDataTypeDefinitionRule()); }
iv_ruleOtherDataTypeDefinition=ruleOtherDataTypeDefinition
{ $current=$iv_ruleOtherDataTypeDefinition.current; }
EOF;
// Rule OtherDataTypeDefinition
ruleOtherDataTypeDefinition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getOtherDataTypeDefinitionAccess().getDataTypeReferenceAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getOtherDataTypeDefinitionAccess().getVisibilityVisibilityKindEnumRuleCall_1_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherDataTypeDefinitionRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
lv_typedef_2_0='type'
{
newLeafNode(lv_typedef_2_0, grammarAccess.getOtherDataTypeDefinitionAccess().getTypedefTypeKeyword_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getOtherDataTypeDefinitionRule());
}
setWithLastConsumed($current, "typedef", true, "type");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getOtherDataTypeDefinitionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherDataTypeDefinitionRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getOtherDataTypeDefinitionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherDataTypeDefinitionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
(
(
{
newCompositeNode(grammarAccess.getOtherDataTypeDefinitionAccess().getSupportPrimitiveTypeParserRuleCall_5_0_0_0());
}
lv_support_5_0=rulePrimitiveType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherDataTypeDefinitionRule());
}
set(
$current,
"support",
lv_support_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveType");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_6='['
{
newLeafNode(otherlv_6, grammarAccess.getOtherDataTypeDefinitionAccess().getLeftSquareBracketKeyword_5_0_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getOtherDataTypeDefinitionAccess().getMultiplicityDataTypeMultiplicityParserRuleCall_5_0_1_1_0());
}
lv_multiplicity_7_0=ruleDataTypeMultiplicity
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherDataTypeDefinitionRule());
}
set(
$current,
"multiplicity",
lv_multiplicity_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataTypeMultiplicity");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8=']'
{
newLeafNode(otherlv_8, grammarAccess.getOtherDataTypeDefinitionAccess().getRightSquareBracketKeyword_5_0_1_2());
}
)?
)
|
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getOtherDataTypeDefinitionRule());
}
}
{
newCompositeNode(grammarAccess.getOtherDataTypeDefinitionAccess().getTyperefDataTypeCrossReference_5_1_0_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_10='['
{
newLeafNode(otherlv_10, grammarAccess.getOtherDataTypeDefinitionAccess().getLeftSquareBracketKeyword_5_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getOtherDataTypeDefinitionAccess().getMultiplicityDataTypeMultiplicityParserRuleCall_5_1_1_1_0());
}
lv_multiplicity_11_0=ruleDataTypeMultiplicity
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherDataTypeDefinitionRule());
}
set(
$current,
"multiplicity",
lv_multiplicity_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataTypeMultiplicity");
afterParserOrEnumRuleCall();
}
)
)
otherlv_12=']'
{
newLeafNode(otherlv_12, grammarAccess.getOtherDataTypeDefinitionAccess().getRightSquareBracketKeyword_5_1_1_2());
}
)?
)
)
(
(
(
{
newCompositeNode(grammarAccess.getOtherDataTypeDefinitionAccess().getConstraintTypeConstraintRoutineParserRuleCall_6_0_0());
}
lv_constraint_13_0=ruleTypeConstraintRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOtherDataTypeDefinitionRule());
}
set(
$current,
"constraint",
lv_constraint_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.TypeConstraintRoutine");
afterParserOrEnumRuleCall();
}
)
)
|
otherlv_14=';'
{
newLeafNode(otherlv_14, grammarAccess.getOtherDataTypeDefinitionAccess().getSemicolonKeyword_6_1());
}
)
)
;
// Entry rule entryRuleTypeConstraintRoutine
entryRuleTypeConstraintRoutine returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTypeConstraintRoutineRule()); }
iv_ruleTypeConstraintRoutine=ruleTypeConstraintRoutine
{ $current=$iv_ruleTypeConstraintRoutine.current; }
EOF;
// Rule TypeConstraintRoutine
ruleTypeConstraintRoutine returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getTypeConstraintRoutineAccess().getRoutineAction_0(),
$current);
}
)
otherlv_1='{'
{
newLeafNode(otherlv_1, grammarAccess.getTypeConstraintRoutineAccess().getLeftCurlyBracketKeyword_1());
}
otherlv_2='@constraint'
{
newLeafNode(otherlv_2, grammarAccess.getTypeConstraintRoutineAccess().getConstraintKeyword_2());
}
(
otherlv_3='('
{
newLeafNode(otherlv_3, grammarAccess.getTypeConstraintRoutineAccess().getLeftParenthesisKeyword_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getTypeConstraintRoutineAccess().getParameterSetVariableRoutineParameterSetParserRuleCall_3_1_0());
}
lv_parameterSet_4_0=ruleVariableRoutineParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTypeConstraintRoutineRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariableRoutineParameterSet");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getTypeConstraintRoutineAccess().getRightParenthesisKeyword_3_2());
}
)?
(
(
(
{
newCompositeNode(grammarAccess.getTypeConstraintRoutineAccess().getBodyBlockBlockStatementParserRuleCall_4_0_0());
}
lv_bodyBlock_6_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTypeConstraintRoutineRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
(
{
newCompositeNode(grammarAccess.getTypeConstraintRoutineAccess().getBodyBlockConditionalBlockStatementParserRuleCall_4_1_0_0());
}
lv_bodyBlock_7_0=ruleConditionalBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTypeConstraintRoutineRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ConditionalBlockStatement");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8=';'
{
newLeafNode(otherlv_8, grammarAccess.getTypeConstraintRoutineAccess().getSemicolonKeyword_4_1_1());
}
)
)
otherlv_9='}'
{
newLeafNode(otherlv_9, grammarAccess.getTypeConstraintRoutineAccess().getRightCurlyBracketKeyword_5());
}
)
;
// Entry rule entryRuleConditionalBlockStatement
entryRuleConditionalBlockStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getConditionalBlockStatementRule()); }
iv_ruleConditionalBlockStatement=ruleConditionalBlockStatement
{ $current=$iv_ruleConditionalBlockStatement.current; }
EOF;
// Rule ConditionalBlockStatement
ruleConditionalBlockStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getConditionalBlockStatementAccess().getBlockStatementAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getConditionalBlockStatementAccess().getStatementGuardTestExpressionParserRuleCall_1_0());
}
lv_statement_1_0=ruleGuardTestExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConditionalBlockStatementRule());
}
add(
$current,
"statement",
lv_statement_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.GuardTestExpression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleGuardTestExpression
entryRuleGuardTestExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getGuardTestExpressionRule()); }
iv_ruleGuardTestExpression=ruleGuardTestExpression
{ $current=$iv_ruleGuardTestExpression.current; }
EOF;
// Rule GuardTestExpression
ruleGuardTestExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='|=>'
{
newLeafNode(otherlv_0, grammarAccess.getGuardTestExpressionAccess().getVerticalLineEqualsSignGreaterThanSignKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getGuardTestExpressionAccess().getConditionExpressionParserRuleCall_1_0());
}
lv_condition_1_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getGuardTestExpressionRule());
}
set(
$current,
"condition",
lv_condition_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleDataType
entryRuleDataType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDataTypeRule()); }
iv_ruleDataType=ruleDataType
{ $current=$iv_ruleDataType.current; }
EOF;
// Rule DataType
ruleDataType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getDataTypeAccess().getDataTypeReferenceParserRuleCall_0());
}
this_DataTypeReference_0=ruleDataTypeReference
{
$current = $this_DataTypeReference_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getDataTypeAccess().getStructuredDataTypeParserRuleCall_1());
}
this_StructuredDataType_1=ruleStructuredDataType
{
$current = $this_StructuredDataType_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleSimpleDataType
entryRuleSimpleDataType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSimpleDataTypeRule()); }
iv_ruleSimpleDataType=ruleSimpleDataType
{ $current=$iv_ruleSimpleDataType.current; }
EOF;
// Rule SimpleDataType
ruleSimpleDataType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getSimpleDataTypeAccess().getPrimitiveTypeParserRuleCall_0());
}
this_PrimitiveType_0=rulePrimitiveType
{
$current = $this_PrimitiveType_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getSimpleDataTypeAccess().getIntervalTypeParserRuleCall_1());
}
this_IntervalType_1=ruleIntervalType
{
$current = $this_IntervalType_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getSimpleDataTypeAccess().getCollectionTypeParserRuleCall_2());
}
this_CollectionType_2=ruleCollectionType
{
$current = $this_CollectionType_2.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleStructuredDataType
entryRuleStructuredDataType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getStructuredDataTypeRule()); }
iv_ruleStructuredDataType=ruleStructuredDataType
{ $current=$iv_ruleStructuredDataType.current; }
EOF;
// Rule StructuredDataType
ruleStructuredDataType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getStructuredDataTypeAccess().getEnumerationTypeParserRuleCall_0());
}
this_EnumerationType_0=ruleEnumerationType
{
$current = $this_EnumerationType_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStructuredDataTypeAccess().getStructureTypeParserRuleCall_1());
}
this_StructureType_1=ruleStructureType
{
$current = $this_StructureType_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStructuredDataTypeAccess().getUnionTypeParserRuleCall_2());
}
this_UnionType_2=ruleUnionType
{
$current = $this_UnionType_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStructuredDataTypeAccess().getChoiceTypeParserRuleCall_3());
}
this_ChoiceType_3=ruleChoiceType
{
$current = $this_ChoiceType_3.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRulePrimitiveType
entryRulePrimitiveType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveTypeRule()); }
iv_rulePrimitiveType=rulePrimitiveType
{ $current=$iv_rulePrimitiveType.current; }
EOF;
// Rule PrimitiveType
rulePrimitiveType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveTypeAccess().getPrimitiveNumberTypeParserRuleCall_0());
}
this_PrimitiveNumberType_0=rulePrimitiveNumberType
{
$current = $this_PrimitiveNumberType_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveTypeAccess().getOtherPrimitiveTypeParserRuleCall_1());
}
this_OtherPrimitiveType_1=ruleOtherPrimitiveType
{
$current = $this_OtherPrimitiveType_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRulePrimitiveNumberType
entryRulePrimitiveNumberType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveNumberTypeRule()); }
iv_rulePrimitiveNumberType=rulePrimitiveNumberType
{ $current=$iv_rulePrimitiveNumberType.current; }
EOF;
// Rule PrimitiveNumberType
rulePrimitiveNumberType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveNumberTypeAccess().getPrimitiveIntegerTypeParserRuleCall_0());
}
this_PrimitiveIntegerType_0=rulePrimitiveIntegerType
{
$current = $this_PrimitiveIntegerType_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveNumberTypeAccess().getPrimitiveRationalTypeParserRuleCall_1());
}
this_PrimitiveRationalType_1=rulePrimitiveRationalType
{
$current = $this_PrimitiveRationalType_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveNumberTypeAccess().getPrimitiveFloatTypeParserRuleCall_2());
}
this_PrimitiveFloatType_2=rulePrimitiveFloatType
{
$current = $this_PrimitiveFloatType_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveNumberTypeAccess().getPrimitiveRealTypeParserRuleCall_3());
}
this_PrimitiveRealType_3=rulePrimitiveRealType
{
$current = $this_PrimitiveRealType_3.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveNumberTypeAccess().getPrimitiveTimeTypeParserRuleCall_4());
}
this_PrimitiveTimeType_4=rulePrimitiveTimeType
{
$current = $this_PrimitiveTimeType_4.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRulePrimitiveIntegerType
entryRulePrimitiveIntegerType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveIntegerTypeRule()); }
iv_rulePrimitiveIntegerType=rulePrimitiveIntegerType
{ $current=$iv_rulePrimitiveIntegerType.current; }
EOF;
// Rule PrimitiveIntegerType
rulePrimitiveIntegerType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveIntegerTypeAccess().getPrimitiveIntegerTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getPrimitiveIntegerTypeAccess().getSignPrimitiveNumberSignEnumRuleCall_1_0());
}
lv_sign_1_0=rulePrimitiveNumberSign
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveIntegerTypeRule());
}
set(
$current,
"sign",
lv_sign_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveNumberSign");
afterParserOrEnumRuleCall();
}
)
)?
(
(
(
lv_name_2_1='integer'
{
newLeafNode(lv_name_2_1, grammarAccess.getPrimitiveIntegerTypeAccess().getNameIntegerKeyword_2_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveIntegerTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_1, null);
}
|
lv_name_2_2='uinteger'
{
newLeafNode(lv_name_2_2, grammarAccess.getPrimitiveIntegerTypeAccess().getNameUintegerKeyword_2_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveIntegerTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_2, null);
}
|
lv_name_2_3='pos_integer'
{
newLeafNode(lv_name_2_3, grammarAccess.getPrimitiveIntegerTypeAccess().getNamePos_integerKeyword_2_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveIntegerTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_3, null);
}
|
lv_name_2_4='int'
{
newLeafNode(lv_name_2_4, grammarAccess.getPrimitiveIntegerTypeAccess().getNameIntKeyword_2_0_3());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveIntegerTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_4, null);
}
|
lv_name_2_5='uint'
{
newLeafNode(lv_name_2_5, grammarAccess.getPrimitiveIntegerTypeAccess().getNameUintKeyword_2_0_4());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveIntegerTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_5, null);
}
)
)
)
(
(
otherlv_3=':'
{
newLeafNode(otherlv_3, grammarAccess.getPrimitiveIntegerTypeAccess().getColonKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getPrimitiveIntegerTypeAccess().getSizeEIntParserRuleCall_3_0_1_0());
}
lv_size_4_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveIntegerTypeRule());
}
set(
$current,
"size",
lv_size_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_5='<'
{
newLeafNode(otherlv_5, grammarAccess.getPrimitiveIntegerTypeAccess().getLessThanSignKeyword_3_1_0());
}
(
otherlv_6='size:'
{
newLeafNode(otherlv_6, grammarAccess.getPrimitiveIntegerTypeAccess().getSizeKeyword_3_1_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getPrimitiveIntegerTypeAccess().getSizeEIntParserRuleCall_3_1_2_0());
}
lv_size_7_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveIntegerTypeRule());
}
set(
$current,
"size",
lv_size_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8='>'
{
newLeafNode(otherlv_8, grammarAccess.getPrimitiveIntegerTypeAccess().getGreaterThanSignKeyword_3_1_3());
}
)
)?
)
;
// Entry rule entryRulePrimitiveRationalType
entryRulePrimitiveRationalType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveRationalTypeRule()); }
iv_rulePrimitiveRationalType=rulePrimitiveRationalType
{ $current=$iv_rulePrimitiveRationalType.current; }
EOF;
// Rule PrimitiveRationalType
rulePrimitiveRationalType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveRationalTypeAccess().getPrimitiveRationalTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getPrimitiveRationalTypeAccess().getSignPrimitiveNumberSignEnumRuleCall_1_0());
}
lv_sign_1_0=rulePrimitiveNumberSign
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveRationalTypeRule());
}
set(
$current,
"sign",
lv_sign_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveNumberSign");
afterParserOrEnumRuleCall();
}
)
)?
(
(
(
lv_name_2_1='rational'
{
newLeafNode(lv_name_2_1, grammarAccess.getPrimitiveRationalTypeAccess().getNameRationalKeyword_2_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveRationalTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_1, null);
}
|
lv_name_2_2='urational'
{
newLeafNode(lv_name_2_2, grammarAccess.getPrimitiveRationalTypeAccess().getNameUrationalKeyword_2_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveRationalTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_2, null);
}
|
lv_name_2_3='pos_rational'
{
newLeafNode(lv_name_2_3, grammarAccess.getPrimitiveRationalTypeAccess().getNamePos_rationalKeyword_2_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveRationalTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_3, null);
}
|
lv_name_2_4='rat'
{
newLeafNode(lv_name_2_4, grammarAccess.getPrimitiveRationalTypeAccess().getNameRatKeyword_2_0_3());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveRationalTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_4, null);
}
|
lv_name_2_5='urat'
{
newLeafNode(lv_name_2_5, grammarAccess.getPrimitiveRationalTypeAccess().getNameUratKeyword_2_0_4());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveRationalTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_5, null);
}
)
)
)
(
(
otherlv_3=':'
{
newLeafNode(otherlv_3, grammarAccess.getPrimitiveRationalTypeAccess().getColonKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getPrimitiveRationalTypeAccess().getSizeEIntParserRuleCall_3_0_1_0());
}
lv_size_4_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveRationalTypeRule());
}
set(
$current,
"size",
lv_size_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_5='<'
{
newLeafNode(otherlv_5, grammarAccess.getPrimitiveRationalTypeAccess().getLessThanSignKeyword_3_1_0());
}
(
otherlv_6='size:'
{
newLeafNode(otherlv_6, grammarAccess.getPrimitiveRationalTypeAccess().getSizeKeyword_3_1_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getPrimitiveRationalTypeAccess().getSizeEIntParserRuleCall_3_1_2_0());
}
lv_size_7_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveRationalTypeRule());
}
set(
$current,
"size",
lv_size_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8='>'
{
newLeafNode(otherlv_8, grammarAccess.getPrimitiveRationalTypeAccess().getGreaterThanSignKeyword_3_1_3());
}
)
)?
)
;
// Entry rule entryRulePrimitiveFloatType
entryRulePrimitiveFloatType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveFloatTypeRule()); }
iv_rulePrimitiveFloatType=rulePrimitiveFloatType
{ $current=$iv_rulePrimitiveFloatType.current; }
EOF;
// Rule PrimitiveFloatType
rulePrimitiveFloatType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveFloatTypeAccess().getPrimitiveFloatTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getPrimitiveFloatTypeAccess().getSignPrimitiveNumberSignEnumRuleCall_1_0());
}
lv_sign_1_0=rulePrimitiveNumberSign
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveFloatTypeRule());
}
set(
$current,
"sign",
lv_sign_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveNumberSign");
afterParserOrEnumRuleCall();
}
)
)?
(
(
(
lv_name_2_1='float'
{
newLeafNode(lv_name_2_1, grammarAccess.getPrimitiveFloatTypeAccess().getNameFloatKeyword_2_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveFloatTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_1, null);
}
|
lv_name_2_2='ufloat'
{
newLeafNode(lv_name_2_2, grammarAccess.getPrimitiveFloatTypeAccess().getNameUfloatKeyword_2_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveFloatTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_2, null);
}
|
lv_name_2_3='pos_float'
{
newLeafNode(lv_name_2_3, grammarAccess.getPrimitiveFloatTypeAccess().getNamePos_floatKeyword_2_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveFloatTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_3, null);
}
|
lv_name_2_4='double'
{
newLeafNode(lv_name_2_4, grammarAccess.getPrimitiveFloatTypeAccess().getNameDoubleKeyword_2_0_3());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveFloatTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_4, null);
}
|
lv_name_2_5='udouble'
{
newLeafNode(lv_name_2_5, grammarAccess.getPrimitiveFloatTypeAccess().getNameUdoubleKeyword_2_0_4());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveFloatTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_5, null);
}
)
)
)
(
(
otherlv_3=':'
{
newLeafNode(otherlv_3, grammarAccess.getPrimitiveFloatTypeAccess().getColonKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getPrimitiveFloatTypeAccess().getSizeEIntParserRuleCall_3_0_1_0());
}
lv_size_4_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveFloatTypeRule());
}
set(
$current,
"size",
lv_size_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_5='<'
{
newLeafNode(otherlv_5, grammarAccess.getPrimitiveFloatTypeAccess().getLessThanSignKeyword_3_1_0());
}
(
otherlv_6='size:'
{
newLeafNode(otherlv_6, grammarAccess.getPrimitiveFloatTypeAccess().getSizeKeyword_3_1_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getPrimitiveFloatTypeAccess().getSizeEIntParserRuleCall_3_1_2_0());
}
lv_size_7_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveFloatTypeRule());
}
set(
$current,
"size",
lv_size_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8='>'
{
newLeafNode(otherlv_8, grammarAccess.getPrimitiveFloatTypeAccess().getGreaterThanSignKeyword_3_1_3());
}
)
)?
)
;
// Entry rule entryRulePrimitiveRealType
entryRulePrimitiveRealType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveRealTypeRule()); }
iv_rulePrimitiveRealType=rulePrimitiveRealType
{ $current=$iv_rulePrimitiveRealType.current; }
EOF;
// Rule PrimitiveRealType
rulePrimitiveRealType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveRealTypeAccess().getPrimitiveRealTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getPrimitiveRealTypeAccess().getSignPrimitiveNumberSignEnumRuleCall_1_0());
}
lv_sign_1_0=rulePrimitiveNumberSign
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveRealTypeRule());
}
set(
$current,
"sign",
lv_sign_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveNumberSign");
afterParserOrEnumRuleCall();
}
)
)?
(
(
(
lv_name_2_1='real'
{
newLeafNode(lv_name_2_1, grammarAccess.getPrimitiveRealTypeAccess().getNameRealKeyword_2_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveRealTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_1, null);
}
|
lv_name_2_2='ureal'
{
newLeafNode(lv_name_2_2, grammarAccess.getPrimitiveRealTypeAccess().getNameUrealKeyword_2_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveRealTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_2, null);
}
|
lv_name_2_3='pos_real'
{
newLeafNode(lv_name_2_3, grammarAccess.getPrimitiveRealTypeAccess().getNamePos_realKeyword_2_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveRealTypeRule());
}
setWithLastConsumed($current, "name", lv_name_2_3, null);
}
)
)
)
(
(
otherlv_3=':'
{
newLeafNode(otherlv_3, grammarAccess.getPrimitiveRealTypeAccess().getColonKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getPrimitiveRealTypeAccess().getSizeEIntParserRuleCall_3_0_1_0());
}
lv_size_4_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveRealTypeRule());
}
set(
$current,
"size",
lv_size_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_5='<'
{
newLeafNode(otherlv_5, grammarAccess.getPrimitiveRealTypeAccess().getLessThanSignKeyword_3_1_0());
}
(
otherlv_6='size:'
{
newLeafNode(otherlv_6, grammarAccess.getPrimitiveRealTypeAccess().getSizeKeyword_3_1_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getPrimitiveRealTypeAccess().getSizeEIntParserRuleCall_3_1_2_0());
}
lv_size_7_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveRealTypeRule());
}
set(
$current,
"size",
lv_size_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8='>'
{
newLeafNode(otherlv_8, grammarAccess.getPrimitiveRealTypeAccess().getGreaterThanSignKeyword_3_1_3());
}
)
)?
)
;
// Entry rule entryRulePrimitiveTimeType
entryRulePrimitiveTimeType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveTimeTypeRule()); }
iv_rulePrimitiveTimeType=rulePrimitiveTimeType
{ $current=$iv_rulePrimitiveTimeType.current; }
EOF;
// Rule PrimitiveTimeType
rulePrimitiveTimeType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveTimeTypeAccess().getPrimitiveTimeTypeAction_0_0(),
$current);
}
)
otherlv_1='time'
{
newLeafNode(otherlv_1, grammarAccess.getPrimitiveTimeTypeAccess().getTimeKeyword_0_1());
}
(
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getPrimitiveTimeTypeAccess().getLessThanSignKeyword_0_2_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getPrimitiveTimeTypeAccess().getSupportPrimitiveTimeNumberTypeParserRuleCall_0_2_0_1_0());
}
lv_support_3_0=rulePrimitiveTimeNumberType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveTimeTypeRule());
}
set(
$current,
"support",
lv_support_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveTimeNumberType");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getPrimitiveTimeTypeAccess().getGreaterThanSignKeyword_0_2_0_2());
}
)
|
(
(
{
newCompositeNode(grammarAccess.getPrimitiveTimeTypeAccess().getSupportPrimitiveTimeNumberTypeParserRuleCall_0_2_1_0());
}
lv_support_5_0=rulePrimitiveTimeNumberType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveTimeTypeRule());
}
set(
$current,
"support",
lv_support_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveTimeNumberType");
afterParserOrEnumRuleCall();
}
)
)
)?
)
|
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveTimeTypeAccess().getPrimitiveTimeTypeAction_1_0(),
$current);
}
)
(
(
lv_clock_7_0='clock'
{
newLeafNode(lv_clock_7_0, grammarAccess.getPrimitiveTimeTypeAccess().getClockClockKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveTimeTypeRule());
}
setWithLastConsumed($current, "clock", true, "clock");
}
)
)
(
(
otherlv_8='<'
{
newLeafNode(otherlv_8, grammarAccess.getPrimitiveTimeTypeAccess().getLessThanSignKeyword_1_2_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getPrimitiveTimeTypeAccess().getSupportPrimitiveTimeNumberTypeParserRuleCall_1_2_0_1_0());
}
lv_support_9_0=rulePrimitiveTimeNumberType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveTimeTypeRule());
}
set(
$current,
"support",
lv_support_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveTimeNumberType");
afterParserOrEnumRuleCall();
}
)
)
otherlv_10='>'
{
newLeafNode(otherlv_10, grammarAccess.getPrimitiveTimeTypeAccess().getGreaterThanSignKeyword_1_2_0_2());
}
)
|
(
(
{
newCompositeNode(grammarAccess.getPrimitiveTimeTypeAccess().getSupportPrimitiveTimeNumberTypeParserRuleCall_1_2_1_0());
}
lv_support_11_0=rulePrimitiveTimeNumberType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveTimeTypeRule());
}
set(
$current,
"support",
lv_support_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveTimeNumberType");
afterParserOrEnumRuleCall();
}
)
)
)?
)
)
;
// Entry rule entryRulePrimitiveTimeNumberType
entryRulePrimitiveTimeNumberType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveTimeNumberTypeRule()); }
iv_rulePrimitiveTimeNumberType=rulePrimitiveTimeNumberType
{ $current=$iv_rulePrimitiveTimeNumberType.current; }
EOF;
// Rule PrimitiveTimeNumberType
rulePrimitiveTimeNumberType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveTimeNumberTypeAccess().getPrimitiveIntegerTypeParserRuleCall_0());
}
this_PrimitiveIntegerType_0=rulePrimitiveIntegerType
{
$current = $this_PrimitiveIntegerType_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveTimeNumberTypeAccess().getPrimitiveRationalTypeParserRuleCall_1());
}
this_PrimitiveRationalType_1=rulePrimitiveRationalType
{
$current = $this_PrimitiveRationalType_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveTimeNumberTypeAccess().getPrimitiveFloatTypeParserRuleCall_2());
}
this_PrimitiveFloatType_2=rulePrimitiveFloatType
{
$current = $this_PrimitiveFloatType_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimitiveTimeNumberTypeAccess().getPrimitiveRealTypeParserRuleCall_3());
}
this_PrimitiveRealType_3=rulePrimitiveRealType
{
$current = $this_PrimitiveRealType_3.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleOtherPrimitiveType
entryRuleOtherPrimitiveType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getOtherPrimitiveTypeRule()); }
iv_ruleOtherPrimitiveType=ruleOtherPrimitiveType
{ $current=$iv_ruleOtherPrimitiveType.current; }
EOF;
// Rule OtherPrimitiveType
ruleOtherPrimitiveType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getOtherPrimitiveTypeAccess().getPrimitiveBooleanTypeParserRuleCall_0());
}
this_PrimitiveBooleanType_0=rulePrimitiveBooleanType
{
$current = $this_PrimitiveBooleanType_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getOtherPrimitiveTypeAccess().getPrimitiveCharacterTypeParserRuleCall_1());
}
this_PrimitiveCharacterType_1=rulePrimitiveCharacterType
{
$current = $this_PrimitiveCharacterType_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getOtherPrimitiveTypeAccess().getPrimitiveStringTypeParserRuleCall_2());
}
this_PrimitiveStringType_2=rulePrimitiveStringType
{
$current = $this_PrimitiveStringType_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getOtherPrimitiveTypeAccess().getPrimitiveInstanceTypeParserRuleCall_3());
}
this_PrimitiveInstanceType_3=rulePrimitiveInstanceType
{
$current = $this_PrimitiveInstanceType_3.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRulePrimitiveBooleanType
entryRulePrimitiveBooleanType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveBooleanTypeRule()); }
iv_rulePrimitiveBooleanType=rulePrimitiveBooleanType
{ $current=$iv_rulePrimitiveBooleanType.current; }
EOF;
// Rule PrimitiveBooleanType
rulePrimitiveBooleanType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveBooleanTypeAccess().getPrimitiveBooleanTypeAction_0(),
$current);
}
)
(
(
(
lv_name_1_1='boolean'
{
newLeafNode(lv_name_1_1, grammarAccess.getPrimitiveBooleanTypeAccess().getNameBooleanKeyword_1_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveBooleanTypeRule());
}
setWithLastConsumed($current, "name", lv_name_1_1, null);
}
|
lv_name_1_2='bool'
{
newLeafNode(lv_name_1_2, grammarAccess.getPrimitiveBooleanTypeAccess().getNameBoolKeyword_1_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveBooleanTypeRule());
}
setWithLastConsumed($current, "name", lv_name_1_2, null);
}
)
)
)
)
;
// Entry rule entryRulePrimitiveCharacterType
entryRulePrimitiveCharacterType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveCharacterTypeRule()); }
iv_rulePrimitiveCharacterType=rulePrimitiveCharacterType
{ $current=$iv_rulePrimitiveCharacterType.current; }
EOF;
// Rule PrimitiveCharacterType
rulePrimitiveCharacterType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveCharacterTypeAccess().getPrimitiveCharacterTypeAction_0(),
$current);
}
)
otherlv_1='char'
{
newLeafNode(otherlv_1, grammarAccess.getPrimitiveCharacterTypeAccess().getCharKeyword_1());
}
)
;
// Entry rule entryRulePrimitiveStringType
entryRulePrimitiveStringType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveStringTypeRule()); }
iv_rulePrimitiveStringType=rulePrimitiveStringType
{ $current=$iv_rulePrimitiveStringType.current; }
EOF;
// Rule PrimitiveStringType
rulePrimitiveStringType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveStringTypeAccess().getPrimitiveStringTypeAction_0(),
$current);
}
)
(
(
lv_name_1_0='string'
{
newLeafNode(lv_name_1_0, grammarAccess.getPrimitiveStringTypeAccess().getNameStringKeyword_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveStringTypeRule());
}
setWithLastConsumed($current, "name", lv_name_1_0, "string");
}
)
)
(
(
otherlv_2=':'
{
newLeafNode(otherlv_2, grammarAccess.getPrimitiveStringTypeAccess().getColonKeyword_2_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getPrimitiveStringTypeAccess().getSizeEIntParserRuleCall_2_0_1_0());
}
lv_size_3_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveStringTypeRule());
}
set(
$current,
"size",
lv_size_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_4='<'
{
newLeafNode(otherlv_4, grammarAccess.getPrimitiveStringTypeAccess().getLessThanSignKeyword_2_1_0());
}
(
otherlv_5='size:'
{
newLeafNode(otherlv_5, grammarAccess.getPrimitiveStringTypeAccess().getSizeKeyword_2_1_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getPrimitiveStringTypeAccess().getSizeEIntParserRuleCall_2_1_2_0());
}
lv_size_6_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveStringTypeRule());
}
set(
$current,
"size",
lv_size_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7='>'
{
newLeafNode(otherlv_7, grammarAccess.getPrimitiveStringTypeAccess().getGreaterThanSignKeyword_2_1_3());
}
)
)?
)
;
// Entry rule entryRulePrimitiveInstanceType
entryRulePrimitiveInstanceType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimitiveInstanceTypeRule()); }
iv_rulePrimitiveInstanceType=rulePrimitiveInstanceType
{ $current=$iv_rulePrimitiveInstanceType.current; }
EOF;
// Rule PrimitiveInstanceType
rulePrimitiveInstanceType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPrimitiveInstanceTypeAccess().getPrimitiveInstanceTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getPrimitiveInstanceTypeAccess().getExpectedPrimitiveInstanceKindEnumRuleCall_1_0());
}
lv_expected_1_0=rulePrimitiveInstanceKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimitiveInstanceTypeRule());
}
set(
$current,
"expected",
lv_expected_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveInstanceKind");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getPrimitiveInstanceTypeAccess().getLessThanSignKeyword_2_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimitiveInstanceTypeRule());
}
}
{
newCompositeNode(grammarAccess.getPrimitiveInstanceTypeAccess().getModelNamedElementCrossReference_2_1_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getPrimitiveInstanceTypeAccess().getGreaterThanSignKeyword_2_2());
}
)?
)
;
// Entry rule entryRuleIntervalType
entryRuleIntervalType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getIntervalTypeRule()); }
iv_ruleIntervalType=ruleIntervalType
{ $current=$iv_ruleIntervalType.current; }
EOF;
// Rule IntervalType
ruleIntervalType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getIntervalTypeAccess().getIntervalTypeAction_0(),
$current);
}
)
(
(
lv_name_1_0='interval'
{
newLeafNode(lv_name_1_0, grammarAccess.getIntervalTypeAccess().getNameIntervalKeyword_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIntervalTypeRule());
}
setWithLastConsumed($current, "name", lv_name_1_0, "interval");
}
)
)
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getIntervalTypeAccess().getLessThanSignKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeAccess().getSupportPrimitiveNumberTypeParserRuleCall_3_0());
}
lv_support_3_0=rulePrimitiveNumberType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeRule());
}
set(
$current,
"support",
lv_support_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveNumberType");
afterParserOrEnumRuleCall();
}
)
)
(
(
(
lv_lopen_4_0=']'
{
newLeafNode(lv_lopen_4_0, grammarAccess.getIntervalTypeAccess().getLopenRightSquareBracketKeyword_4_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIntervalTypeRule());
}
setWithLastConsumed($current, "lopen", true, "]");
}
)
)
|
otherlv_5='['
{
newLeafNode(otherlv_5, grammarAccess.getIntervalTypeAccess().getLeftSquareBracketKeyword_4_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeAccess().getInfimumExpressionParserRuleCall_5_0());
}
lv_infimum_6_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeRule());
}
set(
$current,
"infimum",
lv_infimum_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=','
{
newLeafNode(otherlv_7, grammarAccess.getIntervalTypeAccess().getCommaKeyword_6());
}
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeAccess().getSupremumExpressionParserRuleCall_7_0());
}
lv_supremum_8_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeRule());
}
set(
$current,
"supremum",
lv_supremum_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_9=']'
{
newLeafNode(otherlv_9, grammarAccess.getIntervalTypeAccess().getRightSquareBracketKeyword_8_0());
}
|
(
(
lv_ropen_10_0='['
{
newLeafNode(lv_ropen_10_0, grammarAccess.getIntervalTypeAccess().getRopenLeftSquareBracketKeyword_8_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIntervalTypeRule());
}
setWithLastConsumed($current, "ropen", true, "[");
}
)
)
)
otherlv_11='>'
{
newLeafNode(otherlv_11, grammarAccess.getIntervalTypeAccess().getGreaterThanSignKeyword_9());
}
)
;
// Entry rule entryRuleIntervalTypeDefinition
entryRuleIntervalTypeDefinition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getIntervalTypeDefinitionRule()); }
iv_ruleIntervalTypeDefinition=ruleIntervalTypeDefinition
{ $current=$iv_ruleIntervalTypeDefinition.current; }
EOF;
// Rule IntervalTypeDefinition
ruleIntervalTypeDefinition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getIntervalTypeDefinitionAccess().getIntervalTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeDefinitionAccess().getVisibilityVisibilityKindEnumRuleCall_1_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeDefinitionRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_2='type'
{
newLeafNode(otherlv_2, grammarAccess.getIntervalTypeDefinitionAccess().getTypeKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeDefinitionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeDefinitionRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeDefinitionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeDefinitionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_5='interval'
{
newLeafNode(otherlv_5, grammarAccess.getIntervalTypeDefinitionAccess().getIntervalKeyword_5());
}
otherlv_6='<'
{
newLeafNode(otherlv_6, grammarAccess.getIntervalTypeDefinitionAccess().getLessThanSignKeyword_6());
}
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeDefinitionAccess().getSupportPrimitiveNumberTypeParserRuleCall_7_0());
}
lv_support_7_0=rulePrimitiveNumberType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeDefinitionRule());
}
set(
$current,
"support",
lv_support_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveNumberType");
afterParserOrEnumRuleCall();
}
)
)
(
(
(
lv_lopen_8_0=']'
{
newLeafNode(lv_lopen_8_0, grammarAccess.getIntervalTypeDefinitionAccess().getLopenRightSquareBracketKeyword_8_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIntervalTypeDefinitionRule());
}
setWithLastConsumed($current, "lopen", true, "]");
}
)
)
|
otherlv_9='['
{
newLeafNode(otherlv_9, grammarAccess.getIntervalTypeDefinitionAccess().getLeftSquareBracketKeyword_8_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeDefinitionAccess().getInfimumExpressionParserRuleCall_9_0());
}
lv_infimum_10_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeDefinitionRule());
}
set(
$current,
"infimum",
lv_infimum_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_11=','
{
newLeafNode(otherlv_11, grammarAccess.getIntervalTypeDefinitionAccess().getCommaKeyword_10());
}
(
(
{
newCompositeNode(grammarAccess.getIntervalTypeDefinitionAccess().getSupremumExpressionParserRuleCall_11_0());
}
lv_supremum_12_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalTypeDefinitionRule());
}
set(
$current,
"supremum",
lv_supremum_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_13=']'
{
newLeafNode(otherlv_13, grammarAccess.getIntervalTypeDefinitionAccess().getRightSquareBracketKeyword_12_0());
}
|
(
(
lv_ropen_14_0='['
{
newLeafNode(lv_ropen_14_0, grammarAccess.getIntervalTypeDefinitionAccess().getRopenLeftSquareBracketKeyword_12_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIntervalTypeDefinitionRule());
}
setWithLastConsumed($current, "ropen", true, "[");
}
)
)
)
otherlv_15='>'
{
newLeafNode(otherlv_15, grammarAccess.getIntervalTypeDefinitionAccess().getGreaterThanSignKeyword_13());
}
otherlv_16=';'
{
newLeafNode(otherlv_16, grammarAccess.getIntervalTypeDefinitionAccess().getSemicolonKeyword_14());
}
)
;
// Entry rule entryRuleCollectionType
entryRuleCollectionType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getCollectionTypeRule()); }
iv_ruleCollectionType=ruleCollectionType
{ $current=$iv_ruleCollectionType.current; }
EOF;
// Rule CollectionType
ruleCollectionType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getCollectionTypeAccess().getCollectionTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeAccess().getContainerCollectionKindEnumRuleCall_1_0());
}
lv_container_1_0=ruleCollectionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeRule());
}
set(
$current,
"container",
lv_container_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.CollectionKind");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getCollectionTypeAccess().getLessThanSignKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeAccess().getSupportDataTypeParserRuleCall_2_1_0());
}
lv_support_3_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeRule());
}
set(
$current,
"support",
lv_support_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getCollectionTypeAccess().getCommaKeyword_2_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeAccess().getSizeEIntParserRuleCall_2_2_1_0_0());
}
lv_size_5_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeRule());
}
set(
$current,
"size",
lv_size_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
lv_unbounded_6_0='*'
{
newLeafNode(lv_unbounded_6_0, grammarAccess.getCollectionTypeAccess().getUnboundedAsteriskKeyword_2_2_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getCollectionTypeRule());
}
setWithLastConsumed($current, "unbounded", true, "*");
}
)
)
)
)?
otherlv_7='>'
{
newLeafNode(otherlv_7, grammarAccess.getCollectionTypeAccess().getGreaterThanSignKeyword_2_3());
}
)?
)
;
// Entry rule entryRuleCollectionTypeDefinition
entryRuleCollectionTypeDefinition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getCollectionTypeDefinitionRule()); }
iv_ruleCollectionTypeDefinition=ruleCollectionTypeDefinition
{ $current=$iv_ruleCollectionTypeDefinition.current; }
EOF;
// Rule CollectionTypeDefinition
ruleCollectionTypeDefinition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getCollectionTypeDefinitionAccess().getCollectionTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeDefinitionAccess().getVisibilityVisibilityKindEnumRuleCall_1_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeDefinitionRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_2='type'
{
newLeafNode(otherlv_2, grammarAccess.getCollectionTypeDefinitionAccess().getTypeKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeDefinitionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeDefinitionRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeDefinitionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeDefinitionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeDefinitionAccess().getContainerCollectionKindEnumRuleCall_5_0());
}
lv_container_5_0=ruleCollectionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeDefinitionRule());
}
set(
$current,
"container",
lv_container_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.CollectionKind");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6='<'
{
newLeafNode(otherlv_6, grammarAccess.getCollectionTypeDefinitionAccess().getLessThanSignKeyword_6());
}
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeDefinitionAccess().getSupportDataTypeParserRuleCall_7_0());
}
lv_support_7_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeDefinitionRule());
}
set(
$current,
"support",
lv_support_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_8=','
{
newLeafNode(otherlv_8, grammarAccess.getCollectionTypeDefinitionAccess().getCommaKeyword_8_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getCollectionTypeDefinitionAccess().getSizeEIntParserRuleCall_8_1_0_0());
}
lv_size_9_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionTypeDefinitionRule());
}
set(
$current,
"size",
lv_size_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
lv_unbounded_10_0='*'
{
newLeafNode(lv_unbounded_10_0, grammarAccess.getCollectionTypeDefinitionAccess().getUnboundedAsteriskKeyword_8_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getCollectionTypeDefinitionRule());
}
setWithLastConsumed($current, "unbounded", true, "*");
}
)
)
)
)?
otherlv_11='>'
{
newLeafNode(otherlv_11, grammarAccess.getCollectionTypeDefinitionAccess().getGreaterThanSignKeyword_9());
}
otherlv_12=';'
{
newLeafNode(otherlv_12, grammarAccess.getCollectionTypeDefinitionAccess().getSemicolonKeyword_10());
}
)
;
// Entry rule entryRuleEnumerationType
entryRuleEnumerationType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getEnumerationTypeRule()); }
iv_ruleEnumerationType=ruleEnumerationType
{ $current=$iv_ruleEnumerationType.current; }
EOF;
// Rule EnumerationType
ruleEnumerationType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getEnumerationTypeAccess().getEnumerationTypeAction_0(),
$current);
}
)
otherlv_1='enum'
{
newLeafNode(otherlv_1, grammarAccess.getEnumerationTypeAccess().getEnumKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getEnumerationTypeAccess().getLessThanSignKeyword_2_0());
}
(
otherlv_3='super:'
{
newLeafNode(otherlv_3, grammarAccess.getEnumerationTypeAccess().getSuperKeyword_2_1());
}
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getEnumerationTypeRule());
}
}
{
newCompositeNode(grammarAccess.getEnumerationTypeAccess().getSuperTypeEnumerationTypeCrossReference_2_2_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_5='>'
{
newLeafNode(otherlv_5, grammarAccess.getEnumerationTypeAccess().getGreaterThanSignKeyword_2_3());
}
)?
otherlv_6='{'
{
newLeafNode(otherlv_6, grammarAccess.getEnumerationTypeAccess().getLeftCurlyBracketKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getEnumerationTypeAccess().getLiteralEnumerationLiteralParserRuleCall_4_0());
}
lv_literal_7_0=ruleEnumerationLiteral
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationTypeRule());
}
add(
$current,
"literal",
lv_literal_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.EnumerationLiteral");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_8=','
{
newLeafNode(otherlv_8, grammarAccess.getEnumerationTypeAccess().getCommaKeyword_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getEnumerationTypeAccess().getLiteralEnumerationLiteralParserRuleCall_5_1_0());
}
lv_literal_9_0=ruleEnumerationLiteral
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationTypeRule());
}
add(
$current,
"literal",
lv_literal_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.EnumerationLiteral");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_10='}'
{
newLeafNode(otherlv_10, grammarAccess.getEnumerationTypeAccess().getRightCurlyBracketKeyword_6());
}
)
;
// Entry rule entryRuleEnumerationTypeDefinition
entryRuleEnumerationTypeDefinition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getEnumerationTypeDefinitionRule()); }
iv_ruleEnumerationTypeDefinition=ruleEnumerationTypeDefinition
{ $current=$iv_ruleEnumerationTypeDefinition.current; }
EOF;
// Rule EnumerationTypeDefinition
ruleEnumerationTypeDefinition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getEnumerationTypeDefinitionAccess().getEnumerationTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getEnumerationTypeDefinitionAccess().getVisibilityVisibilityKindEnumRuleCall_1_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationTypeDefinitionRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
lv_typedef_2_0='type'
{
newLeafNode(lv_typedef_2_0, grammarAccess.getEnumerationTypeDefinitionAccess().getTypedefTypeKeyword_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getEnumerationTypeDefinitionRule());
}
setWithLastConsumed($current, "typedef", true, "type");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getEnumerationTypeDefinitionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationTypeDefinitionRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getEnumerationTypeDefinitionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationTypeDefinitionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_5='enum'
{
newLeafNode(otherlv_5, grammarAccess.getEnumerationTypeDefinitionAccess().getEnumKeyword_5());
}
(
otherlv_6='<'
{
newLeafNode(otherlv_6, grammarAccess.getEnumerationTypeDefinitionAccess().getLessThanSignKeyword_6_0());
}
(
otherlv_7='super:'
{
newLeafNode(otherlv_7, grammarAccess.getEnumerationTypeDefinitionAccess().getSuperKeyword_6_1());
}
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getEnumerationTypeDefinitionRule());
}
}
{
newCompositeNode(grammarAccess.getEnumerationTypeDefinitionAccess().getSuperTypeEnumerationTypeCrossReference_6_2_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_9='>'
{
newLeafNode(otherlv_9, grammarAccess.getEnumerationTypeDefinitionAccess().getGreaterThanSignKeyword_6_3());
}
)?
otherlv_10='{'
{
newLeafNode(otherlv_10, grammarAccess.getEnumerationTypeDefinitionAccess().getLeftCurlyBracketKeyword_7());
}
(
(
{
newCompositeNode(grammarAccess.getEnumerationTypeDefinitionAccess().getLiteralEnumerationLiteralParserRuleCall_8_0());
}
lv_literal_11_0=ruleEnumerationLiteral
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationTypeDefinitionRule());
}
add(
$current,
"literal",
lv_literal_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.EnumerationLiteral");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_12=','
{
newLeafNode(otherlv_12, grammarAccess.getEnumerationTypeDefinitionAccess().getCommaKeyword_9_0());
}
(
(
{
newCompositeNode(grammarAccess.getEnumerationTypeDefinitionAccess().getLiteralEnumerationLiteralParserRuleCall_9_1_0());
}
lv_literal_13_0=ruleEnumerationLiteral
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationTypeDefinitionRule());
}
add(
$current,
"literal",
lv_literal_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.EnumerationLiteral");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_14='}'
{
newLeafNode(otherlv_14, grammarAccess.getEnumerationTypeDefinitionAccess().getRightCurlyBracketKeyword_10());
}
)
;
// Entry rule entryRuleEnumerationLiteral
entryRuleEnumerationLiteral returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getEnumerationLiteralRule()); }
iv_ruleEnumerationLiteral=ruleEnumerationLiteral
{ $current=$iv_ruleEnumerationLiteral.current; }
EOF;
// Rule EnumerationLiteral
ruleEnumerationLiteral returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getEnumerationLiteralAccess().getNameESIdentifierParserRuleCall_0_0());
}
lv_name_0_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationLiteralRule());
}
set(
$current,
"name",
lv_name_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getEnumerationLiteralAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_1_0());
}
lv_unrestrictedName_1_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationLiteralRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_2='='
{
newLeafNode(otherlv_2, grammarAccess.getEnumerationLiteralAccess().getEqualsSignKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getEnumerationLiteralAccess().getValueLiteralTerminalExpressionParserRuleCall_2_1_0());
}
lv_value_3_0=ruleLiteralTerminalExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEnumerationLiteralRule());
}
set(
$current,
"value",
lv_value_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralTerminalExpression");
afterParserOrEnumRuleCall();
}
)
)
)?
)
;
// Entry rule entryRuleStructureType
entryRuleStructureType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getStructureTypeRule()); }
iv_ruleStructureType=ruleStructureType
{ $current=$iv_ruleStructureType.current; }
EOF;
// Rule StructureType
ruleStructureType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getStructureTypeAccess().getStructureTypeAction_0(),
$current);
}
)
otherlv_1='struct'
{
newLeafNode(otherlv_1, grammarAccess.getStructureTypeAccess().getStructKeyword_1());
}
otherlv_2='{'
{
newLeafNode(otherlv_2, grammarAccess.getStructureTypeAccess().getLeftCurlyBracketKeyword_2());
}
(
otherlv_3='@property:'
{
newLeafNode(otherlv_3, grammarAccess.getStructureTypeAccess().getPropertyKeyword_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getStructureTypeAccess().getPropertyVariableParserRuleCall_4_0());
}
lv_property_4_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStructureTypeRule());
}
add(
$current,
"property",
lv_property_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_5='}'
{
newLeafNode(otherlv_5, grammarAccess.getStructureTypeAccess().getRightCurlyBracketKeyword_5());
}
)
;
// Entry rule entryRuleStructureTypeDefinition
entryRuleStructureTypeDefinition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getStructureTypeDefinitionRule()); }
iv_ruleStructureTypeDefinition=ruleStructureTypeDefinition
{ $current=$iv_ruleStructureTypeDefinition.current; }
EOF;
// Rule StructureTypeDefinition
ruleStructureTypeDefinition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getStructureTypeDefinitionAccess().getStructureTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getStructureTypeDefinitionAccess().getVisibilityVisibilityKindEnumRuleCall_1_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStructureTypeDefinitionRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
lv_typedef_2_0='type'
{
newLeafNode(lv_typedef_2_0, grammarAccess.getStructureTypeDefinitionAccess().getTypedefTypeKeyword_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStructureTypeDefinitionRule());
}
setWithLastConsumed($current, "typedef", true, "type");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getStructureTypeDefinitionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStructureTypeDefinitionRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getStructureTypeDefinitionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStructureTypeDefinitionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_5='struct'
{
newLeafNode(otherlv_5, grammarAccess.getStructureTypeDefinitionAccess().getStructKeyword_5());
}
otherlv_6='{'
{
newLeafNode(otherlv_6, grammarAccess.getStructureTypeDefinitionAccess().getLeftCurlyBracketKeyword_6());
}
(
otherlv_7='@property:'
{
newLeafNode(otherlv_7, grammarAccess.getStructureTypeDefinitionAccess().getPropertyKeyword_7());
}
)?
(
(
{
newCompositeNode(grammarAccess.getStructureTypeDefinitionAccess().getPropertyVariableParserRuleCall_8_0());
}
lv_property_8_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getStructureTypeDefinitionRule());
}
add(
$current,
"property",
lv_property_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_9='}'
{
newLeafNode(otherlv_9, grammarAccess.getStructureTypeDefinitionAccess().getRightCurlyBracketKeyword_9());
}
)
;
// Entry rule entryRuleUnionType
entryRuleUnionType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getUnionTypeRule()); }
iv_ruleUnionType=ruleUnionType
{ $current=$iv_ruleUnionType.current; }
EOF;
// Rule UnionType
ruleUnionType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getUnionTypeAccess().getUnionTypeAction_0(),
$current);
}
)
otherlv_1='union'
{
newLeafNode(otherlv_1, grammarAccess.getUnionTypeAccess().getUnionKeyword_1());
}
otherlv_2='{'
{
newLeafNode(otherlv_2, grammarAccess.getUnionTypeAccess().getLeftCurlyBracketKeyword_2());
}
(
otherlv_3='@property:'
{
newLeafNode(otherlv_3, grammarAccess.getUnionTypeAccess().getPropertyKeyword_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getUnionTypeAccess().getPropertyVariableParserRuleCall_4_0());
}
lv_property_4_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getUnionTypeRule());
}
add(
$current,
"property",
lv_property_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_5='}'
{
newLeafNode(otherlv_5, grammarAccess.getUnionTypeAccess().getRightCurlyBracketKeyword_5());
}
)
;
// Entry rule entryRuleUnionTypeDefinition
entryRuleUnionTypeDefinition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getUnionTypeDefinitionRule()); }
iv_ruleUnionTypeDefinition=ruleUnionTypeDefinition
{ $current=$iv_ruleUnionTypeDefinition.current; }
EOF;
// Rule UnionTypeDefinition
ruleUnionTypeDefinition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getUnionTypeDefinitionAccess().getUnionTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getUnionTypeDefinitionAccess().getVisibilityVisibilityKindEnumRuleCall_1_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getUnionTypeDefinitionRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
lv_typedef_2_0='type'
{
newLeafNode(lv_typedef_2_0, grammarAccess.getUnionTypeDefinitionAccess().getTypedefTypeKeyword_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getUnionTypeDefinitionRule());
}
setWithLastConsumed($current, "typedef", true, "type");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getUnionTypeDefinitionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getUnionTypeDefinitionRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getUnionTypeDefinitionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getUnionTypeDefinitionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_5='union'
{
newLeafNode(otherlv_5, grammarAccess.getUnionTypeDefinitionAccess().getUnionKeyword_5());
}
otherlv_6='{'
{
newLeafNode(otherlv_6, grammarAccess.getUnionTypeDefinitionAccess().getLeftCurlyBracketKeyword_6());
}
(
otherlv_7='@property:'
{
newLeafNode(otherlv_7, grammarAccess.getUnionTypeDefinitionAccess().getPropertyKeyword_7());
}
)?
(
(
{
newCompositeNode(grammarAccess.getUnionTypeDefinitionAccess().getPropertyVariableParserRuleCall_8_0());
}
lv_property_8_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getUnionTypeDefinitionRule());
}
add(
$current,
"property",
lv_property_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_9='}'
{
newLeafNode(otherlv_9, grammarAccess.getUnionTypeDefinitionAccess().getRightCurlyBracketKeyword_9());
}
)
;
// Entry rule entryRuleChoiceType
entryRuleChoiceType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getChoiceTypeRule()); }
iv_ruleChoiceType=ruleChoiceType
{ $current=$iv_ruleChoiceType.current; }
EOF;
// Rule ChoiceType
ruleChoiceType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getChoiceTypeAccess().getChoiceTypeAction_0(),
$current);
}
)
otherlv_1='choice'
{
newLeafNode(otherlv_1, grammarAccess.getChoiceTypeAccess().getChoiceKeyword_1());
}
otherlv_2='{'
{
newLeafNode(otherlv_2, grammarAccess.getChoiceTypeAccess().getLeftCurlyBracketKeyword_2());
}
(
otherlv_3='@property:'
{
newLeafNode(otherlv_3, grammarAccess.getChoiceTypeAccess().getPropertyKeyword_3());
}
)?
(
(
{
newCompositeNode(grammarAccess.getChoiceTypeAccess().getPropertyVariableParserRuleCall_4_0());
}
lv_property_4_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChoiceTypeRule());
}
add(
$current,
"property",
lv_property_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_5='}'
{
newLeafNode(otherlv_5, grammarAccess.getChoiceTypeAccess().getRightCurlyBracketKeyword_5());
}
)
;
// Entry rule entryRuleChoiceTypeDefinition
entryRuleChoiceTypeDefinition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getChoiceTypeDefinitionRule()); }
iv_ruleChoiceTypeDefinition=ruleChoiceTypeDefinition
{ $current=$iv_ruleChoiceTypeDefinition.current; }
EOF;
// Rule ChoiceTypeDefinition
ruleChoiceTypeDefinition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getChoiceTypeDefinitionAccess().getChoiceTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getChoiceTypeDefinitionAccess().getVisibilityVisibilityKindEnumRuleCall_1_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChoiceTypeDefinitionRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
lv_typedef_2_0='type'
{
newLeafNode(lv_typedef_2_0, grammarAccess.getChoiceTypeDefinitionAccess().getTypedefTypeKeyword_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getChoiceTypeDefinitionRule());
}
setWithLastConsumed($current, "typedef", true, "type");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getChoiceTypeDefinitionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChoiceTypeDefinitionRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getChoiceTypeDefinitionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChoiceTypeDefinitionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_5='choice'
{
newLeafNode(otherlv_5, grammarAccess.getChoiceTypeDefinitionAccess().getChoiceKeyword_5());
}
otherlv_6='{'
{
newLeafNode(otherlv_6, grammarAccess.getChoiceTypeDefinitionAccess().getLeftCurlyBracketKeyword_6());
}
(
otherlv_7='@property:'
{
newLeafNode(otherlv_7, grammarAccess.getChoiceTypeDefinitionAccess().getPropertyKeyword_7());
}
)?
(
(
{
newCompositeNode(grammarAccess.getChoiceTypeDefinitionAccess().getPropertyVariableParserRuleCall_8_0());
}
lv_property_8_0=ruleVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChoiceTypeDefinitionRule());
}
add(
$current,
"property",
lv_property_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.Variable");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_9='}'
{
newLeafNode(otherlv_9, grammarAccess.getChoiceTypeDefinitionAccess().getRightCurlyBracketKeyword_9());
}
)
;
// Entry rule entryRuleModifier
entryRuleModifier returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getModifierAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getModifierRule()); }
iv_ruleModifier=ruleModifier
{ $current=$iv_ruleModifier.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule Modifier
ruleModifier returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getModifierAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getModifierAccess().getModifierAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getModifierAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 0);
}
({true}?=>((
lv_static_2_0='static'
{
newLeafNode(lv_static_2_0, grammarAccess.getModifierAccess().getStaticStaticKeyword_1_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed($current, "static", true, "static");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModifierAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 1);
}
({true}?=>((
lv_final_3_0='final'
{
newLeafNode(lv_final_3_0, grammarAccess.getModifierAccess().getFinalFinalKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed($current, "final", true, "final");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModifierAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 2)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 2);
}
({true}?=>((
lv_volatile_4_0='volatile'
{
newLeafNode(lv_volatile_4_0, grammarAccess.getModifierAccess().getVolatileVolatileKeyword_1_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed($current, "volatile", true, "volatile");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModifierAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 3)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 3);
}
({true}?=>((
lv_transient_5_0='transient'
{
newLeafNode(lv_transient_5_0, grammarAccess.getModifierAccess().getTransientTransientKeyword_1_3_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed($current, "transient", true, "transient");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModifierAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 4)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getModifierAccess().getUnorderedGroup_1(), 4);
}
({true}?=>((
lv_optional_6_0='optional'
{
newLeafNode(lv_optional_6_0, grammarAccess.getModifierAccess().getOptionalOptionalKeyword_1_4_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed($current, "optional", true, "optional");
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getModifierAccess().getUnorderedGroup_1());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getModifierAccess().getUnorderedGroup_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleFunction
entryRuleFunction returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getFunctionAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getFunctionRule()); }
iv_ruleFunction=ruleFunction
{ $current=$iv_ruleFunction.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule Function
ruleFunction returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getFunctionAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getFunctionAccess().getFunctionAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getFunctionAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getFunctionAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getFunctionAccess().getUnorderedGroup_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getFunctionAccess().getVisibilityVisibilityKindEnumRuleCall_1_0_0());
}
lv_visibility_2_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionRule());
}
set(
$current,
"visibility",
lv_visibility_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getFunctionAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getFunctionAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getFunctionAccess().getUnorderedGroup_1(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getFunctionAccess().getModifierModifierParserRuleCall_1_1_0());
}
lv_modifier_3_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionRule());
}
set(
$current,
"modifier",
lv_modifier_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getFunctionAccess().getUnorderedGroup_1());
}
)
)
)+
{getUnorderedGroupHelper().canLeave(grammarAccess.getFunctionAccess().getUnorderedGroup_1())}?
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getFunctionAccess().getUnorderedGroup_1());
}
)?
otherlv_4='fun'
{
newLeafNode(otherlv_4, grammarAccess.getFunctionAccess().getFunKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getFunctionAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_5_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionRule());
}
set(
$current,
"name",
lv_name_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getFunctionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_6_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_7='('
{
newLeafNode(otherlv_7, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getFunctionAccess().getParameterSetFormalParameterSetParserRuleCall_5_1_0());
}
lv_parameterSet_8_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_9=')'
{
newLeafNode(otherlv_9, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_5_2());
}
)?
otherlv_10='->'
{
newLeafNode(otherlv_10, grammarAccess.getFunctionAccess().getHyphenMinusGreaterThanSignKeyword_6());
}
(
(
(
{
newCompositeNode(grammarAccess.getFunctionAccess().getResultSetFormalParameterSetParserRuleCall_7_0_0());
}
lv_resultSet_11_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionRule());
}
set(
$current,
"resultSet",
lv_resultSet_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_12='('
{
newLeafNode(otherlv_12, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_7_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getFunctionAccess().getResultSetFormalParameterSetParserRuleCall_7_1_1_0());
}
lv_resultSet_13_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionRule());
}
set(
$current,
"resultSet",
lv_resultSet_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)
otherlv_14=')'
{
newLeafNode(otherlv_14, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_7_1_2());
}
)
)
otherlv_15=';'
{
newLeafNode(otherlv_15, grammarAccess.getFunctionAccess().getSemicolonKeyword_8());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleFunctionImpl
entryRuleFunctionImpl returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getFunctionImplRule()); }
iv_ruleFunctionImpl=ruleFunctionImpl
{ $current=$iv_ruleFunctionImpl.current; }
EOF;
// Rule FunctionImpl
ruleFunctionImpl returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getFunctionImplAccess().getFunctionAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getFunctionImplAccess().getModifierModifierParserRuleCall_1_0());
}
lv_modifier_1_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionImplRule());
}
set(
$current,
"modifier",
lv_modifier_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_2='fun'
{
newLeafNode(otherlv_2, grammarAccess.getFunctionImplAccess().getFunKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getFunctionImplAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionImplRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getFunctionImplAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionImplRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_5='('
{
newLeafNode(otherlv_5, grammarAccess.getFunctionImplAccess().getLeftParenthesisKeyword_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getFunctionImplAccess().getParameterSetFormalParameterSetParserRuleCall_5_1_0());
}
lv_parameterSet_6_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionImplRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_7=')'
{
newLeafNode(otherlv_7, grammarAccess.getFunctionImplAccess().getRightParenthesisKeyword_5_2());
}
)?
otherlv_8='->'
{
newLeafNode(otherlv_8, grammarAccess.getFunctionImplAccess().getHyphenMinusGreaterThanSignKeyword_6());
}
(
(
(
{
newCompositeNode(grammarAccess.getFunctionImplAccess().getResultSetFormalParameterSetParserRuleCall_7_0_0());
}
lv_resultSet_9_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionImplRule());
}
set(
$current,
"resultSet",
lv_resultSet_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_10='('
{
newLeafNode(otherlv_10, grammarAccess.getFunctionImplAccess().getLeftParenthesisKeyword_7_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getFunctionImplAccess().getResultSetFormalParameterSetParserRuleCall_7_1_1_0());
}
lv_resultSet_11_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionImplRule());
}
set(
$current,
"resultSet",
lv_resultSet_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)
otherlv_12=')'
{
newLeafNode(otherlv_12, grammarAccess.getFunctionImplAccess().getRightParenthesisKeyword_7_1_2());
}
)
)
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getFunctionImplAccess().getSemicolonKeyword_8());
}
)
;
// Entry rule entryRuleFunctionPublic
entryRuleFunctionPublic returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getFunctionPublicRule()); }
iv_ruleFunctionPublic=ruleFunctionPublic
{ $current=$iv_ruleFunctionPublic.current; }
EOF;
// Rule FunctionPublic
ruleFunctionPublic returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getFunctionPublicAccess().getFunctionImplParserRuleCall());
}
this_FunctionImpl_0=ruleFunctionImpl
{
$current = $this_FunctionImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleFunctionProtected
entryRuleFunctionProtected returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getFunctionProtectedRule()); }
iv_ruleFunctionProtected=ruleFunctionProtected
{ $current=$iv_ruleFunctionProtected.current; }
EOF;
// Rule FunctionProtected
ruleFunctionProtected returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getFunctionProtectedAccess().getFunctionImplParserRuleCall());
}
this_FunctionImpl_0=ruleFunctionImpl
{
$current = $this_FunctionImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleFunctionPrivate
entryRuleFunctionPrivate returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getFunctionPrivateRule()); }
iv_ruleFunctionPrivate=ruleFunctionPrivate
{ $current=$iv_ruleFunctionPrivate.current; }
EOF;
// Rule FunctionPrivate
ruleFunctionPrivate returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getFunctionPrivateAccess().getFunctionImplParserRuleCall());
}
this_FunctionImpl_0=ruleFunctionImpl
{
$current = $this_FunctionImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleVariable
entryRuleVariable returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getVariableAccess().getUnorderedGroup_0()
);
}:
{ newCompositeNode(grammarAccess.getVariableRule()); }
iv_ruleVariable=ruleVariable
{ $current=$iv_ruleVariable.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule Variable
ruleVariable returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getVariableAccess().getUnorderedGroup_0()
);
}
@after {
leaveRule();
}:
(
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getVariableAccess().getUnorderedGroup_0());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getVariableAccess().getUnorderedGroup_0(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getVariableAccess().getUnorderedGroup_0(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getVariableAccess().getVisibilityVisibilityKindEnumRuleCall_0_0_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getVariableAccess().getUnorderedGroup_0());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getVariableAccess().getUnorderedGroup_0(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getVariableAccess().getUnorderedGroup_0(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getVariableAccess().getModifierModifierParserRuleCall_0_1_0());
}
lv_modifier_2_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRule());
}
set(
$current,
"modifier",
lv_modifier_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getVariableAccess().getUnorderedGroup_0());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getVariableAccess().getUnorderedGroup_0());
}
)
(
otherlv_3='var'
{
newLeafNode(otherlv_3, grammarAccess.getVariableAccess().getVarKeyword_1_0());
}
|
(
(
lv_const_4_0='val'
{
newLeafNode(lv_const_4_0, grammarAccess.getVariableAccess().getConstValKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableRule());
}
setWithLastConsumed($current, "const", true, "val");
}
)
)
|
(
(
(
(
lv_const_5_0='const'
{
newLeafNode(lv_const_5_0, grammarAccess.getVariableAccess().getConstConstKeyword_1_2_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableRule());
}
setWithLastConsumed($current, "const", true, "const");
}
)
)
|
(
(
lv_const_6_0='final'
{
newLeafNode(lv_const_6_0, grammarAccess.getVariableAccess().getConstFinalKeyword_1_2_0_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableRule());
}
setWithLastConsumed($current, "const", true, "final");
}
)
)
)
(
(
lv_macro_7_0='macro'
{
newLeafNode(lv_macro_7_0, grammarAccess.getVariableAccess().getMacroMacroKeyword_1_2_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableRule());
}
setWithLastConsumed($current, "macro", true, "macro");
}
)
)?
(
otherlv_8='var'
{
newLeafNode(otherlv_8, grammarAccess.getVariableAccess().getVarKeyword_1_2_2());
}
)?
)
|
(
(
(
lv_macro_9_0='macro'
{
newLeafNode(lv_macro_9_0, grammarAccess.getVariableAccess().getMacroMacroKeyword_1_3_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableRule());
}
setWithLastConsumed($current, "macro", true, "macro");
}
)
)
(
otherlv_10='var'
{
newLeafNode(otherlv_10, grammarAccess.getVariableAccess().getVarKeyword_1_3_1_0());
}
|
(
(
lv_const_11_0='val'
{
newLeafNode(lv_const_11_0, grammarAccess.getVariableAccess().getConstValKeyword_1_3_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableRule());
}
setWithLastConsumed($current, "const", true, "val");
}
)
)
)?
)
)
(
(
{
newCompositeNode(grammarAccess.getVariableAccess().getTypeDataTypeParserRuleCall_2_0());
}
lv_type_12_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRule());
}
set(
$current,
"type",
lv_type_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
(
(
lv_reference_13_0='&'
{
newLeafNode(lv_reference_13_0, grammarAccess.getVariableAccess().getReferenceAmpersandKeyword_3_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableRule());
}
setWithLastConsumed($current, "reference", true, "&");
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getVariableAccess().getNameESIdentifierParserRuleCall_4_0());
}
lv_name_14_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRule());
}
set(
$current,
"name",
lv_name_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getVariableAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_0());
}
lv_unrestrictedName_15_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_16='='
{
newLeafNode(otherlv_16, grammarAccess.getVariableAccess().getEqualsSignKeyword_6_0());
}
(
(
{
newCompositeNode(grammarAccess.getVariableAccess().getDefaultValueExpressionParserRuleCall_6_1_0());
}
lv_defaultValue_17_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRule());
}
set(
$current,
"defaultValue",
lv_defaultValue_17_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)?
(
(
otherlv_18='{'
{
newLeafNode(otherlv_18, grammarAccess.getVariableAccess().getLeftCurlyBracketKeyword_7_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getVariableAccess().getOnWriteActionOnWriteRoutineParserRuleCall_7_0_1_0());
}
lv_onWriteAction_19_0=ruleOnWriteRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRule());
}
set(
$current,
"onWriteAction",
lv_onWriteAction_19_0,
"org.eclipse.efm.formalml.xtext.FormalML.OnWriteRoutine");
afterParserOrEnumRuleCall();
}
)
)
otherlv_20='}'
{
newLeafNode(otherlv_20, grammarAccess.getVariableAccess().getRightCurlyBracketKeyword_7_0_2());
}
)
|
otherlv_21=';'
{
newLeafNode(otherlv_21, grammarAccess.getVariableAccess().getSemicolonKeyword_7_1());
}
)
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleVariableImpl
entryRuleVariableImpl returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getVariableImplRule()); }
iv_ruleVariableImpl=ruleVariableImpl
{ $current=$iv_ruleVariableImpl.current; }
EOF;
// Rule VariableImpl
ruleVariableImpl returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getVariableImplAccess().getModifierModifierParserRuleCall_0_0());
}
lv_modifier_0_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableImplRule());
}
set(
$current,
"modifier",
lv_modifier_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_1='var'
{
newLeafNode(otherlv_1, grammarAccess.getVariableImplAccess().getVarKeyword_1_0());
}
|
(
(
lv_const_2_0='val'
{
newLeafNode(lv_const_2_0, grammarAccess.getVariableImplAccess().getConstValKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableImplRule());
}
setWithLastConsumed($current, "const", true, "val");
}
)
)
|
(
(
(
lv_const_3_0='const'
{
newLeafNode(lv_const_3_0, grammarAccess.getVariableImplAccess().getConstConstKeyword_1_2_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableImplRule());
}
setWithLastConsumed($current, "const", true, "const");
}
)
)
(
(
lv_macro_4_0='macro'
{
newLeafNode(lv_macro_4_0, grammarAccess.getVariableImplAccess().getMacroMacroKeyword_1_2_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableImplRule());
}
setWithLastConsumed($current, "macro", true, "macro");
}
)
)?
(
otherlv_5='var'
{
newLeafNode(otherlv_5, grammarAccess.getVariableImplAccess().getVarKeyword_1_2_2());
}
)?
)
|
(
(
(
lv_macro_6_0='macro'
{
newLeafNode(lv_macro_6_0, grammarAccess.getVariableImplAccess().getMacroMacroKeyword_1_3_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableImplRule());
}
setWithLastConsumed($current, "macro", true, "macro");
}
)
)
(
otherlv_7='var'
{
newLeafNode(otherlv_7, grammarAccess.getVariableImplAccess().getVarKeyword_1_3_1_0());
}
|
(
(
lv_const_8_0='val'
{
newLeafNode(lv_const_8_0, grammarAccess.getVariableImplAccess().getConstValKeyword_1_3_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableImplRule());
}
setWithLastConsumed($current, "const", true, "val");
}
)
)
)?
)
)
(
(
{
newCompositeNode(grammarAccess.getVariableImplAccess().getTypeDataTypeParserRuleCall_2_0());
}
lv_type_9_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableImplRule());
}
set(
$current,
"type",
lv_type_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
(
(
lv_reference_10_0='&'
{
newLeafNode(lv_reference_10_0, grammarAccess.getVariableImplAccess().getReferenceAmpersandKeyword_3_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableImplRule());
}
setWithLastConsumed($current, "reference", true, "&");
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getVariableImplAccess().getNameESIdentifierParserRuleCall_4_0());
}
lv_name_11_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableImplRule());
}
set(
$current,
"name",
lv_name_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getVariableImplAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_0());
}
lv_unrestrictedName_12_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableImplRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_12_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_13='='
{
newLeafNode(otherlv_13, grammarAccess.getVariableImplAccess().getEqualsSignKeyword_6_0());
}
(
(
{
newCompositeNode(grammarAccess.getVariableImplAccess().getDefaultValueExpressionParserRuleCall_6_1_0());
}
lv_defaultValue_14_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableImplRule());
}
set(
$current,
"defaultValue",
lv_defaultValue_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)?
(
(
otherlv_15='{'
{
newLeafNode(otherlv_15, grammarAccess.getVariableImplAccess().getLeftCurlyBracketKeyword_7_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getVariableImplAccess().getOnWriteActionOnWriteRoutineParserRuleCall_7_0_1_0());
}
lv_onWriteAction_16_0=ruleOnWriteRoutine
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableImplRule());
}
set(
$current,
"onWriteAction",
lv_onWriteAction_16_0,
"org.eclipse.efm.formalml.xtext.FormalML.OnWriteRoutine");
afterParserOrEnumRuleCall();
}
)
)
otherlv_17='}'
{
newLeafNode(otherlv_17, grammarAccess.getVariableImplAccess().getRightCurlyBracketKeyword_7_0_2());
}
)
|
otherlv_18=';'
{
newLeafNode(otherlv_18, grammarAccess.getVariableImplAccess().getSemicolonKeyword_7_1());
}
)
)
;
// Entry rule entryRuleOnWriteRoutine
entryRuleOnWriteRoutine returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getOnWriteRoutineRule()); }
iv_ruleOnWriteRoutine=ruleOnWriteRoutine
{ $current=$iv_ruleOnWriteRoutine.current; }
EOF;
// Rule OnWriteRoutine
ruleOnWriteRoutine returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getOnWriteRoutineAccess().getRoutineAction_0(),
$current);
}
)
(
otherlv_1='@write'
{
newLeafNode(otherlv_1, grammarAccess.getOnWriteRoutineAccess().getWriteKeyword_1_0());
}
|
otherlv_2='@on_write'
{
newLeafNode(otherlv_2, grammarAccess.getOnWriteRoutineAccess().getOn_writeKeyword_1_1());
}
)
(
otherlv_3='('
{
newLeafNode(otherlv_3, grammarAccess.getOnWriteRoutineAccess().getLeftParenthesisKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getOnWriteRoutineAccess().getParameterSetVariableRoutineParameterSetParserRuleCall_2_1_0());
}
lv_parameterSet_4_0=ruleVariableRoutineParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOnWriteRoutineRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariableRoutineParameterSet");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getOnWriteRoutineAccess().getRightParenthesisKeyword_2_2());
}
)?
(
(
{
newCompositeNode(grammarAccess.getOnWriteRoutineAccess().getBodyBlockBlockStatementParserRuleCall_3_0());
}
lv_bodyBlock_6_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOnWriteRoutineRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleVariableRoutineParameterSet
entryRuleVariableRoutineParameterSet returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getVariableRoutineParameterSetRule()); }
iv_ruleVariableRoutineParameterSet=ruleVariableRoutineParameterSet
{ $current=$iv_ruleVariableRoutineParameterSet.current; }
EOF;
// Rule VariableRoutineParameterSet
ruleVariableRoutineParameterSet returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getVariableRoutineParameterSetAccess().getParameterSetAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getVariableRoutineParameterSetAccess().getParameterVariableRoutineParameterParserRuleCall_1_0());
}
lv_parameter_1_0=ruleVariableRoutineParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRoutineParameterSetRule());
}
add(
$current,
"parameter",
lv_parameter_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VariableRoutineParameter");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleVariableRoutineParameter
entryRuleVariableRoutineParameter returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getVariableRoutineParameterRule()); }
iv_ruleVariableRoutineParameter=ruleVariableRoutineParameter
{ $current=$iv_ruleVariableRoutineParameter.current; }
EOF;
// Rule VariableRoutineParameter
ruleVariableRoutineParameter returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
newCompositeNode(grammarAccess.getVariableRoutineParameterAccess().getFormalParameterOffsetParserRuleCall_0());
}
ruleFormalParameterOffset
{
afterParserOrEnumRuleCall();
}
)?
(
(
{
newCompositeNode(grammarAccess.getVariableRoutineParameterAccess().getDirectionParameterDirectionKindEnumRuleCall_1_0());
}
lv_direction_1_0=ruleParameterDirectionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRoutineParameterRule());
}
set(
$current,
"direction",
lv_direction_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterDirectionKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getVariableRoutineParameterAccess().getTypeDataTypeParserRuleCall_2_0());
}
lv_type_2_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRoutineParameterRule());
}
set(
$current,
"type",
lv_type_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getVariableRoutineParameterAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRoutineParameterRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4='='
{
newLeafNode(otherlv_4, grammarAccess.getVariableRoutineParameterAccess().getEqualsSignKeyword_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getVariableRoutineParameterAccess().getDefaultValueExpressionParserRuleCall_4_1_0());
}
lv_defaultValue_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableRoutineParameterRule());
}
set(
$current,
"defaultValue",
lv_defaultValue_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)?
)
;
// Entry rule entryRuleVariablePublic
entryRuleVariablePublic returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getVariablePublicRule()); }
iv_ruleVariablePublic=ruleVariablePublic
{ $current=$iv_ruleVariablePublic.current; }
EOF;
// Rule VariablePublic
ruleVariablePublic returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getVariablePublicAccess().getVariableImplParserRuleCall());
}
this_VariableImpl_0=ruleVariableImpl
{
$current = $this_VariableImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleVariableProtected
entryRuleVariableProtected returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getVariableProtectedRule()); }
iv_ruleVariableProtected=ruleVariableProtected
{ $current=$iv_ruleVariableProtected.current; }
EOF;
// Rule VariableProtected
ruleVariableProtected returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getVariableProtectedAccess().getVariableImplParserRuleCall());
}
this_VariableImpl_0=ruleVariableImpl
{
$current = $this_VariableImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleVariablePrivate
entryRuleVariablePrivate returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getVariablePrivateRule()); }
iv_ruleVariablePrivate=ruleVariablePrivate
{ $current=$iv_ruleVariablePrivate.current; }
EOF;
// Rule VariablePrivate
ruleVariablePrivate returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getVariablePrivateAccess().getVariableImplParserRuleCall());
}
this_VariableImpl_0=ruleVariableImpl
{
$current = $this_VariableImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleFunctionalParameter
entryRuleFunctionalParameter returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getFunctionalParameterRule()); }
iv_ruleFunctionalParameter=ruleFunctionalParameter
{ $current=$iv_ruleFunctionalParameter.current; }
EOF;
// Rule FunctionalParameter
ruleFunctionalParameter returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getFunctionalParameterAccess().getParameterAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getFunctionalParameterAccess().getDirectionParameterDirectionKindEnumRuleCall_1_0());
}
lv_direction_1_0=ruleParameterDirectionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionalParameterRule());
}
set(
$current,
"direction",
lv_direction_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterDirectionKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getFunctionalParameterAccess().getTypeDataTypeParserRuleCall_2_0());
}
lv_type_2_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionalParameterRule());
}
set(
$current,
"type",
lv_type_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getFunctionalParameterAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionalParameterRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4='='
{
newLeafNode(otherlv_4, grammarAccess.getFunctionalParameterAccess().getEqualsSignKeyword_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getFunctionalParameterAccess().getDefaultValueExpressionParserRuleCall_4_1_0());
}
lv_defaultValue_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFunctionalParameterRule());
}
set(
$current,
"defaultValue",
lv_defaultValue_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)?
)
;
// Entry rule entryRuleFormalParameterSet
entryRuleFormalParameterSet returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getFormalParameterSetRule()); }
iv_ruleFormalParameterSet=ruleFormalParameterSet
{ $current=$iv_ruleFormalParameterSet.current; }
EOF;
// Rule FormalParameterSet
ruleFormalParameterSet returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getFormalParameterSetAccess().getParameterSetAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getFormalParameterSetAccess().getParameterFormalParameterParserRuleCall_1_0());
}
lv_parameter_1_0=ruleFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFormalParameterSetRule());
}
add(
$current,
"parameter",
lv_parameter_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameter");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2=','
{
newLeafNode(otherlv_2, grammarAccess.getFormalParameterSetAccess().getCommaKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getFormalParameterSetAccess().getParameterFormalParameterParserRuleCall_2_1_0());
}
lv_parameter_3_0=ruleFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFormalParameterSetRule());
}
add(
$current,
"parameter",
lv_parameter_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameter");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleFormalParameter
entryRuleFormalParameter returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getFormalParameterRule()); }
iv_ruleFormalParameter=ruleFormalParameter
{ $current=$iv_ruleFormalParameter.current; }
EOF;
// Rule FormalParameter
ruleFormalParameter returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getFormalParameterAccess().getParameterAction_0(),
$current);
}
)
(
{
/* */
}
{
newCompositeNode(grammarAccess.getFormalParameterAccess().getFormalParameterOffsetParserRuleCall_1());
}
ruleFormalParameterOffset
{
afterParserOrEnumRuleCall();
}
)?
(
(
{
newCompositeNode(grammarAccess.getFormalParameterAccess().getDirectionParameterDirectionKindEnumRuleCall_2_0());
}
lv_direction_2_0=ruleParameterDirectionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFormalParameterRule());
}
set(
$current,
"direction",
lv_direction_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.ParameterDirectionKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getFormalParameterAccess().getModifierModifierParserRuleCall_3_0());
}
lv_modifier_3_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFormalParameterRule());
}
set(
$current,
"modifier",
lv_modifier_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getFormalParameterAccess().getTypeDataTypeParserRuleCall_4_0());
}
lv_type_4_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFormalParameterRule());
}
set(
$current,
"type",
lv_type_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getFormalParameterAccess().getNameESIdentifierParserRuleCall_5_0());
}
lv_name_5_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFormalParameterRule());
}
set(
$current,
"name",
lv_name_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_6='='
{
newLeafNode(otherlv_6, grammarAccess.getFormalParameterAccess().getEqualsSignKeyword_6_0());
}
(
(
{
newCompositeNode(grammarAccess.getFormalParameterAccess().getDefaultValueExpressionParserRuleCall_6_1_0());
}
lv_defaultValue_7_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getFormalParameterRule());
}
set(
$current,
"defaultValue",
lv_defaultValue_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)?
)
;
// Entry rule entryRuleFormalParameterOffset
entryRuleFormalParameterOffset returns [String current=null]:
{ newCompositeNode(grammarAccess.getFormalParameterOffsetRule()); }
iv_ruleFormalParameterOffset=ruleFormalParameterOffset
{ $current=$iv_ruleFormalParameterOffset.current.getText(); }
EOF;
// Rule FormalParameterOffset
ruleFormalParameterOffset returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
newCompositeNode(grammarAccess.getFormalParameterOffsetAccess().getEOffsetParserRuleCall());
}
this_EOffset_0=ruleEOffset
{
$current.merge(this_EOffset_0);
}
{
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleParameterImpl
entryRuleParameterImpl returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getParameterImplRule()); }
iv_ruleParameterImpl=ruleParameterImpl
{ $current=$iv_ruleParameterImpl.current; }
EOF;
// Rule ParameterImpl
ruleParameterImpl returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getParameterImplAccess().getParameterAction_0(),
$current);
}
)
otherlv_1='var'
{
newLeafNode(otherlv_1, grammarAccess.getParameterImplAccess().getVarKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getParameterImplAccess().getTypeDataTypeParserRuleCall_2_0());
}
lv_type_2_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getParameterImplRule());
}
set(
$current,
"type",
lv_type_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getParameterImplAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getParameterImplRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getParameterImplAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getParameterImplRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_5='='
{
newLeafNode(otherlv_5, grammarAccess.getParameterImplAccess().getEqualsSignKeyword_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getParameterImplAccess().getDefaultValueExpressionParserRuleCall_5_1_0());
}
lv_defaultValue_6_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getParameterImplRule());
}
set(
$current,
"defaultValue",
lv_defaultValue_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)?
otherlv_7=';'
{
newLeafNode(otherlv_7, grammarAccess.getParameterImplAccess().getSemicolonKeyword_6());
}
)
;
// Entry rule entryRuleParameterInput
entryRuleParameterInput returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getParameterInputRule()); }
iv_ruleParameterInput=ruleParameterInput
{ $current=$iv_ruleParameterInput.current; }
EOF;
// Rule ParameterInput
ruleParameterInput returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getParameterInputAccess().getParameterImplParserRuleCall());
}
this_ParameterImpl_0=ruleParameterImpl
{
$current = $this_ParameterImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleParameterInout
entryRuleParameterInout returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getParameterInoutRule()); }
iv_ruleParameterInout=ruleParameterInout
{ $current=$iv_ruleParameterInout.current; }
EOF;
// Rule ParameterInout
ruleParameterInout returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getParameterInoutAccess().getParameterImplParserRuleCall());
}
this_ParameterImpl_0=ruleParameterImpl
{
$current = $this_ParameterImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleParameterOutput
entryRuleParameterOutput returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getParameterOutputRule()); }
iv_ruleParameterOutput=ruleParameterOutput
{ $current=$iv_ruleParameterOutput.current; }
EOF;
// Rule ParameterOutput
ruleParameterOutput returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getParameterOutputAccess().getParameterImplParserRuleCall());
}
this_ParameterImpl_0=ruleParameterImpl
{
$current = $this_ParameterImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleParameterReturn
entryRuleParameterReturn returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getParameterReturnRule()); }
iv_ruleParameterReturn=ruleParameterReturn
{ $current=$iv_ruleParameterReturn.current; }
EOF;
// Rule ParameterReturn
ruleParameterReturn returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getParameterReturnAccess().getParameterImplParserRuleCall());
}
this_ParameterImpl_0=ruleParameterImpl
{
$current = $this_ParameterImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleBufferContainerType
entryRuleBufferContainerType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBufferContainerTypeRule()); }
iv_ruleBufferContainerType=ruleBufferContainerType
{ $current=$iv_ruleBufferContainerType.current; }
EOF;
// Rule BufferContainerType
ruleBufferContainerType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getBufferContainerTypeAccess().getCollectionTypeAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getBufferContainerTypeAccess().getContainerBufferContainerKindEnumRuleCall_1_0());
}
lv_container_1_0=ruleBufferContainerKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferContainerTypeRule());
}
set(
$current,
"container",
lv_container_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getBufferContainerTypeAccess().getLessThanSignKeyword_2_0_0());
}
(
(
(
otherlv_3='size:'
{
newLeafNode(otherlv_3, grammarAccess.getBufferContainerTypeAccess().getSizeKeyword_2_0_1_0_0());
}
)?
(
(
{
newCompositeNode(grammarAccess.getBufferContainerTypeAccess().getSizeEIntParserRuleCall_2_0_1_0_1_0());
}
lv_size_4_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferContainerTypeRule());
}
set(
$current,
"size",
lv_size_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
(
lv_unbounded_5_0='*'
{
newLeafNode(lv_unbounded_5_0, grammarAccess.getBufferContainerTypeAccess().getUnboundedAsteriskKeyword_2_0_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getBufferContainerTypeRule());
}
setWithLastConsumed($current, "unbounded", true, "*");
}
)
)
)?
otherlv_6='>'
{
newLeafNode(otherlv_6, grammarAccess.getBufferContainerTypeAccess().getGreaterThanSignKeyword_2_0_2());
}
)
|
(
otherlv_7='['
{
newLeafNode(otherlv_7, grammarAccess.getBufferContainerTypeAccess().getLeftSquareBracketKeyword_2_1_0());
}
(
(
(
otherlv_8='size:'
{
newLeafNode(otherlv_8, grammarAccess.getBufferContainerTypeAccess().getSizeKeyword_2_1_1_0_0());
}
)?
(
(
{
newCompositeNode(grammarAccess.getBufferContainerTypeAccess().getSizeEIntParserRuleCall_2_1_1_0_1_0());
}
lv_size_9_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferContainerTypeRule());
}
set(
$current,
"size",
lv_size_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
(
lv_unbounded_10_0='*'
{
newLeafNode(lv_unbounded_10_0, grammarAccess.getBufferContainerTypeAccess().getUnboundedAsteriskKeyword_2_1_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getBufferContainerTypeRule());
}
setWithLastConsumed($current, "unbounded", true, "*");
}
)
)
)?
otherlv_11=']'
{
newLeafNode(otherlv_11, grammarAccess.getBufferContainerTypeAccess().getRightSquareBracketKeyword_2_1_2());
}
)
)?
)
;
// Entry rule entryRuleBuffer
entryRuleBuffer returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getBufferAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getBufferRule()); }
iv_ruleBuffer=ruleBuffer
{ $current=$iv_ruleBuffer.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule Buffer
ruleBuffer returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getBufferAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getBufferAccess().getBufferAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getBufferAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getBufferAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getBufferAccess().getUnorderedGroup_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getBufferAccess().getVisibilityVisibilityKindEnumRuleCall_1_0_0());
}
lv_visibility_2_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferRule());
}
set(
$current,
"visibility",
lv_visibility_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getBufferAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getBufferAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getBufferAccess().getUnorderedGroup_1(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getBufferAccess().getModifierModifierParserRuleCall_1_1_0());
}
lv_modifier_3_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferRule());
}
set(
$current,
"modifier",
lv_modifier_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getBufferAccess().getUnorderedGroup_1());
}
)
)
)+
{getUnorderedGroupHelper().canLeave(grammarAccess.getBufferAccess().getUnorderedGroup_1())}?
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getBufferAccess().getUnorderedGroup_1());
}
)?
otherlv_4='buffer'
{
newLeafNode(otherlv_4, grammarAccess.getBufferAccess().getBufferKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getBufferAccess().getTypeBufferContainerTypeParserRuleCall_3_0());
}
lv_type_5_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferRule());
}
set(
$current,
"type",
lv_type_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getBufferAccess().getNameESIdentifierParserRuleCall_4_0());
}
lv_name_6_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferRule());
}
set(
$current,
"name",
lv_name_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getBufferAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_0());
}
lv_unrestrictedName_7_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_8=';'
{
newLeafNode(otherlv_8, grammarAccess.getBufferAccess().getSemicolonKeyword_6());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleBufferImpl
entryRuleBufferImpl returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBufferImplRule()); }
iv_ruleBufferImpl=ruleBufferImpl
{ $current=$iv_ruleBufferImpl.current; }
EOF;
// Rule BufferImpl
ruleBufferImpl returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getBufferImplAccess().getBufferAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getBufferImplAccess().getModifierModifierParserRuleCall_1_0());
}
lv_modifier_1_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferImplRule());
}
set(
$current,
"modifier",
lv_modifier_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_2='buffer'
{
newLeafNode(otherlv_2, grammarAccess.getBufferImplAccess().getBufferKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getBufferImplAccess().getTypeBufferContainerTypeParserRuleCall_3_0());
}
lv_type_3_0=ruleBufferContainerType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferImplRule());
}
set(
$current,
"type",
lv_type_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.BufferContainerType");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getBufferImplAccess().getNameESIdentifierParserRuleCall_4_0());
}
lv_name_4_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferImplRule());
}
set(
$current,
"name",
lv_name_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getBufferImplAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_0());
}
lv_unrestrictedName_5_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBufferImplRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_6=';'
{
newLeafNode(otherlv_6, grammarAccess.getBufferImplAccess().getSemicolonKeyword_6());
}
)
;
// Entry rule entryRuleBufferPublic
entryRuleBufferPublic returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBufferPublicRule()); }
iv_ruleBufferPublic=ruleBufferPublic
{ $current=$iv_ruleBufferPublic.current; }
EOF;
// Rule BufferPublic
ruleBufferPublic returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getBufferPublicAccess().getBufferImplParserRuleCall());
}
this_BufferImpl_0=ruleBufferImpl
{
$current = $this_BufferImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleBufferProtected
entryRuleBufferProtected returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBufferProtectedRule()); }
iv_ruleBufferProtected=ruleBufferProtected
{ $current=$iv_ruleBufferProtected.current; }
EOF;
// Rule BufferProtected
ruleBufferProtected returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getBufferProtectedAccess().getBufferImplParserRuleCall());
}
this_BufferImpl_0=ruleBufferImpl
{
$current = $this_BufferImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleBufferPrivate
entryRuleBufferPrivate returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBufferPrivateRule()); }
iv_ruleBufferPrivate=ruleBufferPrivate
{ $current=$iv_ruleBufferPrivate.current; }
EOF;
// Rule BufferPrivate
ruleBufferPrivate returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getBufferPrivateAccess().getBufferImplParserRuleCall());
}
this_BufferImpl_0=ruleBufferImpl
{
$current = $this_BufferImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRulePort
entryRulePort returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getPortAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getPortRule()); }
iv_rulePort=rulePort
{ $current=$iv_rulePort.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule Port
rulePort returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getPortAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPortAccess().getPortAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getPortAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getPortAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getPortAccess().getUnorderedGroup_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getPortAccess().getVisibilityVisibilityKindEnumRuleCall_1_0_0());
}
lv_visibility_2_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortRule());
}
set(
$current,
"visibility",
lv_visibility_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPortAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getPortAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getPortAccess().getUnorderedGroup_1(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getPortAccess().getModifierModifierParserRuleCall_1_1_0());
}
lv_modifier_3_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortRule());
}
set(
$current,
"modifier",
lv_modifier_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPortAccess().getUnorderedGroup_1());
}
)
)
)+
{getUnorderedGroupHelper().canLeave(grammarAccess.getPortAccess().getUnorderedGroup_1())}?
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getPortAccess().getUnorderedGroup_1());
}
)?
(
(
(
(
{
newCompositeNode(grammarAccess.getPortAccess().getDirectionChannelDirectionEnumRuleCall_2_0_0_0());
}
lv_direction_4_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortRule());
}
set(
$current,
"direction",
lv_direction_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5='port'
{
newLeafNode(otherlv_5, grammarAccess.getPortAccess().getPortKeyword_2_0_1());
}
)
|
(
otherlv_6='port'
{
newLeafNode(otherlv_6, grammarAccess.getPortAccess().getPortKeyword_2_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getPortAccess().getDirectionChannelDirectionEnumRuleCall_2_1_1_0());
}
lv_direction_7_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortRule());
}
set(
$current,
"direction",
lv_direction_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)?
)
)
(
(
{
newCompositeNode(grammarAccess.getPortAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_8_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortRule());
}
set(
$current,
"name",
lv_name_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getPortAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_9_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_10='('
{
newLeafNode(otherlv_10, grammarAccess.getPortAccess().getLeftParenthesisKeyword_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getPortAccess().getParameterSetFormalParameterSetParserRuleCall_5_1_0());
}
lv_parameterSet_11_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_12=')'
{
newLeafNode(otherlv_12, grammarAccess.getPortAccess().getRightParenthesisKeyword_5_2());
}
)?
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getPortAccess().getSemicolonKeyword_6());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRulePortImpl
entryRulePortImpl returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPortImplRule()); }
iv_rulePortImpl=rulePortImpl
{ $current=$iv_rulePortImpl.current; }
EOF;
// Rule PortImpl
rulePortImpl returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getPortImplAccess().getPortAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getPortImplAccess().getModifierModifierParserRuleCall_1_0());
}
lv_modifier_1_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortImplRule());
}
set(
$current,
"modifier",
lv_modifier_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
)?
(
(
(
(
{
newCompositeNode(grammarAccess.getPortImplAccess().getDirectionChannelDirectionEnumRuleCall_2_0_0_0());
}
lv_direction_2_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortImplRule());
}
set(
$current,
"direction",
lv_direction_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3='port'
{
newLeafNode(otherlv_3, grammarAccess.getPortImplAccess().getPortKeyword_2_0_1());
}
)
|
(
otherlv_4='port'
{
newLeafNode(otherlv_4, grammarAccess.getPortImplAccess().getPortKeyword_2_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getPortImplAccess().getDirectionChannelDirectionEnumRuleCall_2_1_1_0());
}
lv_direction_5_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortImplRule());
}
set(
$current,
"direction",
lv_direction_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)?
)
)
(
(
{
newCompositeNode(grammarAccess.getPortImplAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_6_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortImplRule());
}
set(
$current,
"name",
lv_name_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getPortImplAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_7_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortImplRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_8='('
{
newLeafNode(otherlv_8, grammarAccess.getPortImplAccess().getLeftParenthesisKeyword_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getPortImplAccess().getParameterSetFormalParameterSetParserRuleCall_5_1_0());
}
lv_parameterSet_9_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPortImplRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_10=')'
{
newLeafNode(otherlv_10, grammarAccess.getPortImplAccess().getRightParenthesisKeyword_5_2());
}
)?
otherlv_11=';'
{
newLeafNode(otherlv_11, grammarAccess.getPortImplAccess().getSemicolonKeyword_6());
}
)
;
// Entry rule entryRulePortPublic
entryRulePortPublic returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPortPublicRule()); }
iv_rulePortPublic=rulePortPublic
{ $current=$iv_rulePortPublic.current; }
EOF;
// Rule PortPublic
rulePortPublic returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getPortPublicAccess().getPortImplParserRuleCall());
}
this_PortImpl_0=rulePortImpl
{
$current = $this_PortImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRulePortProtected
entryRulePortProtected returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPortProtectedRule()); }
iv_rulePortProtected=rulePortProtected
{ $current=$iv_rulePortProtected.current; }
EOF;
// Rule PortProtected
rulePortProtected returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getPortProtectedAccess().getPortImplParserRuleCall());
}
this_PortImpl_0=rulePortImpl
{
$current = $this_PortImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRulePortPrivate
entryRulePortPrivate returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPortPrivateRule()); }
iv_rulePortPrivate=rulePortPrivate
{ $current=$iv_rulePortPrivate.current; }
EOF;
// Rule PortPrivate
rulePortPrivate returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getPortPrivateAccess().getPortImplParserRuleCall());
}
this_PortImpl_0=rulePortImpl
{
$current = $this_PortImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleSignal
entryRuleSignal returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSignalRule()); }
iv_ruleSignal=ruleSignal
{ $current=$iv_ruleSignal.current; }
EOF;
// Rule Signal
ruleSignal returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getSignalAccess().getSignalAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getSignalAccess().getVisibilityVisibilityKindEnumRuleCall_1_0());
}
lv_visibility_1_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalRule());
}
set(
$current,
"visibility",
lv_visibility_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
)?
(
(
(
(
{
newCompositeNode(grammarAccess.getSignalAccess().getDirectionChannelDirectionEnumRuleCall_2_0_0_0());
}
lv_direction_2_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalRule());
}
set(
$current,
"direction",
lv_direction_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3='signal'
{
newLeafNode(otherlv_3, grammarAccess.getSignalAccess().getSignalKeyword_2_0_1());
}
)
|
(
otherlv_4='signal'
{
newLeafNode(otherlv_4, grammarAccess.getSignalAccess().getSignalKeyword_2_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getSignalAccess().getDirectionChannelDirectionEnumRuleCall_2_1_1_0());
}
lv_direction_5_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalRule());
}
set(
$current,
"direction",
lv_direction_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)?
)
)
(
(
{
newCompositeNode(grammarAccess.getSignalAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_6_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalRule());
}
set(
$current,
"name",
lv_name_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getSignalAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_7_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_8='('
{
newLeafNode(otherlv_8, grammarAccess.getSignalAccess().getLeftParenthesisKeyword_5_0());
}
(
(
{
newCompositeNode(grammarAccess.getSignalAccess().getParameterSetFormalParameterSetParserRuleCall_5_1_0());
}
lv_parameterSet_9_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_10=')'
{
newLeafNode(otherlv_10, grammarAccess.getSignalAccess().getRightParenthesisKeyword_5_2());
}
)?
otherlv_11=';'
{
newLeafNode(otherlv_11, grammarAccess.getSignalAccess().getSemicolonKeyword_6());
}
)
;
// Entry rule entryRuleSignalImpl
entryRuleSignalImpl returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSignalImplRule()); }
iv_ruleSignalImpl=ruleSignalImpl
{ $current=$iv_ruleSignalImpl.current; }
EOF;
// Rule SignalImpl
ruleSignalImpl returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getSignalImplAccess().getSignalAction_0(),
$current);
}
)
(
(
(
(
{
newCompositeNode(grammarAccess.getSignalImplAccess().getDirectionChannelDirectionEnumRuleCall_1_0_0_0());
}
lv_direction_1_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalImplRule());
}
set(
$current,
"direction",
lv_direction_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2='signal'
{
newLeafNode(otherlv_2, grammarAccess.getSignalImplAccess().getSignalKeyword_1_0_1());
}
)
|
(
otherlv_3='signal'
{
newLeafNode(otherlv_3, grammarAccess.getSignalImplAccess().getSignalKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getSignalImplAccess().getDirectionChannelDirectionEnumRuleCall_1_1_1_0());
}
lv_direction_4_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalImplRule());
}
set(
$current,
"direction",
lv_direction_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)?
)
)
(
(
{
newCompositeNode(grammarAccess.getSignalImplAccess().getNameESIdentifierParserRuleCall_2_0());
}
lv_name_5_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalImplRule());
}
set(
$current,
"name",
lv_name_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getSignalImplAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_3_0());
}
lv_unrestrictedName_6_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalImplRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_7='('
{
newLeafNode(otherlv_7, grammarAccess.getSignalImplAccess().getLeftParenthesisKeyword_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getSignalImplAccess().getParameterSetFormalParameterSetParserRuleCall_4_1_0());
}
lv_parameterSet_8_0=ruleFormalParameterSet
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalImplRule());
}
set(
$current,
"parameterSet",
lv_parameterSet_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.FormalParameterSet");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_9=')'
{
newLeafNode(otherlv_9, grammarAccess.getSignalImplAccess().getRightParenthesisKeyword_4_2());
}
)?
otherlv_10=';'
{
newLeafNode(otherlv_10, grammarAccess.getSignalImplAccess().getSemicolonKeyword_5());
}
)
;
// Entry rule entryRuleSignalPublic
entryRuleSignalPublic returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSignalPublicRule()); }
iv_ruleSignalPublic=ruleSignalPublic
{ $current=$iv_ruleSignalPublic.current; }
EOF;
// Rule SignalPublic
ruleSignalPublic returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getSignalPublicAccess().getSignalImplParserRuleCall());
}
this_SignalImpl_0=ruleSignalImpl
{
$current = $this_SignalImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleSignalProtected
entryRuleSignalProtected returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSignalProtectedRule()); }
iv_ruleSignalProtected=ruleSignalProtected
{ $current=$iv_ruleSignalProtected.current; }
EOF;
// Rule SignalProtected
ruleSignalProtected returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getSignalProtectedAccess().getSignalImplParserRuleCall());
}
this_SignalImpl_0=ruleSignalImpl
{
$current = $this_SignalImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleSignalPrivate
entryRuleSignalPrivate returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSignalPrivateRule()); }
iv_ruleSignalPrivate=ruleSignalPrivate
{ $current=$iv_ruleSignalPrivate.current; }
EOF;
// Rule SignalPrivate
ruleSignalPrivate returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getSignalPrivateAccess().getSignalImplParserRuleCall());
}
this_SignalImpl_0=ruleSignalImpl
{
$current = $this_SignalImpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleChannel
entryRuleChannel returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getChannelAccess().getUnorderedGroup_1()
);
}:
{ newCompositeNode(grammarAccess.getChannelRule()); }
iv_ruleChannel=ruleChannel
{ $current=$iv_ruleChannel.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule Channel
ruleChannel returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getChannelAccess().getUnorderedGroup_1()
);
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getChannelAccess().getChannelAction_0(),
$current);
}
)
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getChannelAccess().getUnorderedGroup_1());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getChannelAccess().getUnorderedGroup_1(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getChannelAccess().getUnorderedGroup_1(), 0);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getChannelAccess().getVisibilityVisibilityKindEnumRuleCall_1_0_0());
}
lv_visibility_2_0=ruleVisibilityKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelRule());
}
set(
$current,
"visibility",
lv_visibility_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.VisibilityKind");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChannelAccess().getUnorderedGroup_1());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getChannelAccess().getUnorderedGroup_1(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getChannelAccess().getUnorderedGroup_1(), 1);
}
({true}?=>((
{
newCompositeNode(grammarAccess.getChannelAccess().getModifierModifierParserRuleCall_1_1_0());
}
lv_modifier_3_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelRule());
}
set(
$current,
"modifier",
lv_modifier_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChannelAccess().getUnorderedGroup_1());
}
)
)
)+
{getUnorderedGroupHelper().canLeave(grammarAccess.getChannelAccess().getUnorderedGroup_1())}?
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getChannelAccess().getUnorderedGroup_1());
}
)?
otherlv_4='channel'
{
newLeafNode(otherlv_4, grammarAccess.getChannelAccess().getChannelKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getChannelAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_5_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelRule());
}
set(
$current,
"name",
lv_name_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getChannelAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_6_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_7='{'
{
newLeafNode(otherlv_7, grammarAccess.getChannelAccess().getLeftCurlyBracketKeyword_5());
}
(
(
(
{
newCompositeNode(grammarAccess.getChannelAccess().getSignalSignalReferenceParserRuleCall_6_0_0());
}
lv_signal_8_0=ruleSignalReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelRule());
}
add(
$current,
"signal",
lv_signal_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalReference");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9=';'
{
newLeafNode(otherlv_9, grammarAccess.getChannelAccess().getSemicolonKeyword_6_1());
}
)+
otherlv_10='}'
{
newLeafNode(otherlv_10, grammarAccess.getChannelAccess().getRightCurlyBracketKeyword_7());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleSignalReference
entryRuleSignalReference returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSignalReferenceRule()); }
iv_ruleSignalReference=ruleSignalReference
{ $current=$iv_ruleSignalReference.current; }
EOF;
// Rule SignalReference
ruleSignalReference returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getSignalReferenceAccess().getDirectionChannelDirectionEnumRuleCall_0_0());
}
lv_direction_0_0=ruleChannelDirection
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalReferenceRule());
}
set(
$current,
"direction",
lv_direction_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.ChannelDirection");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getSignalReferenceAccess().getNameESIdentifierParserRuleCall_1_0());
}
lv_name_1_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSignalReferenceRule());
}
set(
$current,
"name",
lv_name_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleChannelimpl
entryRuleChannelimpl returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getChannelimplRule()); }
iv_ruleChannelimpl=ruleChannelimpl
{ $current=$iv_ruleChannelimpl.current; }
EOF;
// Rule Channelimpl
ruleChannelimpl returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getChannelimplAccess().getChannelAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getChannelimplAccess().getModifierModifierParserRuleCall_1_0());
}
lv_modifier_1_0=ruleModifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelimplRule());
}
set(
$current,
"modifier",
lv_modifier_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Modifier");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_2='channel'
{
newLeafNode(otherlv_2, grammarAccess.getChannelimplAccess().getChannelKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getChannelimplAccess().getNameESIdentifierParserRuleCall_3_0());
}
lv_name_3_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelimplRule());
}
set(
$current,
"name",
lv_name_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getChannelimplAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_4_0());
}
lv_unrestrictedName_4_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelimplRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_5='{'
{
newLeafNode(otherlv_5, grammarAccess.getChannelimplAccess().getLeftCurlyBracketKeyword_5());
}
(
(
(
{
newCompositeNode(grammarAccess.getChannelimplAccess().getSignalSignalReferenceParserRuleCall_6_0_0());
}
lv_signal_6_0=ruleSignalReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getChannelimplRule());
}
add(
$current,
"signal",
lv_signal_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.SignalReference");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=';'
{
newLeafNode(otherlv_7, grammarAccess.getChannelimplAccess().getSemicolonKeyword_6_1());
}
)+
otherlv_8='}'
{
newLeafNode(otherlv_8, grammarAccess.getChannelimplAccess().getRightCurlyBracketKeyword_7());
}
)
;
// Entry rule entryRuleChannelPublic
entryRuleChannelPublic returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getChannelPublicRule()); }
iv_ruleChannelPublic=ruleChannelPublic
{ $current=$iv_ruleChannelPublic.current; }
EOF;
// Rule ChannelPublic
ruleChannelPublic returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getChannelPublicAccess().getChannelimplParserRuleCall());
}
this_Channelimpl_0=ruleChannelimpl
{
$current = $this_Channelimpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleChannelProtected
entryRuleChannelProtected returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getChannelProtectedRule()); }
iv_ruleChannelProtected=ruleChannelProtected
{ $current=$iv_ruleChannelProtected.current; }
EOF;
// Rule ChannelProtected
ruleChannelProtected returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getChannelProtectedAccess().getChannelimplParserRuleCall());
}
this_Channelimpl_0=ruleChannelimpl
{
$current = $this_Channelimpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleChannelPrivate
entryRuleChannelPrivate returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getChannelPrivateRule()); }
iv_ruleChannelPrivate=ruleChannelPrivate
{ $current=$iv_ruleChannelPrivate.current; }
EOF;
// Rule ChannelPrivate
ruleChannelPrivate returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getChannelPrivateAccess().getChannelimplParserRuleCall());
}
this_Channelimpl_0=ruleChannelimpl
{
$current = $this_Channelimpl_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleTransition
entryRuleTransition returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionRule()); }
iv_ruleTransition=ruleTransition
{ $current=$iv_ruleTransition.current; }
EOF;
// Rule Transition
ruleTransition returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getTransitionAccess().getTransitionAction_0(),
$current);
}
)
(
(
lv_transient_1_0='transient'
{
newLeafNode(lv_transient_1_0, grammarAccess.getTransitionAccess().getTransientTransientKeyword_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionRule());
}
setWithLastConsumed($current, "transient", true, "transient");
}
)
)?
otherlv_2='transition'
{
newLeafNode(otherlv_2, grammarAccess.getTransitionAccess().getTransitionKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getMoeTransitionMoeParserRuleCall_3_0());
}
lv_moe_3_0=ruleTransitionMoe
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"moe",
lv_moe_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionMoe");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getNameESIdentifierParserRuleCall_4_0());
}
lv_name_4_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"name",
lv_name_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getUnrestrictedNameUnrestrictedNameParserRuleCall_5_0());
}
lv_unrestrictedName_5_0=ruleUnrestrictedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"unrestrictedName",
lv_unrestrictedName_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnrestrictedName");
afterParserOrEnumRuleCall();
}
)
)?
(
(
otherlv_6='{'
{
newLeafNode(otherlv_6, grammarAccess.getTransitionAccess().getLeftCurlyBracketKeyword_6_0_0());
}
(
(
(
otherlv_7='@trigger:'
{
newLeafNode(otherlv_7, grammarAccess.getTransitionAccess().getTriggerKeyword_6_0_1_0_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getTriggerTransitionTriggerParserRuleCall_6_0_1_0_0_1_0());
}
lv_trigger_8_0=ruleTransitionTrigger
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
add(
$current,
"trigger",
lv_trigger_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionTrigger");
afterParserOrEnumRuleCall();
}
)
)*
)?
(
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getGuardTransitionGuardParserRuleCall_6_0_1_0_1_0_0());
}
lv_guard_9_0=ruleTransitionGuard
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"guard",
lv_guard_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionGuard");
afterParserOrEnumRuleCall();
}
)
)
|
otherlv_10='@guard:'
{
newLeafNode(otherlv_10, grammarAccess.getTransitionAccess().getGuardKeyword_6_0_1_0_1_1());
}
)?
(
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getTguardTransitionTimedGuardParserRuleCall_6_0_1_0_2_0_0());
}
lv_tguard_11_0=ruleTransitionTimedGuard
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"tguard",
lv_tguard_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionTimedGuard");
afterParserOrEnumRuleCall();
}
)
)
|
otherlv_12='@tguard:'
{
newLeafNode(otherlv_12, grammarAccess.getTransitionAccess().getTguardKeyword_6_0_1_0_2_1());
}
)?
otherlv_13='@effect:'
{
newLeafNode(otherlv_13, grammarAccess.getTransitionAccess().getEffectKeyword_6_0_1_0_3());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getEffectTransitionEffectParserRuleCall_6_0_1_0_4_0());
}
lv_effect_14_0=ruleTransitionEffect
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"effect",
lv_effect_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionEffect");
afterParserOrEnumRuleCall();
}
)
)?
)
|
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getBehaviorTransitionBehaviorParserRuleCall_6_0_1_1_0());
}
lv_behavior_15_0=ruleTransitionBehavior
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"behavior",
lv_behavior_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionBehavior");
afterParserOrEnumRuleCall();
}
)
)
)?
otherlv_16='}'
{
newLeafNode(otherlv_16, grammarAccess.getTransitionAccess().getRightCurlyBracketKeyword_6_0_2());
}
(
otherlv_17='-->'
{
newLeafNode(otherlv_17, grammarAccess.getTransitionAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_6_0_3_0());
}
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionRule());
}
}
{
newCompositeNode(grammarAccess.getTransitionAccess().getTargetVertexCrossReference_6_0_3_1_0_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getTargetExpressionValuePureNamedMachineExpressionParserRuleCall_6_0_3_1_1_0());
}
lv_targetExpression_19_0=ruleValuePureNamedMachineExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"targetExpression",
lv_targetExpression_19_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValuePureNamedMachineExpression");
afterParserOrEnumRuleCall();
}
)
)
)
otherlv_20=';'
{
newLeafNode(otherlv_20, grammarAccess.getTransitionAccess().getSemicolonKeyword_6_0_3_2());
}
)?
)
|
(
otherlv_21='-->'
{
newLeafNode(otherlv_21, grammarAccess.getTransitionAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_6_1_0());
}
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionRule());
}
}
{
newCompositeNode(grammarAccess.getTransitionAccess().getTargetVertexCrossReference_6_1_1_0_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getTargetExpressionValuePureNamedMachineExpressionParserRuleCall_6_1_1_1_0());
}
lv_targetExpression_23_0=ruleValuePureNamedMachineExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"targetExpression",
lv_targetExpression_23_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValuePureNamedMachineExpression");
afterParserOrEnumRuleCall();
}
)
)
)
(
(
otherlv_24='{'
{
newLeafNode(otherlv_24, grammarAccess.getTransitionAccess().getLeftCurlyBracketKeyword_6_1_2_0_0());
}
(
(
(
otherlv_25='@trigger:'
{
newLeafNode(otherlv_25, grammarAccess.getTransitionAccess().getTriggerKeyword_6_1_2_0_1_0_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getTriggerTransitionTriggerParserRuleCall_6_1_2_0_1_0_0_1_0());
}
lv_trigger_26_0=ruleTransitionTrigger
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
add(
$current,
"trigger",
lv_trigger_26_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionTrigger");
afterParserOrEnumRuleCall();
}
)
)*
)?
(
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getGuardTransitionGuardParserRuleCall_6_1_2_0_1_0_1_0_0());
}
lv_guard_27_0=ruleTransitionGuard
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"guard",
lv_guard_27_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionGuard");
afterParserOrEnumRuleCall();
}
)
)
|
otherlv_28='@guard:'
{
newLeafNode(otherlv_28, grammarAccess.getTransitionAccess().getGuardKeyword_6_1_2_0_1_0_1_1());
}
)?
(
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getTguardTransitionTimedGuardParserRuleCall_6_1_2_0_1_0_2_0_0());
}
lv_tguard_29_0=ruleTransitionTimedGuard
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"tguard",
lv_tguard_29_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionTimedGuard");
afterParserOrEnumRuleCall();
}
)
)
|
otherlv_30='@tguard:'
{
newLeafNode(otherlv_30, grammarAccess.getTransitionAccess().getTguardKeyword_6_1_2_0_1_0_2_1());
}
)?
otherlv_31='@effect:'
{
newLeafNode(otherlv_31, grammarAccess.getTransitionAccess().getEffectKeyword_6_1_2_0_1_0_3());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getEffectTransitionEffectParserRuleCall_6_1_2_0_1_0_4_0());
}
lv_effect_32_0=ruleTransitionEffect
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"effect",
lv_effect_32_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionEffect");
afterParserOrEnumRuleCall();
}
)
)?
)
|
(
(
{
newCompositeNode(grammarAccess.getTransitionAccess().getBehaviorTransitionBehaviorParserRuleCall_6_1_2_0_1_1_0());
}
lv_behavior_33_0=ruleTransitionBehavior
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
$current,
"behavior",
lv_behavior_33_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionBehavior");
afterParserOrEnumRuleCall();
}
)
)
)?
otherlv_34='}'
{
newLeafNode(otherlv_34, grammarAccess.getTransitionAccess().getRightCurlyBracketKeyword_6_1_2_0_2());
}
)
|
otherlv_35=';'
{
newLeafNode(otherlv_35, grammarAccess.getTransitionAccess().getSemicolonKeyword_6_1_2_1());
}
)
)
)
)
;
// Entry rule entryRuleTransitionMoe
entryRuleTransitionMoe returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionMoeRule()); }
iv_ruleTransitionMoe=ruleTransitionMoe
{ $current=$iv_ruleTransitionMoe.current; }
EOF;
// Rule TransitionMoe
ruleTransitionMoe returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='<'
{
newLeafNode(otherlv_0, grammarAccess.getTransitionMoeAccess().getLessThanSignKeyword_0());
}
(
(
(
otherlv_1='moc:'
{
newLeafNode(otherlv_1, grammarAccess.getTransitionMoeAccess().getMocKeyword_1_0_0());
}
)?
(
(
(
(
{
newCompositeNode(grammarAccess.getTransitionMoeAccess().getMocTransitionMocEnumRuleCall_1_0_1_0_0_0());
}
lv_moc_2_0=ruleTransitionMoc
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionMoeRule());
}
set(
$current,
"moc",
lv_moc_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionMoc");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_3='&'
{
newLeafNode(otherlv_3, grammarAccess.getTransitionMoeAccess().getAmpersandKeyword_1_0_1_0_1_0());
}
(
(
lv_isElse_4_0='else'
{
newLeafNode(lv_isElse_4_0, grammarAccess.getTransitionMoeAccess().getIsElseElseKeyword_1_0_1_0_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionMoeRule());
}
setWithLastConsumed($current, "isElse", true, "else");
}
)
)
)?
)
|
(
(
lv_isElse_5_0='else'
{
newLeafNode(lv_isElse_5_0, grammarAccess.getTransitionMoeAccess().getIsElseElseKeyword_1_0_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionMoeRule());
}
setWithLastConsumed($current, "isElse", true, "else");
}
)
)
)
(
otherlv_6=','
{
newLeafNode(otherlv_6, grammarAccess.getTransitionMoeAccess().getCommaKeyword_1_0_2_0());
}
(
otherlv_7='prior:'
{
newLeafNode(otherlv_7, grammarAccess.getTransitionMoeAccess().getPriorKeyword_1_0_2_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getTransitionMoeAccess().getPriorityEIntParserRuleCall_1_0_2_2_0());
}
lv_priority_8_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionMoeRule());
}
set(
$current,
"priority",
lv_priority_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)?
)
|
(
(
otherlv_9='prior:'
{
newLeafNode(otherlv_9, grammarAccess.getTransitionMoeAccess().getPriorKeyword_1_1_0());
}
)?
(
(
{
newCompositeNode(grammarAccess.getTransitionMoeAccess().getPriorityEIntParserRuleCall_1_1_1_0());
}
lv_priority_10_0=ruleEInt
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionMoeRule());
}
set(
$current,
"priority",
lv_priority_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInt");
afterParserOrEnumRuleCall();
}
)
)
)
)
otherlv_11='>'
{
newLeafNode(otherlv_11, grammarAccess.getTransitionMoeAccess().getGreaterThanSignKeyword_2());
}
)
;
// Entry rule entryRuleTransitionBehavior
entryRuleTransitionBehavior returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionBehaviorRule()); }
iv_ruleTransitionBehavior=ruleTransitionBehavior
{ $current=$iv_ruleTransitionBehavior.current; }
EOF;
// Rule TransitionBehavior
ruleTransitionBehavior returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getTransitionBehaviorAccess().getBlockStatementAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getTransitionBehaviorAccess().getOpBlockStatementSchedulerParserRuleCall_1_0());
}
lv_op_1_0=ruleBlockStatementScheduler
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionBehaviorRule());
}
set(
$current,
"op",
lv_op_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatementScheduler");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getTransitionBehaviorAccess().getStatementStatementParserRuleCall_2_0());
}
lv_statement_2_0=ruleStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionBehaviorRule());
}
add(
$current,
"statement",
lv_statement_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.Statement");
afterParserOrEnumRuleCall();
}
)
)*
)
;
// Entry rule entryRuleTransitionTrigger
entryRuleTransitionTrigger returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionTriggerRule()); }
iv_ruleTransitionTrigger=ruleTransitionTrigger
{ $current=$iv_ruleTransitionTrigger.current; }
EOF;
// Rule TransitionTrigger
ruleTransitionTrigger returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionTriggerAccess().getInputComStatementParserRuleCall());
}
this_InputComStatement_0=ruleInputComStatement
{
$current = $this_InputComStatement_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleTransitionGuard
entryRuleTransitionGuard returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionGuardRule()); }
iv_ruleTransitionGuard=ruleTransitionGuard
{ $current=$iv_ruleTransitionGuard.current; }
EOF;
// Rule TransitionGuard
ruleTransitionGuard returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getTransitionGuardAccess().getGuardStatementAction_0_0(),
$current);
}
)
otherlv_1='@guard<'
{
newLeafNode(otherlv_1, grammarAccess.getTransitionGuardAccess().getGuardKeyword_0_1());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionGuardAccess().getConditionTransitionGuardExpressionParserRuleCall_0_2_0());
}
lv_condition_2_0=ruleTransitionGuardExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionGuardRule());
}
set(
$current,
"condition",
lv_condition_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionGuardExpression");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_3='@guard:'
{
newLeafNode(otherlv_3, grammarAccess.getTransitionGuardAccess().getGuardKeyword_1_0());
}
(
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getTransitionGuardAccess().getGuardStatementAction_1_1_0_0(),
$current);
}
)
(
(
otherlv_5='['
{
newLeafNode(otherlv_5, grammarAccess.getTransitionGuardAccess().getLeftSquareBracketKeyword_1_1_0_1_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionGuardAccess().getConditionExpressionParserRuleCall_1_1_0_1_0_1_0());
}
lv_condition_6_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionGuardRule());
}
set(
$current,
"condition",
lv_condition_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=']'
{
newLeafNode(otherlv_7, grammarAccess.getTransitionGuardAccess().getRightSquareBracketKeyword_1_1_0_1_0_2());
}
)
|
(
(
{
newCompositeNode(grammarAccess.getTransitionGuardAccess().getConditionExpressionParserRuleCall_1_1_0_1_1_0());
}
lv_condition_8_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionGuardRule());
}
set(
$current,
"condition",
lv_condition_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)
)
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionGuardAccess().getGuardStatementParserRuleCall_1_1_1());
}
this_GuardStatement_9=ruleGuardStatement
{
$current = $this_GuardStatement_9.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionGuardAccess().getEventGuardStatementParserRuleCall_1_1_2());
}
this_EventGuardStatement_10=ruleEventGuardStatement
{
$current = $this_EventGuardStatement_10.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionGuardAccess().getCheckSatGuardStatementParserRuleCall_1_1_3());
}
this_CheckSatGuardStatement_11=ruleCheckSatGuardStatement
{
$current = $this_CheckSatGuardStatement_11.current;
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleTransitionGuardExpression
entryRuleTransitionGuardExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionGuardExpressionRule()); }
iv_ruleTransitionGuardExpression=ruleTransitionGuardExpression
{ $current=$iv_ruleTransitionGuardExpression.current; }
EOF;
// Rule TransitionGuardExpression
ruleTransitionGuardExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getTransitionGuardExpressionAccess().getLogicalAssociativeExpressionAction_0(),
$current);
}
)
(
(
(
lv_operator_1_1='&&'
{
newLeafNode(lv_operator_1_1, grammarAccess.getTransitionGuardExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionGuardExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_1_1, null);
}
|
lv_operator_1_2='and'
{
newLeafNode(lv_operator_1_2, grammarAccess.getTransitionGuardExpressionAccess().getOperatorAndKeyword_1_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionGuardExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_1_2, null);
}
|
lv_operator_1_3='||'
{
newLeafNode(lv_operator_1_3, grammarAccess.getTransitionGuardExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionGuardExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_1_3, null);
}
|
lv_operator_1_4='or'
{
newLeafNode(lv_operator_1_4, grammarAccess.getTransitionGuardExpressionAccess().getOperatorOrKeyword_1_0_3());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getTransitionGuardExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_1_4, null);
}
)
)
)
otherlv_2='>:'
{
newLeafNode(otherlv_2, grammarAccess.getTransitionGuardExpressionAccess().getGreaterThanSignColonKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionGuardExpressionAccess().getOperandBitwiseOrExpressionParserRuleCall_3_0());
}
lv_operand_3_0=ruleBitwiseOrExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionGuardExpressionRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.BitwiseOrExpression");
afterParserOrEnumRuleCall();
}
)
)+
)
;
// Entry rule entryRuleTransitionTimedGuard
entryRuleTransitionTimedGuard returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionTimedGuardRule()); }
iv_ruleTransitionTimedGuard=ruleTransitionTimedGuard
{ $current=$iv_ruleTransitionTimedGuard.current; }
EOF;
// Rule TransitionTimedGuard
ruleTransitionTimedGuard returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getTransitionTimedGuardAccess().getTimedGuardStatementAction_0_0(),
$current);
}
)
otherlv_1='@tguard<'
{
newLeafNode(otherlv_1, grammarAccess.getTransitionTimedGuardAccess().getTguardKeyword_0_1());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionTimedGuardAccess().getConditionTransitionGuardExpressionParserRuleCall_0_2_0());
}
lv_condition_2_0=ruleTransitionGuardExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionTimedGuardRule());
}
set(
$current,
"condition",
lv_condition_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionGuardExpression");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_3='@tguard:'
{
newLeafNode(otherlv_3, grammarAccess.getTransitionTimedGuardAccess().getTguardKeyword_1_0());
}
(
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getTransitionTimedGuardAccess().getTimedGuardStatementAction_1_1_0_0(),
$current);
}
)
(
(
otherlv_5='{'
{
newLeafNode(otherlv_5, grammarAccess.getTransitionTimedGuardAccess().getLeftCurlyBracketKeyword_1_1_0_1_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getTransitionTimedGuardAccess().getConditionExpressionParserRuleCall_1_1_0_1_0_1_0());
}
lv_condition_6_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionTimedGuardRule());
}
set(
$current,
"condition",
lv_condition_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7='}'
{
newLeafNode(otherlv_7, grammarAccess.getTransitionTimedGuardAccess().getRightCurlyBracketKeyword_1_1_0_1_0_2());
}
)
|
(
(
{
newCompositeNode(grammarAccess.getTransitionTimedGuardAccess().getConditionExpressionParserRuleCall_1_1_0_1_1_0());
}
lv_condition_8_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionTimedGuardRule());
}
set(
$current,
"condition",
lv_condition_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)
)
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionTimedGuardAccess().getTimedGuardStatementParserRuleCall_1_1_1());
}
this_TimedGuardStatement_9=ruleTimedGuardStatement
{
$current = $this_TimedGuardStatement_9.current;
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleTransitionEffect
entryRuleTransitionEffect returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionEffectRule()); }
iv_ruleTransitionEffect=ruleTransitionEffect
{ $current=$iv_ruleTransitionEffect.current; }
EOF;
// Rule TransitionEffect
ruleTransitionEffect returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectAccess().getTransitionEffectStatementParserRuleCall_0());
}
this_TransitionEffectStatement_0=ruleTransitionEffectStatement
{
$current = $this_TransitionEffectStatement_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getTransitionEffectAccess().getBlockStatementStatementAction_1_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getTransitionEffectAccess().getStatementTransitionEffectStatementParserRuleCall_1_1_0());
}
lv_statement_2_0=ruleTransitionEffectStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTransitionEffectRule());
}
add(
$current,
"statement",
lv_statement_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.TransitionEffectStatement");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleTransitionEffectStatement
entryRuleTransitionEffectStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTransitionEffectStatementRule()); }
iv_ruleTransitionEffectStatement=ruleTransitionEffectStatement
{ $current=$iv_ruleTransitionEffectStatement.current; }
EOF;
// Rule TransitionEffectStatement
ruleTransitionEffectStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getExpressionStatementParserRuleCall_0());
}
this_ExpressionStatement_0=ruleExpressionStatement
{
$current = $this_ExpressionStatement_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getOutputComStatementParserRuleCall_1());
}
this_OutputComStatement_1=ruleOutputComStatement
{
$current = $this_OutputComStatement_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getIfStatementParserRuleCall_2());
}
this_IfStatement_2=ruleIfStatement
{
$current = $this_IfStatement_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getWhileDoStatementParserRuleCall_3());
}
this_WhileDoStatement_3=ruleWhileDoStatement
{
$current = $this_WhileDoStatement_3.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getDoWhileStatementParserRuleCall_4());
}
this_DoWhileStatement_4=ruleDoWhileStatement
{
$current = $this_DoWhileStatement_4.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getForStatementParserRuleCall_5());
}
this_ForStatement_5=ruleForStatement
{
$current = $this_ForStatement_5.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getForEachStatementParserRuleCall_6());
}
this_ForEachStatement_6=ruleForEachStatement
{
$current = $this_ForEachStatement_6.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getInterruptStatementParserRuleCall_7());
}
this_InterruptStatement_7=ruleInterruptStatement
{
$current = $this_InterruptStatement_7.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getActivityStatementParserRuleCall_8());
}
this_ActivityStatement_8=ruleActivityStatement
{
$current = $this_ActivityStatement_8.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getTransitionEffectStatementAccess().getInvokeStatementParserRuleCall_9());
}
this_InvokeStatement_9=ruleInvokeStatement
{
$current = $this_InvokeStatement_9.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleStatement
entryRuleStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getStatementRule()); }
iv_ruleStatement=ruleStatement
{ $current=$iv_ruleStatement.current; }
EOF;
// Rule Statement
ruleStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_0());
}
this_BlockStatement_0=ruleBlockStatement
{
$current = $this_BlockStatement_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getExpressionStatementParserRuleCall_1());
}
this_ExpressionStatement_1=ruleExpressionStatement
{
$current = $this_ExpressionStatement_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getGuardStatementParserRuleCall_2());
}
this_GuardStatement_2=ruleGuardStatement
{
$current = $this_GuardStatement_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getTimedGuardStatementParserRuleCall_3());
}
this_TimedGuardStatement_3=ruleTimedGuardStatement
{
$current = $this_TimedGuardStatement_3.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getEventGuardStatementParserRuleCall_4());
}
this_EventGuardStatement_4=ruleEventGuardStatement
{
$current = $this_EventGuardStatement_4.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getCheckSatGuardStatementParserRuleCall_5());
}
this_CheckSatGuardStatement_5=ruleCheckSatGuardStatement
{
$current = $this_CheckSatGuardStatement_5.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getInputComStatementParserRuleCall_6());
}
this_InputComStatement_6=ruleInputComStatement
{
$current = $this_InputComStatement_6.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getOutputComStatementParserRuleCall_7());
}
this_OutputComStatement_7=ruleOutputComStatement
{
$current = $this_OutputComStatement_7.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getIfStatementParserRuleCall_8());
}
this_IfStatement_8=ruleIfStatement
{
$current = $this_IfStatement_8.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getWhileDoStatementParserRuleCall_9());
}
this_WhileDoStatement_9=ruleWhileDoStatement
{
$current = $this_WhileDoStatement_9.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getDoWhileStatementParserRuleCall_10());
}
this_DoWhileStatement_10=ruleDoWhileStatement
{
$current = $this_DoWhileStatement_10.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getForStatementParserRuleCall_11());
}
this_ForStatement_11=ruleForStatement
{
$current = $this_ForStatement_11.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getForEachStatementParserRuleCall_12());
}
this_ForEachStatement_12=ruleForEachStatement
{
$current = $this_ForEachStatement_12.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getInterruptStatementParserRuleCall_13());
}
this_InterruptStatement_13=ruleInterruptStatement
{
$current = $this_InterruptStatement_13.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getActivityStatementParserRuleCall_14());
}
this_ActivityStatement_14=ruleActivityStatement
{
$current = $this_ActivityStatement_14.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getInvokeStatementParserRuleCall_15());
}
this_InvokeStatement_15=ruleInvokeStatement
{
$current = $this_InvokeStatement_15.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getStatementAccess().getMetaStatementParserRuleCall_16());
}
this_MetaStatement_16=ruleMetaStatement
{
$current = $this_MetaStatement_16.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleBlockStatement
entryRuleBlockStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBlockStatementRule()); }
iv_ruleBlockStatement=ruleBlockStatement
{ $current=$iv_ruleBlockStatement.current; }
EOF;
// Rule BlockStatement
ruleBlockStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getBlockStatementAccess().getBlockStatementAction_0(),
$current);
}
)
otherlv_1='{'
{
newLeafNode(otherlv_1, grammarAccess.getBlockStatementAccess().getLeftCurlyBracketKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getBlockStatementAccess().getOpBlockStatementSchedulerParserRuleCall_2_0());
}
lv_op_2_0=ruleBlockStatementScheduler
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBlockStatementRule());
}
set(
$current,
"op",
lv_op_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatementScheduler");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getBlockStatementAccess().getStatementStatementParserRuleCall_3_0());
}
lv_statement_3_0=ruleStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBlockStatementRule());
}
add(
$current,
"statement",
lv_statement_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Statement");
afterParserOrEnumRuleCall();
}
)
)*
otherlv_4='}'
{
newLeafNode(otherlv_4, grammarAccess.getBlockStatementAccess().getRightCurlyBracketKeyword_4());
}
)
;
// Entry rule entryRuleBlockStatementScheduler
entryRuleBlockStatementScheduler returns [String current=null]:
{ newCompositeNode(grammarAccess.getBlockStatementSchedulerRule()); }
iv_ruleBlockStatementScheduler=ruleBlockStatementScheduler
{ $current=$iv_ruleBlockStatementScheduler.current.getText(); }
EOF;
// Rule BlockStatementScheduler
ruleBlockStatementScheduler returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='|;|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getVerticalLineSemicolonVerticalLineKeyword_0());
}
|
kw='|\u00A7|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getVerticalLineSectionSignVerticalLineKeyword_1());
}
|
kw='|;;|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getVerticalLineSemicolonSemicolonVerticalLineKeyword_2());
}
|
kw='|.|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getVerticalLineFullStopVerticalLineKeyword_3());
}
|
kw='|/;|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getVerticalLineSolidusSemicolonVerticalLineKeyword_4());
}
|
kw='|i|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getIKeyword_5());
}
|
kw='|interleaving|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getInterleavingKeyword_6());
}
|
kw='|~|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getVerticalLineTildeVerticalLineKeyword_7());
}
|
kw='|partial-order|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getPartialOrderKeyword_8());
}
|
kw='|,|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getVerticalLineCommaVerticalLineKeyword_9());
}
|
kw='|parallel|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getParallelKeyword_10());
}
|
kw='|a|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getAKeyword_11());
}
|
kw='|async|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getAsyncKeyword_12());
}
|
kw='|partial-order|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getPartialOrderKeyword_13());
}
|
kw='|and|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getAndKeyword_14());
}
|
kw='|or|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getOrKeyword_15());
}
|
kw='|and#then|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getAndThenKeyword_16());
}
|
kw='|or#else|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getOrElseKeyword_17());
}
|
kw='|indet|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getIndetKeyword_18());
}
|
kw='|/\\|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getVerticalLineSolidusReverseSolidusVerticalLineKeyword_19());
}
|
kw='|fork|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getForkKeyword_20());
}
|
kw='|join|'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getBlockStatementSchedulerAccess().getJoinKeyword_21());
}
)
;
// Entry rule entryRuleExpressionStatement
entryRuleExpressionStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getExpressionStatementRule()); }
iv_ruleExpressionStatement=ruleExpressionStatement
{ $current=$iv_ruleExpressionStatement.current; }
EOF;
// Rule ExpressionStatement
ruleExpressionStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
{
newCompositeNode(grammarAccess.getExpressionStatementAccess().getExpressionAssignmentExpressionParserRuleCall_0_0_0());
}
lv_expression_0_0=ruleAssignmentExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getExpressionStatementRule());
}
set(
$current,
"expression",
lv_expression_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.AssignmentExpression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_1=';'
{
newLeafNode(otherlv_1, grammarAccess.getExpressionStatementAccess().getSemicolonKeyword_0_1());
}
)
|
(
(
(
{
newCompositeNode(grammarAccess.getExpressionStatementAccess().getExpressionNewfreshExpressionParserRuleCall_1_0_0());
}
lv_expression_2_0=ruleNewfreshExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getExpressionStatementRule());
}
set(
$current,
"expression",
lv_expression_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.NewfreshExpression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=';'
{
newLeafNode(otherlv_3, grammarAccess.getExpressionStatementAccess().getSemicolonKeyword_1_1());
}
)
|
(
(
(
{
newCompositeNode(grammarAccess.getExpressionStatementAccess().getExpressionIncrementOrDecrementPrefixExpressionParserRuleCall_2_0_0());
}
lv_expression_4_0=ruleIncrementOrDecrementPrefixExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getExpressionStatementRule());
}
set(
$current,
"expression",
lv_expression_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.IncrementOrDecrementPrefixExpression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=';'
{
newLeafNode(otherlv_5, grammarAccess.getExpressionStatementAccess().getSemicolonKeyword_2_1());
}
)
|
(
(
(
{
newCompositeNode(grammarAccess.getExpressionStatementAccess().getExpressionIncrementOrDecrementPostfixExpressionParserRuleCall_3_0_0());
}
lv_expression_6_0=ruleIncrementOrDecrementPostfixExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getExpressionStatementRule());
}
set(
$current,
"expression",
lv_expression_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.IncrementOrDecrementPostfixExpression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=';'
{
newLeafNode(otherlv_7, grammarAccess.getExpressionStatementAccess().getSemicolonKeyword_3_1());
}
)
)
;
// Entry rule entryRuleGuardStatement
entryRuleGuardStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getGuardStatementRule()); }
iv_ruleGuardStatement=ruleGuardStatement
{ $current=$iv_ruleGuardStatement.current; }
EOF;
// Rule GuardStatement
ruleGuardStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='guard'
{
newLeafNode(otherlv_0, grammarAccess.getGuardStatementAccess().getGuardKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getGuardStatementAccess().getConditionExpressionParserRuleCall_1_0());
}
lv_condition_1_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getGuardStatementRule());
}
set(
$current,
"condition",
lv_condition_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2=';'
{
newLeafNode(otherlv_2, grammarAccess.getGuardStatementAccess().getSemicolonKeyword_2());
}
)
;
// Entry rule entryRuleTimedGuardStatement
entryRuleTimedGuardStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTimedGuardStatementRule()); }
iv_ruleTimedGuardStatement=ruleTimedGuardStatement
{ $current=$iv_ruleTimedGuardStatement.current; }
EOF;
// Rule TimedGuardStatement
ruleTimedGuardStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='tguard'
{
newLeafNode(otherlv_0, grammarAccess.getTimedGuardStatementAccess().getTguardKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getTimedGuardStatementAccess().getConditionExpressionParserRuleCall_1_0());
}
lv_condition_1_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTimedGuardStatementRule());
}
set(
$current,
"condition",
lv_condition_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2=';'
{
newLeafNode(otherlv_2, grammarAccess.getTimedGuardStatementAccess().getSemicolonKeyword_2());
}
)
;
// Entry rule entryRuleEventGuardStatement
entryRuleEventGuardStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getEventGuardStatementRule()); }
iv_ruleEventGuardStatement=ruleEventGuardStatement
{ $current=$iv_ruleEventGuardStatement.current; }
EOF;
// Rule EventGuardStatement
ruleEventGuardStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='event'
{
newLeafNode(otherlv_0, grammarAccess.getEventGuardStatementAccess().getEventKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getEventGuardStatementAccess().getConditionExpressionParserRuleCall_1_0());
}
lv_condition_1_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEventGuardStatementRule());
}
set(
$current,
"condition",
lv_condition_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2=';'
{
newLeafNode(otherlv_2, grammarAccess.getEventGuardStatementAccess().getSemicolonKeyword_2());
}
)
;
// Entry rule entryRuleCheckSatGuardStatement
entryRuleCheckSatGuardStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getCheckSatGuardStatementRule()); }
iv_ruleCheckSatGuardStatement=ruleCheckSatGuardStatement
{ $current=$iv_ruleCheckSatGuardStatement.current; }
EOF;
// Rule CheckSatGuardStatement
ruleCheckSatGuardStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='checksat'
{
newLeafNode(otherlv_0, grammarAccess.getCheckSatGuardStatementAccess().getChecksatKeyword_0());
}
otherlv_1='<'
{
newLeafNode(otherlv_1, grammarAccess.getCheckSatGuardStatementAccess().getLessThanSignKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getCheckSatGuardStatementAccess().getSolverESIdentifierParserRuleCall_2_0());
}
lv_solver_2_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCheckSatGuardStatementRule());
}
set(
$current,
"solver",
lv_solver_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3='>'
{
newLeafNode(otherlv_3, grammarAccess.getCheckSatGuardStatementAccess().getGreaterThanSignKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getCheckSatGuardStatementAccess().getConditionExpressionParserRuleCall_4_0());
}
lv_condition_4_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCheckSatGuardStatementRule());
}
set(
$current,
"condition",
lv_condition_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=';'
{
newLeafNode(otherlv_5, grammarAccess.getCheckSatGuardStatementAccess().getSemicolonKeyword_5());
}
)
;
// Entry rule entryRuleInputComStatement
entryRuleInputComStatement returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getInputComStatementAccess().getUnorderedGroup_3()
);
}:
{ newCompositeNode(grammarAccess.getInputComStatementRule()); }
iv_ruleInputComStatement=ruleInputComStatement
{ $current=$iv_ruleInputComStatement.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule InputComStatement
ruleInputComStatement returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getInputComStatementAccess().getUnorderedGroup_3()
);
}
@after {
leaveRule();
}:
(
otherlv_0='input'
{
newLeafNode(otherlv_0, grammarAccess.getInputComStatementAccess().getInputKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getInputComStatementAccess().getPortLitteralComElementParserRuleCall_1_0());
}
lv_port_1_0=ruleLitteralComElement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInputComStatementRule());
}
set(
$current,
"port",
lv_port_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.LitteralComElement");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getInputComStatementAccess().getLeftParenthesisKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getInputComStatementAccess().getLeftValueExpressionParserRuleCall_2_1_0());
}
lv_leftValue_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInputComStatementRule());
}
add(
$current,
"leftValue",
lv_leftValue_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getInputComStatementAccess().getCommaKeyword_2_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getInputComStatementAccess().getLeftValueExpressionParserRuleCall_2_2_1_0());
}
lv_leftValue_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInputComStatementRule());
}
add(
$current,
"leftValue",
lv_leftValue_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_6=')'
{
newLeafNode(otherlv_6, grammarAccess.getInputComStatementAccess().getRightParenthesisKeyword_2_3());
}
)?
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getInputComStatementAccess().getUnorderedGroup_3());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getInputComStatementAccess().getUnorderedGroup_3(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getInputComStatementAccess().getUnorderedGroup_3(), 0);
}
({true}?=>(otherlv_8='<--'
{
newLeafNode(otherlv_8, grammarAccess.getInputComStatementAccess().getLessThanSignHyphenMinusHyphenMinusKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getInputComStatementAccess().getTargetLiteralPureReferenceExpressionParserRuleCall_3_0_1_0());
}
lv_target_9_0=ruleLiteralPureReferenceExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInputComStatementRule());
}
set(
$current,
"target",
lv_target_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralPureReferenceExpression");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getInputComStatementAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getInputComStatementAccess().getUnorderedGroup_3(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getInputComStatementAccess().getUnorderedGroup_3(), 1);
}
({true}?=>((
otherlv_10='<=='
{
newLeafNode(otherlv_10, grammarAccess.getInputComStatementAccess().getLessThanSignEqualsSignEqualsSignKeyword_3_1_0_0());
}
|
otherlv_11='via'
{
newLeafNode(otherlv_11, grammarAccess.getInputComStatementAccess().getViaKeyword_3_1_0_1());
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInputComStatementRule());
}
}
{
newCompositeNode(grammarAccess.getInputComStatementAccess().getRouteChannelCrossReference_3_1_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getInputComStatementAccess().getUnorderedGroup_3());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getInputComStatementAccess().getUnorderedGroup_3());
}
)
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getInputComStatementAccess().getSemicolonKeyword_4());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleOutputComStatement
entryRuleOutputComStatement returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3()
);
}:
{ newCompositeNode(grammarAccess.getOutputComStatementRule()); }
iv_ruleOutputComStatement=ruleOutputComStatement
{ $current=$iv_ruleOutputComStatement.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule OutputComStatement
ruleOutputComStatement returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3()
);
}
@after {
leaveRule();
}:
(
otherlv_0='output'
{
newLeafNode(otherlv_0, grammarAccess.getOutputComStatementAccess().getOutputKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getOutputComStatementAccess().getPortLitteralComElementParserRuleCall_1_0());
}
lv_port_1_0=ruleLitteralComElement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOutputComStatementRule());
}
set(
$current,
"port",
lv_port_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.LitteralComElement");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getOutputComStatementAccess().getLeftParenthesisKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getOutputComStatementAccess().getRightValueExpressionParserRuleCall_2_1_0());
}
lv_rightValue_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOutputComStatementRule());
}
add(
$current,
"rightValue",
lv_rightValue_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getOutputComStatementAccess().getCommaKeyword_2_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getOutputComStatementAccess().getRightValueExpressionParserRuleCall_2_2_1_0());
}
lv_rightValue_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOutputComStatementRule());
}
add(
$current,
"rightValue",
lv_rightValue_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_6=')'
{
newLeafNode(otherlv_6, grammarAccess.getOutputComStatementAccess().getRightParenthesisKeyword_2_3());
}
)?
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3(), 0);
}
({true}?=>(otherlv_8='-->'
{
newLeafNode(otherlv_8, grammarAccess.getOutputComStatementAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getOutputComStatementAccess().getTargetLiteralPureReferenceExpressionParserRuleCall_3_0_1_0());
}
lv_target_9_0=ruleLiteralPureReferenceExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOutputComStatementRule());
}
set(
$current,
"target",
lv_target_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralPureReferenceExpression");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3(), 1);
}
({true}?=>((
otherlv_10='==>'
{
newLeafNode(otherlv_10, grammarAccess.getOutputComStatementAccess().getEqualsSignEqualsSignGreaterThanSignKeyword_3_1_0_0());
}
|
otherlv_11='via'
{
newLeafNode(otherlv_11, grammarAccess.getOutputComStatementAccess().getViaKeyword_3_1_0_1());
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getOutputComStatementRule());
}
}
{
newCompositeNode(grammarAccess.getOutputComStatementAccess().getRouteChannelCrossReference_3_1_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getOutputComStatementAccess().getUnorderedGroup_3());
}
)
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getOutputComStatementAccess().getSemicolonKeyword_4());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleLitteralComElement
entryRuleLitteralComElement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLitteralComElementRule()); }
iv_ruleLitteralComElement=ruleLitteralComElement
{ $current=$iv_ruleLitteralComElement.current; }
EOF;
// Rule LitteralComElement
ruleLitteralComElement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLitteralComElementRule());
}
}
{
newCompositeNode(grammarAccess.getLitteralComElementAccess().getElementNamedElementCrossReference_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
;
// Entry rule entryRuleIfStatement
entryRuleIfStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getIfStatementRule()); }
iv_ruleIfStatement=ruleIfStatement
{ $current=$iv_ruleIfStatement.current; }
EOF;
// Rule IfStatement
ruleIfStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='if'
{
newLeafNode(otherlv_0, grammarAccess.getIfStatementAccess().getIfKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getIfStatementAccess().getConditionExpressionParserRuleCall_1_0());
}
lv_condition_1_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIfStatementRule());
}
set(
$current,
"condition",
lv_condition_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getIfStatementAccess().getBodyBlockBlockStatementParserRuleCall_2_0());
}
lv_bodyBlock_2_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIfStatementRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getIfStatementAccess().getElseifStatementElseIfStatementParserRuleCall_3_0());
}
lv_elseifStatement_3_0=ruleElseIfStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIfStatementRule());
}
add(
$current,
"elseifStatement",
lv_elseifStatement_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ElseIfStatement");
afterParserOrEnumRuleCall();
}
)
)*
(
otherlv_4='else'
{
newLeafNode(otherlv_4, grammarAccess.getIfStatementAccess().getElseKeyword_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getIfStatementAccess().getElseBlockBlockStatementParserRuleCall_4_1_0());
}
lv_elseBlock_5_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIfStatementRule());
}
set(
$current,
"elseBlock",
lv_elseBlock_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)?
)
;
// Entry rule entryRuleElseIfStatement
entryRuleElseIfStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getElseIfStatementRule()); }
iv_ruleElseIfStatement=ruleElseIfStatement
{ $current=$iv_ruleElseIfStatement.current; }
EOF;
// Rule ElseIfStatement
ruleElseIfStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
otherlv_0='elseif'
{
newLeafNode(otherlv_0, grammarAccess.getElseIfStatementAccess().getElseifKeyword_0_0());
}
|
(
otherlv_1='else'
{
newLeafNode(otherlv_1, grammarAccess.getElseIfStatementAccess().getElseKeyword_0_1_0());
}
otherlv_2='if'
{
newLeafNode(otherlv_2, grammarAccess.getElseIfStatementAccess().getIfKeyword_0_1_1());
}
)
)
(
(
{
newCompositeNode(grammarAccess.getElseIfStatementAccess().getConditionExpressionParserRuleCall_1_0());
}
lv_condition_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getElseIfStatementRule());
}
set(
$current,
"condition",
lv_condition_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getElseIfStatementAccess().getBodyBlockBlockStatementParserRuleCall_2_0());
}
lv_bodyBlock_4_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getElseIfStatementRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleWhileDoStatement
entryRuleWhileDoStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getWhileDoStatementRule()); }
iv_ruleWhileDoStatement=ruleWhileDoStatement
{ $current=$iv_ruleWhileDoStatement.current; }
EOF;
// Rule WhileDoStatement
ruleWhileDoStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='while'
{
newLeafNode(otherlv_0, grammarAccess.getWhileDoStatementAccess().getWhileKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getWhileDoStatementAccess().getConditionExpressionParserRuleCall_1_0());
}
lv_condition_1_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getWhileDoStatementRule());
}
set(
$current,
"condition",
lv_condition_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getWhileDoStatementAccess().getBodyBlockBlockStatementParserRuleCall_2_0());
}
lv_bodyBlock_2_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getWhileDoStatementRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleDoWhileStatement
entryRuleDoWhileStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDoWhileStatementRule()); }
iv_ruleDoWhileStatement=ruleDoWhileStatement
{ $current=$iv_ruleDoWhileStatement.current; }
EOF;
// Rule DoWhileStatement
ruleDoWhileStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='do'
{
newLeafNode(otherlv_0, grammarAccess.getDoWhileStatementAccess().getDoKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getDoWhileStatementAccess().getBodyBlockBlockStatementParserRuleCall_1_0());
}
lv_bodyBlock_1_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDoWhileStatementRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2='while'
{
newLeafNode(otherlv_2, grammarAccess.getDoWhileStatementAccess().getWhileKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getDoWhileStatementAccess().getConditionExpressionParserRuleCall_3_0());
}
lv_condition_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDoWhileStatementRule());
}
set(
$current,
"condition",
lv_condition_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4=';'
{
newLeafNode(otherlv_4, grammarAccess.getDoWhileStatementAccess().getSemicolonKeyword_4());
}
)
;
// Entry rule entryRuleForStatement
entryRuleForStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getForStatementRule()); }
iv_ruleForStatement=ruleForStatement
{ $current=$iv_ruleForStatement.current; }
EOF;
// Rule ForStatement
ruleForStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
otherlv_0='for'
{
newLeafNode(otherlv_0, grammarAccess.getForStatementAccess().getForKeyword_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getForStatementAccess().getInitForAssignmentExpressionParserRuleCall_0_1_0());
}
lv_init_1_0=ruleForAssignmentExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForStatementRule());
}
set(
$current,
"init",
lv_init_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ForAssignmentExpression");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_2=';'
{
newLeafNode(otherlv_2, grammarAccess.getForStatementAccess().getSemicolonKeyword_0_2());
}
(
(
{
newCompositeNode(grammarAccess.getForStatementAccess().getConditionExpressionParserRuleCall_0_3_0());
}
lv_condition_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForStatementRule());
}
set(
$current,
"condition",
lv_condition_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4=';'
{
newLeafNode(otherlv_4, grammarAccess.getForStatementAccess().getSemicolonKeyword_0_4());
}
(
(
{
newCompositeNode(grammarAccess.getForStatementAccess().getIterateForAssignmentExpressionParserRuleCall_0_5_0());
}
lv_iterate_5_0=ruleForAssignmentExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForStatementRule());
}
set(
$current,
"iterate",
lv_iterate_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.ForAssignmentExpression");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
newCompositeNode(grammarAccess.getForStatementAccess().getBodyBlockBlockStatementParserRuleCall_0_6_0());
}
lv_bodyBlock_6_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForStatementRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_7='for'
{
newLeafNode(otherlv_7, grammarAccess.getForStatementAccess().getForKeyword_1_0());
}
otherlv_8='('
{
newLeafNode(otherlv_8, grammarAccess.getForStatementAccess().getLeftParenthesisKeyword_1_1());
}
(
(
{
newCompositeNode(grammarAccess.getForStatementAccess().getInitForAssignmentExpressionParserRuleCall_1_2_0());
}
lv_init_9_0=ruleForAssignmentExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForStatementRule());
}
set(
$current,
"init",
lv_init_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.ForAssignmentExpression");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_10=';'
{
newLeafNode(otherlv_10, grammarAccess.getForStatementAccess().getSemicolonKeyword_1_3());
}
(
(
{
newCompositeNode(grammarAccess.getForStatementAccess().getConditionExpressionParserRuleCall_1_4_0());
}
lv_condition_11_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForStatementRule());
}
set(
$current,
"condition",
lv_condition_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_12=';'
{
newLeafNode(otherlv_12, grammarAccess.getForStatementAccess().getSemicolonKeyword_1_5());
}
(
(
{
newCompositeNode(grammarAccess.getForStatementAccess().getIterateForAssignmentExpressionParserRuleCall_1_6_0());
}
lv_iterate_13_0=ruleForAssignmentExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForStatementRule());
}
set(
$current,
"iterate",
lv_iterate_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.ForAssignmentExpression");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_14=')'
{
newLeafNode(otherlv_14, grammarAccess.getForStatementAccess().getRightParenthesisKeyword_1_7());
}
(
(
{
newCompositeNode(grammarAccess.getForStatementAccess().getBodyBlockBlockStatementParserRuleCall_1_8_0());
}
lv_bodyBlock_15_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForStatementRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
)
;
// Entry rule entryRuleForAssignmentExpression
entryRuleForAssignmentExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getForAssignmentExpressionRule()); }
iv_ruleForAssignmentExpression=ruleForAssignmentExpression
{ $current=$iv_ruleForAssignmentExpression.current; }
EOF;
// Rule ForAssignmentExpression
ruleForAssignmentExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getForAssignmentExpressionAccess().getAssignmentExpressionParserRuleCall_0());
}
this_AssignmentExpression_0=ruleAssignmentExpression
{
$current = $this_AssignmentExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getForAssignmentExpressionAccess().getIncrementOrDecrementPrefixExpressionParserRuleCall_1());
}
this_IncrementOrDecrementPrefixExpression_1=ruleIncrementOrDecrementPrefixExpression
{
$current = $this_IncrementOrDecrementPrefixExpression_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getForAssignmentExpressionAccess().getIncrementOrDecrementPostfixExpressionParserRuleCall_2());
}
this_IncrementOrDecrementPostfixExpression_2=ruleIncrementOrDecrementPostfixExpression
{
$current = $this_IncrementOrDecrementPostfixExpression_2.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleForEachStatement
entryRuleForEachStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getForEachStatementRule()); }
iv_ruleForEachStatement=ruleForEachStatement
{ $current=$iv_ruleForEachStatement.current; }
EOF;
// Rule ForEachStatement
ruleForEachStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
otherlv_0='for'
{
newLeafNode(otherlv_0, grammarAccess.getForEachStatementAccess().getForKeyword_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getForEachStatementAccess().getIteratorLeftHandSideExpressionParserRuleCall_0_1_0());
}
lv_iterator_1_0=ruleLeftHandSideExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForEachStatementRule());
}
set(
$current,
"iterator",
lv_iterator_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.LeftHandSideExpression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2=':'
{
newLeafNode(otherlv_2, grammarAccess.getForEachStatementAccess().getColonKeyword_0_2());
}
(
(
{
newCompositeNode(grammarAccess.getForEachStatementAccess().getEnumerationExpressionParserRuleCall_0_3_0());
}
lv_enumeration_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForEachStatementRule());
}
set(
$current,
"enumeration",
lv_enumeration_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getForEachStatementAccess().getBodyBlockBlockStatementParserRuleCall_0_4_0());
}
lv_bodyBlock_4_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForEachStatementRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_5='for'
{
newLeafNode(otherlv_5, grammarAccess.getForEachStatementAccess().getForKeyword_1_0());
}
otherlv_6='('
{
newLeafNode(otherlv_6, grammarAccess.getForEachStatementAccess().getLeftParenthesisKeyword_1_1());
}
(
(
{
newCompositeNode(grammarAccess.getForEachStatementAccess().getIteratorLeftHandSideExpressionParserRuleCall_1_2_0());
}
lv_iterator_7_0=ruleLeftHandSideExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForEachStatementRule());
}
set(
$current,
"iterator",
lv_iterator_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.LeftHandSideExpression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8=':'
{
newLeafNode(otherlv_8, grammarAccess.getForEachStatementAccess().getColonKeyword_1_3());
}
(
(
{
newCompositeNode(grammarAccess.getForEachStatementAccess().getEnumerationExpressionParserRuleCall_1_4_0());
}
lv_enumeration_9_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForEachStatementRule());
}
set(
$current,
"enumeration",
lv_enumeration_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_10=')'
{
newLeafNode(otherlv_10, grammarAccess.getForEachStatementAccess().getRightParenthesisKeyword_1_5());
}
(
(
{
newCompositeNode(grammarAccess.getForEachStatementAccess().getBodyBlockBlockStatementParserRuleCall_1_6_0());
}
lv_bodyBlock_11_0=ruleBlockStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getForEachStatementRule());
}
set(
$current,
"bodyBlock",
lv_bodyBlock_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.BlockStatement");
afterParserOrEnumRuleCall();
}
)
)
)
)
;
// Entry rule entryRuleInterruptStatement
entryRuleInterruptStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getInterruptStatementRule()); }
iv_ruleInterruptStatement=ruleInterruptStatement
{ $current=$iv_ruleInterruptStatement.current; }
EOF;
// Rule InterruptStatement
ruleInterruptStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getInterruptStatementAccess().getKindInterruptStatementKindEnumRuleCall_0_0());
}
lv_kind_0_0=ruleInterruptStatementKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInterruptStatementRule());
}
set(
$current,
"kind",
lv_kind_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.InterruptStatementKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
(
{
newCompositeNode(grammarAccess.getInterruptStatementAccess().getExprExpressionParserRuleCall_1_0_0());
}
lv_expr_1_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInterruptStatementRule());
}
add(
$current,
"expr",
lv_expr_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getInterruptStatementAccess().getLeftParenthesisKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getInterruptStatementAccess().getExprExpressionParserRuleCall_1_1_1_0());
}
lv_expr_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInterruptStatementRule());
}
add(
$current,
"expr",
lv_expr_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getInterruptStatementAccess().getCommaKeyword_1_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getInterruptStatementAccess().getExprExpressionParserRuleCall_1_1_2_1_0());
}
lv_expr_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInterruptStatementRule());
}
add(
$current,
"expr",
lv_expr_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_6=')'
{
newLeafNode(otherlv_6, grammarAccess.getInterruptStatementAccess().getRightParenthesisKeyword_1_1_3());
}
)
)?
otherlv_7=';'
{
newLeafNode(otherlv_7, grammarAccess.getInterruptStatementAccess().getSemicolonKeyword_2());
}
)
;
// Entry rule entryRuleActivityStatement
entryRuleActivityStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getActivityStatementRule()); }
iv_ruleActivityStatement=ruleActivityStatement
{ $current=$iv_ruleActivityStatement.current; }
EOF;
// Rule ActivityStatement
ruleActivityStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getActivityStatementAccess().getActivityStatementAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getActivityStatementAccess().getOpOPERATOR_ACTIVITYEnumRuleCall_1_0());
}
lv_op_1_0=ruleOPERATOR_ACTIVITY
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getActivityStatementRule());
}
set(
$current,
"op",
lv_op_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.OPERATOR_ACTIVITY");
afterParserOrEnumRuleCall();
}
)
)
(
(
(
(
{
newCompositeNode(grammarAccess.getActivityStatementAccess().getMachineValuePureNamedMachineExpressionParserRuleCall_2_0_0_0());
}
lv_machine_2_0=ruleValuePureNamedMachineExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getActivityStatementRule());
}
set(
$current,
"machine",
lv_machine_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValuePureNamedMachineExpression");
afterParserOrEnumRuleCall();
}
)
)
(
(
(
(
{
newCompositeNode(grammarAccess.getActivityStatementAccess().getTupleTupleParameterExpressionParserRuleCall_2_0_1_0_0_0());
}
lv_tuple_3_0=ruleTupleParameterExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getActivityStatementRule());
}
set(
$current,
"tuple",
lv_tuple_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.TupleParameterExpression");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_4=';'
{
newLeafNode(otherlv_4, grammarAccess.getActivityStatementAccess().getSemicolonKeyword_2_0_1_0_1());
}
)
|
(
otherlv_5='{'
{
newLeafNode(otherlv_5, grammarAccess.getActivityStatementAccess().getLeftCurlyBracketKeyword_2_0_1_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getActivityStatementAccess().getSlotSlotPropertyParserRuleCall_2_0_1_1_1_0_0());
}
lv_slot_6_0=ruleSlotProperty
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getActivityStatementRule());
}
add(
$current,
"slot",
lv_slot_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.SlotProperty");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=';'
{
newLeafNode(otherlv_7, grammarAccess.getActivityStatementAccess().getSemicolonKeyword_2_0_1_1_1_1());
}
)*
otherlv_8='}'
{
newLeafNode(otherlv_8, grammarAccess.getActivityStatementAccess().getRightCurlyBracketKeyword_2_0_1_1_2());
}
)
)
)
|
otherlv_9=';'
{
newLeafNode(otherlv_9, grammarAccess.getActivityStatementAccess().getSemicolonKeyword_2_1());
}
)?
)
;
// Entry rule entryRuleInvokeStatement
entryRuleInvokeStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getInvokeStatementRule()); }
iv_ruleInvokeStatement=ruleInvokeStatement
{ $current=$iv_ruleInvokeStatement.current; }
EOF;
// Rule InvokeStatement
ruleInvokeStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
{
newCompositeNode(grammarAccess.getInvokeStatementAccess().getExpressionInvokeExpressionDeprecatedParserRuleCall_0_0_0());
}
lv_expression_0_0=ruleInvokeExpressionDeprecated
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInvokeStatementRule());
}
set(
$current,
"expression",
lv_expression_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.InvokeExpressionDeprecated");
afterParserOrEnumRuleCall();
}
)
)
otherlv_1=';'
{
newLeafNode(otherlv_1, grammarAccess.getInvokeStatementAccess().getSemicolonKeyword_0_1());
}
)
|
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
{
newCompositeNode(grammarAccess.getInvokeStatementAccess().getInvokableNamedElementCrossReference_1_0_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
(
(
lv_execRoutine_3_0='('
{
newLeafNode(lv_execRoutine_3_0, grammarAccess.getInvokeStatementAccess().getExecRoutineLeftParenthesisKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
setWithLastConsumed($current, "execRoutine", true, "(");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getInvokeStatementAccess().getArgsMixTupleExpressionListParserRuleCall_1_2_0());
}
lv_args_4_0=ruleMixTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInvokeStatementRule());
}
set(
$current,
"args",
lv_args_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.MixTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getInvokeStatementAccess().getRightParenthesisKeyword_1_3());
}
(
otherlv_6='-->'
{
newLeafNode(otherlv_6, grammarAccess.getInvokeStatementAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_1_4_0());
}
(
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_7=RULE_ID
{
newLeafNode(otherlv_7, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_1_4_1_0_0_0());
}
)
)
(
otherlv_8=','
{
newLeafNode(otherlv_8, grammarAccess.getInvokeStatementAccess().getCommaKeyword_1_4_1_0_1_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_9=RULE_ID
{
newLeafNode(otherlv_9, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_1_4_1_0_1_1_0());
}
)
)
)*
)
|
(
otherlv_10='('
{
newLeafNode(otherlv_10, grammarAccess.getInvokeStatementAccess().getLeftParenthesisKeyword_1_4_1_1_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_11=RULE_ID
{
newLeafNode(otherlv_11, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_1_4_1_1_1_0());
}
)
)
(
otherlv_12=','
{
newLeafNode(otherlv_12, grammarAccess.getInvokeStatementAccess().getCommaKeyword_1_4_1_1_2_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_13=RULE_ID
{
newLeafNode(otherlv_13, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_1_4_1_1_2_1_0());
}
)
)
)*
otherlv_14=')'
{
newLeafNode(otherlv_14, grammarAccess.getInvokeStatementAccess().getRightParenthesisKeyword_1_4_1_1_3());
}
)
)
)?
otherlv_15=';'
{
newLeafNode(otherlv_15, grammarAccess.getInvokeStatementAccess().getSemicolonKeyword_1_5());
}
)
|
(
(
(
lv_execRoutine_16_0='exec'
{
newLeafNode(lv_execRoutine_16_0, grammarAccess.getInvokeStatementAccess().getExecRoutineExecKeyword_2_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
setWithLastConsumed($current, "execRoutine", true, "exec");
}
)
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
{
newCompositeNode(grammarAccess.getInvokeStatementAccess().getInvokableNamedElementCrossReference_2_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_18='('
{
newLeafNode(otherlv_18, grammarAccess.getInvokeStatementAccess().getLeftParenthesisKeyword_2_2());
}
(
(
{
newCompositeNode(grammarAccess.getInvokeStatementAccess().getArgsMixTupleExpressionListParserRuleCall_2_3_0());
}
lv_args_19_0=ruleMixTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInvokeStatementRule());
}
set(
$current,
"args",
lv_args_19_0,
"org.eclipse.efm.formalml.xtext.FormalML.MixTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_20=')'
{
newLeafNode(otherlv_20, grammarAccess.getInvokeStatementAccess().getRightParenthesisKeyword_2_4());
}
(
otherlv_21='-->'
{
newLeafNode(otherlv_21, grammarAccess.getInvokeStatementAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_2_5_0());
}
(
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_22=RULE_ID
{
newLeafNode(otherlv_22, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_2_5_1_0_0_0());
}
)
)
(
otherlv_23=','
{
newLeafNode(otherlv_23, grammarAccess.getInvokeStatementAccess().getCommaKeyword_2_5_1_0_1_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_24=RULE_ID
{
newLeafNode(otherlv_24, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_2_5_1_0_1_1_0());
}
)
)
)*
)
|
(
otherlv_25='('
{
newLeafNode(otherlv_25, grammarAccess.getInvokeStatementAccess().getLeftParenthesisKeyword_2_5_1_1_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_26=RULE_ID
{
newLeafNode(otherlv_26, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_2_5_1_1_1_0());
}
)
)
(
otherlv_27=','
{
newLeafNode(otherlv_27, grammarAccess.getInvokeStatementAccess().getCommaKeyword_2_5_1_1_2_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_28=RULE_ID
{
newLeafNode(otherlv_28, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_2_5_1_1_2_1_0());
}
)
)
)*
otherlv_29=')'
{
newLeafNode(otherlv_29, grammarAccess.getInvokeStatementAccess().getRightParenthesisKeyword_2_5_1_1_3());
}
)
)
)?
otherlv_30=';'
{
newLeafNode(otherlv_30, grammarAccess.getInvokeStatementAccess().getSemicolonKeyword_2_6());
}
)
|
(
(
(
lv_callProcedure_31_0='call'
{
newLeafNode(lv_callProcedure_31_0, grammarAccess.getInvokeStatementAccess().getCallProcedureCallKeyword_3_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
setWithLastConsumed($current, "callProcedure", true, "call");
}
)
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
{
newCompositeNode(grammarAccess.getInvokeStatementAccess().getInvokableNamedElementCrossReference_3_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getInvokeStatementAccess().getArgsMixTupleExpressionListParserRuleCall_3_2_0());
}
lv_args_33_0=ruleMixTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInvokeStatementRule());
}
set(
$current,
"args",
lv_args_33_0,
"org.eclipse.efm.formalml.xtext.FormalML.MixTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)?
(
otherlv_34='-->'
{
newLeafNode(otherlv_34, grammarAccess.getInvokeStatementAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_3_3_0());
}
(
(
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_35=RULE_ID
{
newLeafNode(otherlv_35, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_3_3_1_0_0_0());
}
)
)
(
otherlv_36=','
{
newLeafNode(otherlv_36, grammarAccess.getInvokeStatementAccess().getCommaKeyword_3_3_1_0_1_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_37=RULE_ID
{
newLeafNode(otherlv_37, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_3_3_1_0_1_1_0());
}
)
)
)*
)
|
(
otherlv_38='('
{
newLeafNode(otherlv_38, grammarAccess.getInvokeStatementAccess().getLeftParenthesisKeyword_3_3_1_1_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_39=RULE_ID
{
newLeafNode(otherlv_39, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_3_3_1_1_1_0());
}
)
)
(
otherlv_40=','
{
newLeafNode(otherlv_40, grammarAccess.getInvokeStatementAccess().getCommaKeyword_3_3_1_1_2_0());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInvokeStatementRule());
}
}
otherlv_41=RULE_ID
{
newLeafNode(otherlv_41, grammarAccess.getInvokeStatementAccess().getRetsVariableCrossReference_3_3_1_1_2_1_0());
}
)
)
)*
otherlv_42=')'
{
newLeafNode(otherlv_42, grammarAccess.getInvokeStatementAccess().getRightParenthesisKeyword_3_3_1_1_3());
}
)
)
)?
otherlv_43=';'
{
newLeafNode(otherlv_43, grammarAccess.getInvokeStatementAccess().getSemicolonKeyword_3_4());
}
)
)
;
// Entry rule entryRuleObservableStatement
entryRuleObservableStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getObservableStatementRule()); }
iv_ruleObservableStatement=ruleObservableStatement
{ $current=$iv_ruleObservableStatement.current; }
EOF;
// Rule ObservableStatement
ruleObservableStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getObservableStatementAccess().getObsInputComStatementParserRuleCall_0());
}
this_ObsInputComStatement_0=ruleObsInputComStatement
{
$current = $this_ObsInputComStatement_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getObservableStatementAccess().getObsOutputComStatementParserRuleCall_1());
}
this_ObsOutputComStatement_1=ruleObsOutputComStatement
{
$current = $this_ObsOutputComStatement_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleObsInputComStatement
entryRuleObsInputComStatement returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3()
);
}:
{ newCompositeNode(grammarAccess.getObsInputComStatementRule()); }
iv_ruleObsInputComStatement=ruleObsInputComStatement
{ $current=$iv_ruleObsInputComStatement.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule ObsInputComStatement
ruleObsInputComStatement returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3()
);
}
@after {
leaveRule();
}:
(
otherlv_0='input'
{
newLeafNode(otherlv_0, grammarAccess.getObsInputComStatementAccess().getInputKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getObsInputComStatementAccess().getPortObsComElementParserRuleCall_1_0());
}
lv_port_1_0=ruleObsComElement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsInputComStatementRule());
}
set(
$current,
"port",
lv_port_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ObsComElement");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getObsInputComStatementAccess().getLeftParenthesisKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getObsInputComStatementAccess().getLeftValueExpressionParserRuleCall_2_1_0());
}
lv_leftValue_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsInputComStatementRule());
}
add(
$current,
"leftValue",
lv_leftValue_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getObsInputComStatementAccess().getCommaKeyword_2_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getObsInputComStatementAccess().getLeftValueExpressionParserRuleCall_2_2_1_0());
}
lv_leftValue_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsInputComStatementRule());
}
add(
$current,
"leftValue",
lv_leftValue_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_6=')'
{
newLeafNode(otherlv_6, grammarAccess.getObsInputComStatementAccess().getRightParenthesisKeyword_2_3());
}
)?
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3(), 0);
}
({true}?=>(otherlv_8='<--'
{
newLeafNode(otherlv_8, grammarAccess.getObsInputComStatementAccess().getLessThanSignHyphenMinusHyphenMinusKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getObsInputComStatementAccess().getTargetValuePureNamedMachineExpressionParserRuleCall_3_0_1_0());
}
lv_target_9_0=ruleValuePureNamedMachineExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsInputComStatementRule());
}
set(
$current,
"target",
lv_target_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValuePureNamedMachineExpression");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3(), 1);
}
({true}?=>((
otherlv_10='<=='
{
newLeafNode(otherlv_10, grammarAccess.getObsInputComStatementAccess().getLessThanSignEqualsSignEqualsSignKeyword_3_1_0_0());
}
|
otherlv_11='via'
{
newLeafNode(otherlv_11, grammarAccess.getObsInputComStatementAccess().getViaKeyword_3_1_0_1());
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getObsInputComStatementRule());
}
}
{
newCompositeNode(grammarAccess.getObsInputComStatementAccess().getRouteChannelCrossReference_3_1_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getObsInputComStatementAccess().getUnorderedGroup_3());
}
)
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getObsInputComStatementAccess().getSemicolonKeyword_4());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleObsOutputComStatement
entryRuleObsOutputComStatement returns [EObject current=null]@init {
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3()
);
}:
{ newCompositeNode(grammarAccess.getObsOutputComStatementRule()); }
iv_ruleObsOutputComStatement=ruleObsOutputComStatement
{ $current=$iv_ruleObsOutputComStatement.current; }
EOF;
finally {
myUnorderedGroupState.restore();
}
// Rule ObsOutputComStatement
ruleObsOutputComStatement returns [EObject current=null]
@init {
enterRule();
UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3()
);
}
@after {
leaveRule();
}:
(
otherlv_0='output'
{
newLeafNode(otherlv_0, grammarAccess.getObsOutputComStatementAccess().getOutputKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getObsOutputComStatementAccess().getPortObsComElementParserRuleCall_1_0());
}
lv_port_1_0=ruleObsComElement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsOutputComStatementRule());
}
set(
$current,
"port",
lv_port_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ObsComElement");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getObsOutputComStatementAccess().getLeftParenthesisKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getObsOutputComStatementAccess().getRightValueExpressionParserRuleCall_2_1_0());
}
lv_rightValue_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsOutputComStatementRule());
}
add(
$current,
"rightValue",
lv_rightValue_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getObsOutputComStatementAccess().getCommaKeyword_2_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getObsOutputComStatementAccess().getRightValueExpressionParserRuleCall_2_2_1_0());
}
lv_rightValue_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsOutputComStatementRule());
}
add(
$current,
"rightValue",
lv_rightValue_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_6=')'
{
newLeafNode(otherlv_6, grammarAccess.getObsOutputComStatementAccess().getRightParenthesisKeyword_2_3());
}
)?
(
(
{
getUnorderedGroupHelper().enter(grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3());
}
(
(
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3(), 0)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3(), 0);
}
({true}?=>(otherlv_8='-->'
{
newLeafNode(otherlv_8, grammarAccess.getObsOutputComStatementAccess().getHyphenMinusHyphenMinusGreaterThanSignKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getObsOutputComStatementAccess().getTargetValuePureNamedMachineExpressionParserRuleCall_3_0_1_0());
}
lv_target_9_0=ruleValuePureNamedMachineExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsOutputComStatementRule());
}
set(
$current,
"target",
lv_target_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValuePureNamedMachineExpression");
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3());
}
)
)|
(
{getUnorderedGroupHelper().canSelect(grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3(), 1)}?=>(
{
getUnorderedGroupHelper().select(grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3(), 1);
}
({true}?=>((
otherlv_10='==>'
{
newLeafNode(otherlv_10, grammarAccess.getObsOutputComStatementAccess().getEqualsSignEqualsSignGreaterThanSignKeyword_3_1_0_0());
}
|
otherlv_11='via'
{
newLeafNode(otherlv_11, grammarAccess.getObsOutputComStatementAccess().getViaKeyword_3_1_0_1());
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getObsOutputComStatementRule());
}
}
{
newCompositeNode(grammarAccess.getObsOutputComStatementAccess().getRouteChannelCrossReference_3_1_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
))
{
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3());
}
)
)
)*
)
)
{
getUnorderedGroupHelper().leave(grammarAccess.getObsOutputComStatementAccess().getUnorderedGroup_3());
}
)
otherlv_13=';'
{
newLeafNode(otherlv_13, grammarAccess.getObsOutputComStatementAccess().getSemicolonKeyword_4());
}
)
;
finally {
myUnorderedGroupState.restore();
}
// Entry rule entryRuleObsComElement
entryRuleObsComElement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getObsComElementRule()); }
iv_ruleObsComElement=ruleObsComElement
{ $current=$iv_ruleObsComElement.current; }
EOF;
// Rule ObsComElement
ruleObsComElement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getObsComElementAccess().getParentLiteralPureReferenceExpressionParserRuleCall_0_0());
}
lv_parent_0_0=ruleLiteralPureReferenceExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getObsComElementRule());
}
set(
$current,
"parent",
lv_parent_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralPureReferenceExpression");
afterParserOrEnumRuleCall();
}
)
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getObsComElementRule());
}
}
{
newCompositeNode(grammarAccess.getObsComElementAccess().getElementNamedElementCrossReference_1_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleMetaStatement
entryRuleMetaStatement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getMetaStatementRule()); }
iv_ruleMetaStatement=ruleMetaStatement
{ $current=$iv_ruleMetaStatement.current; }
EOF;
// Rule MetaStatement
ruleMetaStatement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMetaStatementAccess().getMetaStatementAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getMetaStatementAccess().getOpOPERATOR_METAEnumRuleCall_1_0());
}
lv_op_1_0=ruleOPERATOR_META
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMetaStatementRule());
}
set(
$current,
"op",
lv_op_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.OPERATOR_META");
afterParserOrEnumRuleCall();
}
)
)
(
(
otherlv_2='{'
{
newLeafNode(otherlv_2, grammarAccess.getMetaStatementAccess().getLeftCurlyBracketKeyword_2_0_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getMetaStatementAccess().getOperandStatementParserRuleCall_2_0_1_0_0());
}
lv_operand_3_0=ruleStatement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMetaStatementRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Statement");
afterParserOrEnumRuleCall();
}
)
)+
|
(
(
{
newCompositeNode(grammarAccess.getMetaStatementAccess().getOperandExpressionParserRuleCall_2_0_1_1_0());
}
lv_operand_4_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMetaStatementRule());
}
add(
$current,
"operand",
lv_operand_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)+
)
otherlv_5='}'
{
newLeafNode(otherlv_5, grammarAccess.getMetaStatementAccess().getRightCurlyBracketKeyword_2_0_2());
}
)
|
(
(
(
{
newCompositeNode(grammarAccess.getMetaStatementAccess().getOperandExpressionParserRuleCall_2_1_0_0());
}
lv_operand_6_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMetaStatementRule());
}
add(
$current,
"operand",
lv_operand_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)+
otherlv_7=';'
{
newLeafNode(otherlv_7, grammarAccess.getMetaStatementAccess().getSemicolonKeyword_2_1_1());
}
)
)
)
;
// Entry rule entryRuleExpression
entryRuleExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getExpressionRule()); }
iv_ruleExpression=ruleExpression
{ $current=$iv_ruleExpression.current; }
EOF;
// Rule Expression
ruleExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getExpressionAccess().getAssignmentExpressionParserRuleCall_0());
}
this_AssignmentExpression_0=ruleAssignmentExpression
{
$current = $this_AssignmentExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getExpressionAccess().getConditionalTestExpressionParserRuleCall_1());
}
this_ConditionalTestExpression_1=ruleConditionalTestExpression
{
$current = $this_ConditionalTestExpression_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleAssignmentExpression
entryRuleAssignmentExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getAssignmentExpressionRule()); }
iv_ruleAssignmentExpression=ruleAssignmentExpression
{ $current=$iv_ruleAssignmentExpression.current; }
EOF;
// Rule AssignmentExpression
ruleAssignmentExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getAssignmentExpressionAccess().getLeftHandSideLeftHandSideExpressionParserRuleCall_0_0());
}
lv_leftHandSide_0_0=ruleLeftHandSideExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAssignmentExpressionRule());
}
set(
$current,
"leftHandSide",
lv_leftHandSide_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.LeftHandSideExpression");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getAssignmentExpressionAccess().getOperatorAssignmentOperatorParserRuleCall_1_0());
}
lv_operator_1_0=ruleAssignmentOperator
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAssignmentExpressionRule());
}
set(
$current,
"operator",
lv_operator_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.AssignmentOperator");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getAssignmentExpressionAccess().getRightHandSideExpressionParserRuleCall_2_0());
}
lv_rightHandSide_2_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAssignmentExpressionRule());
}
set(
$current,
"rightHandSide",
lv_rightHandSide_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleAssignmentOperator
entryRuleAssignmentOperator returns [String current=null]:
{ newCompositeNode(grammarAccess.getAssignmentOperatorRule()); }
iv_ruleAssignmentOperator=ruleAssignmentOperator
{ $current=$iv_ruleAssignmentOperator.current.getText(); }
EOF;
// Rule AssignmentOperator
ruleAssignmentOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getEqualsSignKeyword_0());
}
|
kw=':='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getColonEqualsSignKeyword_1());
}
|
kw='::='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getColonColonEqualsSignKeyword_2());
}
|
kw='+='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getPlusSignEqualsSignKeyword_3());
}
|
kw='-='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getHyphenMinusEqualsSignKeyword_4());
}
|
kw='*='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getAsteriskEqualsSignKeyword_5());
}
|
kw='/='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getSolidusEqualsSignKeyword_6());
}
|
kw='%='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getPercentSignEqualsSignKeyword_7());
}
|
kw='&&='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getAmpersandAmpersandEqualsSignKeyword_8());
}
|
kw='||='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getVerticalLineVerticalLineEqualsSignKeyword_9());
}
|
kw='&='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getAmpersandEqualsSignKeyword_10());
}
|
kw='|='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getVerticalLineEqualsSignKeyword_11());
}
|
kw='^='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getCircumflexAccentEqualsSignKeyword_12());
}
|
kw='<<='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getLessThanSignLessThanSignEqualsSignKeyword_13());
}
|
kw='>>='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getGreaterThanSignGreaterThanSignEqualsSignKeyword_14());
}
|
kw='>>>='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getGreaterThanSignGreaterThanSignGreaterThanSignEqualsSignKeyword_15());
}
|
kw='<=<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getLessThanSignEqualsSignLessThanSignKeyword_16());
}
|
kw='^=<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getCircumflexAccentEqualsSignLessThanSignKeyword_17());
}
|
kw='^=>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getCircumflexAccentEqualsSignGreaterThanSignKeyword_18());
}
|
kw='>=>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAssignmentOperatorAccess().getGreaterThanSignEqualsSignGreaterThanSignKeyword_19());
}
)
;
// Entry rule entryRuleLeftHandSideExpression
entryRuleLeftHandSideExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLeftHandSideExpressionRule()); }
iv_ruleLeftHandSideExpression=ruleLeftHandSideExpression
{ $current=$iv_ruleLeftHandSideExpression.current; }
EOF;
// Rule LeftHandSideExpression
ruleLeftHandSideExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLeftHandSideExpressionAccess().getLeftHandSideExpressionAction_0(),
$current);
}
)
(
(
(
{
newCompositeNode(grammarAccess.getLeftHandSideExpressionAccess().getLvalueValueSelectionExpressionParserRuleCall_1_0_0());
}
lv_lvalue_1_0=ruleValueSelectionExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLeftHandSideExpressionRule());
}
set(
$current,
"lvalue",
lv_lvalue_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueSelectionExpression");
afterParserOrEnumRuleCall();
}
)
)
|
(
otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getLeftHandSideExpressionAccess().getLeftParenthesisKeyword_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getLeftHandSideExpressionAccess().getLvalueValueSelectionExpressionParserRuleCall_1_1_1_0());
}
lv_lvalue_3_0=ruleValueSelectionExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLeftHandSideExpressionRule());
}
set(
$current,
"lvalue",
lv_lvalue_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueSelectionExpression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4=')'
{
newLeafNode(otherlv_4, grammarAccess.getLeftHandSideExpressionAccess().getRightParenthesisKeyword_1_1_2());
}
)
)
)
;
// Entry rule entryRuleConditionalTestExpression
entryRuleConditionalTestExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getConditionalTestExpressionRule()); }
iv_ruleConditionalTestExpression=ruleConditionalTestExpression
{ $current=$iv_ruleConditionalTestExpression.current; }
EOF;
// Rule ConditionalTestExpression
ruleConditionalTestExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getLogicalOrExpressionParserRuleCall_0());
}
this_LogicalOrExpression_0=ruleLogicalOrExpression
{
$current = $this_LogicalOrExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getConditionalTestExpressionAccess().getConditionalTestExpressionConditionAction_1_0(),
$current);
}
)
(
(
lv_operator_2_0='?'
{
newLeafNode(lv_operator_2_0, grammarAccess.getConditionalTestExpressionAccess().getOperatorQuestionMarkKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getConditionalTestExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_0, "?");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getThenOperandExpressionParserRuleCall_1_2_0());
}
lv_thenOperand_3_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConditionalTestExpressionRule());
}
set(
$current,
"thenOperand",
lv_thenOperand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
(
lv_elseSeparator_4_0=':'
{
newLeafNode(lv_elseSeparator_4_0, grammarAccess.getConditionalTestExpressionAccess().getElseSeparatorColonKeyword_1_3_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getConditionalTestExpressionRule());
}
setWithLastConsumed($current, "elseSeparator", lv_elseSeparator_4_0, ":");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getElseOperandExpressionParserRuleCall_1_4_0());
}
lv_elseOperand_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConditionalTestExpressionRule());
}
set(
$current,
"elseOperand",
lv_elseOperand_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)?
)
;
// Entry rule entryRuleLogicalOrExpression
entryRuleLogicalOrExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLogicalOrExpressionRule()); }
iv_ruleLogicalOrExpression=ruleLogicalOrExpression
{ $current=$iv_ruleLogicalOrExpression.current; }
EOF;
// Rule LogicalOrExpression
ruleLogicalOrExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getLogicalOrExpressionAccess().getLogicalAndExpressionParserRuleCall_0());
}
this_LogicalAndExpression_0=ruleLogicalAndExpression
{
$current = $this_LogicalAndExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getLogicalOrExpressionAccess().getLogicalAssociativeExpressionOperandAction_1_0(),
$current);
}
)
(
(
(
lv_operator_2_1='||'
{
newLeafNode(lv_operator_2_1, grammarAccess.getLogicalOrExpressionAccess().getOperatorVerticalLineVerticalLineKeyword_1_1_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLogicalOrExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_1, null);
}
|
lv_operator_2_2='or'
{
newLeafNode(lv_operator_2_2, grammarAccess.getLogicalOrExpressionAccess().getOperatorOrKeyword_1_1_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLogicalOrExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_2, null);
}
)
)
)
(
(
{
newCompositeNode(grammarAccess.getLogicalOrExpressionAccess().getOperandLogicalAndExpressionParserRuleCall_1_2_0());
}
lv_operand_3_0=ruleLogicalAndExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLogicalOrExpressionRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.LogicalAndExpression");
afterParserOrEnumRuleCall();
}
)
)
(
(
otherlv_4='||'
{
newLeafNode(otherlv_4, grammarAccess.getLogicalOrExpressionAccess().getVerticalLineVerticalLineKeyword_1_3_0_0());
}
|
otherlv_5='or'
{
newLeafNode(otherlv_5, grammarAccess.getLogicalOrExpressionAccess().getOrKeyword_1_3_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getLogicalOrExpressionAccess().getOperandLogicalAndExpressionParserRuleCall_1_3_1_0());
}
lv_operand_6_0=ruleLogicalAndExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLogicalOrExpressionRule());
}
add(
$current,
"operand",
lv_operand_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.LogicalAndExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
)
;
// Entry rule entryRuleLogicalAndExpression
entryRuleLogicalAndExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLogicalAndExpressionRule()); }
iv_ruleLogicalAndExpression=ruleLogicalAndExpression
{ $current=$iv_ruleLogicalAndExpression.current; }
EOF;
// Rule LogicalAndExpression
ruleLogicalAndExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getLogicalAndExpressionAccess().getBitwiseOrExpressionParserRuleCall_0());
}
this_BitwiseOrExpression_0=ruleBitwiseOrExpression
{
$current = $this_BitwiseOrExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getLogicalAndExpressionAccess().getLogicalAssociativeExpressionOperandAction_1_0(),
$current);
}
)
(
(
(
lv_operator_2_1='&&'
{
newLeafNode(lv_operator_2_1, grammarAccess.getLogicalAndExpressionAccess().getOperatorAmpersandAmpersandKeyword_1_1_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLogicalAndExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_1, null);
}
|
lv_operator_2_2='and'
{
newLeafNode(lv_operator_2_2, grammarAccess.getLogicalAndExpressionAccess().getOperatorAndKeyword_1_1_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLogicalAndExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_2, null);
}
)
)
)
(
(
{
newCompositeNode(grammarAccess.getLogicalAndExpressionAccess().getOperandBitwiseOrExpressionParserRuleCall_1_2_0());
}
lv_operand_3_0=ruleBitwiseOrExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLogicalAndExpressionRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.BitwiseOrExpression");
afterParserOrEnumRuleCall();
}
)
)
(
(
otherlv_4='&&'
{
newLeafNode(otherlv_4, grammarAccess.getLogicalAndExpressionAccess().getAmpersandAmpersandKeyword_1_3_0_0());
}
|
otherlv_5='and'
{
newLeafNode(otherlv_5, grammarAccess.getLogicalAndExpressionAccess().getAndKeyword_1_3_0_1());
}
)
(
(
{
newCompositeNode(grammarAccess.getLogicalAndExpressionAccess().getOperandBitwiseOrExpressionParserRuleCall_1_3_1_0());
}
lv_operand_6_0=ruleBitwiseOrExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLogicalAndExpressionRule());
}
add(
$current,
"operand",
lv_operand_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.BitwiseOrExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
)
;
// Entry rule entryRuleBitwiseOrExpression
entryRuleBitwiseOrExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBitwiseOrExpressionRule()); }
iv_ruleBitwiseOrExpression=ruleBitwiseOrExpression
{ $current=$iv_ruleBitwiseOrExpression.current; }
EOF;
// Rule BitwiseOrExpression
ruleBitwiseOrExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getBitwiseOrExpressionAccess().getBitwiseXorExpressionParserRuleCall_0());
}
this_BitwiseXorExpression_0=ruleBitwiseXorExpression
{
$current = $this_BitwiseXorExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getBitwiseOrExpressionAccess().getBitwiseAssociativeExpressionOperandAction_1_0(),
$current);
}
)
(
(
lv_operator_2_0='|'
{
newLeafNode(lv_operator_2_0, grammarAccess.getBitwiseOrExpressionAccess().getOperatorVerticalLineKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getBitwiseOrExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_0, "|");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getBitwiseOrExpressionAccess().getOperandBitwiseXorExpressionParserRuleCall_1_2_0());
}
lv_operand_3_0=ruleBitwiseXorExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBitwiseOrExpressionRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.BitwiseXorExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4='|'
{
newLeafNode(otherlv_4, grammarAccess.getBitwiseOrExpressionAccess().getVerticalLineKeyword_1_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getBitwiseOrExpressionAccess().getOperandBitwiseXorExpressionParserRuleCall_1_3_1_0());
}
lv_operand_5_0=ruleBitwiseXorExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBitwiseOrExpressionRule());
}
add(
$current,
"operand",
lv_operand_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.BitwiseXorExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
)
;
// Entry rule entryRuleBitwiseXorExpression
entryRuleBitwiseXorExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBitwiseXorExpressionRule()); }
iv_ruleBitwiseXorExpression=ruleBitwiseXorExpression
{ $current=$iv_ruleBitwiseXorExpression.current; }
EOF;
// Rule BitwiseXorExpression
ruleBitwiseXorExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getBitwiseXorExpressionAccess().getBitwiseAndExpressionParserRuleCall_0());
}
this_BitwiseAndExpression_0=ruleBitwiseAndExpression
{
$current = $this_BitwiseAndExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getBitwiseXorExpressionAccess().getBitwiseAssociativeExpressionOperandAction_1_0(),
$current);
}
)
(
(
lv_operator_2_0='^'
{
newLeafNode(lv_operator_2_0, grammarAccess.getBitwiseXorExpressionAccess().getOperatorCircumflexAccentKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getBitwiseXorExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_0, "^");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getBitwiseXorExpressionAccess().getOperandBitwiseAndExpressionParserRuleCall_1_2_0());
}
lv_operand_3_0=ruleBitwiseAndExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBitwiseXorExpressionRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.BitwiseAndExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4='^'
{
newLeafNode(otherlv_4, grammarAccess.getBitwiseXorExpressionAccess().getCircumflexAccentKeyword_1_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getBitwiseXorExpressionAccess().getOperandBitwiseAndExpressionParserRuleCall_1_3_1_0());
}
lv_operand_5_0=ruleBitwiseAndExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBitwiseXorExpressionRule());
}
add(
$current,
"operand",
lv_operand_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.BitwiseAndExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
)
;
// Entry rule entryRuleBitwiseAndExpression
entryRuleBitwiseAndExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBitwiseAndExpressionRule()); }
iv_ruleBitwiseAndExpression=ruleBitwiseAndExpression
{ $current=$iv_ruleBitwiseAndExpression.current; }
EOF;
// Rule BitwiseAndExpression
ruleBitwiseAndExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getBitwiseAndExpressionAccess().getEqualityExpressionParserRuleCall_0());
}
this_EqualityExpression_0=ruleEqualityExpression
{
$current = $this_EqualityExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getBitwiseAndExpressionAccess().getBitwiseAssociativeExpressionOperandAction_1_0(),
$current);
}
)
(
(
lv_operator_2_0='&'
{
newLeafNode(lv_operator_2_0, grammarAccess.getBitwiseAndExpressionAccess().getOperatorAmpersandKeyword_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getBitwiseAndExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_0, "&");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getBitwiseAndExpressionAccess().getOperandEqualityExpressionParserRuleCall_1_2_0());
}
lv_operand_3_0=ruleEqualityExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBitwiseAndExpressionRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.EqualityExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4='&'
{
newLeafNode(otherlv_4, grammarAccess.getBitwiseAndExpressionAccess().getAmpersandKeyword_1_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getBitwiseAndExpressionAccess().getOperandEqualityExpressionParserRuleCall_1_3_1_0());
}
lv_operand_5_0=ruleEqualityExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBitwiseAndExpressionRule());
}
add(
$current,
"operand",
lv_operand_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.EqualityExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
)
;
// Entry rule entryRuleEqualityExpression
entryRuleEqualityExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getEqualityExpressionRule()); }
iv_ruleEqualityExpression=ruleEqualityExpression
{ $current=$iv_ruleEqualityExpression.current; }
EOF;
// Rule EqualityExpression
ruleEqualityExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getEqualityExpressionAccess().getRelationalExpressionParserRuleCall_0());
}
this_RelationalExpression_0=ruleRelationalExpression
{
$current = $this_RelationalExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getEqualityExpressionAccess().getEqualityBinaryExpressionLeftOperandAction_1_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getEqualityExpressionAccess().getOperatorEqualityOperatorParserRuleCall_1_1_0());
}
lv_operator_2_0=ruleEqualityOperator
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEqualityExpressionRule());
}
set(
$current,
"operator",
lv_operator_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.EqualityOperator");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getEqualityExpressionAccess().getRightOperandRelationalExpressionParserRuleCall_1_2_0());
}
lv_rightOperand_3_0=ruleRelationalExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEqualityExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.RelationalExpression");
afterParserOrEnumRuleCall();
}
)
)
)?
)
;
// Entry rule entryRuleEqualityOperator
entryRuleEqualityOperator returns [String current=null]:
{ newCompositeNode(grammarAccess.getEqualityOperatorRule()); }
iv_ruleEqualityOperator=ruleEqualityOperator
{ $current=$iv_ruleEqualityOperator.current.getText(); }
EOF;
// Rule EqualityOperator
ruleEqualityOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='=='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEqualityOperatorAccess().getEqualsSignEqualsSignKeyword_0());
}
|
kw='!='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEqualityOperatorAccess().getExclamationMarkEqualsSignKeyword_1());
}
|
kw='==='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEqualityOperatorAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
}
|
kw='!=='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEqualityOperatorAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
}
|
kw='=!='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEqualityOperatorAccess().getEqualsSignExclamationMarkEqualsSignKeyword_4());
}
|
kw='=/='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEqualityOperatorAccess().getEqualsSignSolidusEqualsSignKeyword_5());
}
)
;
// Entry rule entryRuleRelationalExpression
entryRuleRelationalExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getRelationalExpressionRule()); }
iv_ruleRelationalExpression=ruleRelationalExpression
{ $current=$iv_ruleRelationalExpression.current; }
EOF;
// Rule RelationalExpression
ruleRelationalExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0());
}
this_AdditiveExpression_0=ruleAdditiveExpression
{
$current = $this_AdditiveExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getRelationalExpressionAccess().getRelationalBinaryExpressionLeftOperandAction_1_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getRelationalExpressionAccess().getOperatorRelationalOperatorParserRuleCall_1_1_0());
}
lv_operator_2_0=ruleRelationalOperator
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
}
set(
$current,
"operator",
lv_operator_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.RelationalOperator");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getRelationalExpressionAccess().getRightOperandAdditiveExpressionParserRuleCall_1_2_0());
}
lv_rightOperand_3_0=ruleAdditiveExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.AdditiveExpression");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getRelationalExpressionAccess().getRelationalTernaryExpressionLeftRelationAction_1_3_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getRelationalExpressionAccess().getRightOperatorRelationalOperatorParserRuleCall_1_3_1_0());
}
lv_rightOperator_5_0=ruleRelationalOperator
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
}
set(
$current,
"rightOperator",
lv_rightOperator_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.RelationalOperator");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getRelationalExpressionAccess().getRightOperandAdditiveExpressionParserRuleCall_1_3_2_0());
}
lv_rightOperand_6_0=ruleAdditiveExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.AdditiveExpression");
afterParserOrEnumRuleCall();
}
)
)
)?
)?
)
;
// Entry rule entryRuleRelationalOperator
entryRuleRelationalOperator returns [String current=null]:
{ newCompositeNode(grammarAccess.getRelationalOperatorRule()); }
iv_ruleRelationalOperator=ruleRelationalOperator
{ $current=$iv_ruleRelationalOperator.current.getText(); }
EOF;
// Rule RelationalOperator
ruleRelationalOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getRelationalOperatorAccess().getLessThanSignKeyword_0());
}
|
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getRelationalOperatorAccess().getGreaterThanSignKeyword_1());
}
|
kw='<='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getRelationalOperatorAccess().getLessThanSignEqualsSignKeyword_2());
}
|
kw='>='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getRelationalOperatorAccess().getGreaterThanSignEqualsSignKeyword_3());
}
|
kw='in'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getRelationalOperatorAccess().getInKeyword_4());
}
)
;
// Entry rule entryRuleAdditiveExpression
entryRuleAdditiveExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getAdditiveExpressionRule()); }
iv_ruleAdditiveExpression=ruleAdditiveExpression
{ $current=$iv_ruleAdditiveExpression.current; }
EOF;
// Rule AdditiveExpression
ruleAdditiveExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
}
this_MultiplicativeExpression_0=ruleMultiplicativeExpression
{
$current = $this_MultiplicativeExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getAdditiveExpressionAccess().getArithmeticAssociativeExpressionOperandAction_1_0_0(),
$current);
}
)
(
(
lv_operator_2_0='+'
{
newLeafNode(lv_operator_2_0, grammarAccess.getAdditiveExpressionAccess().getOperatorPlusSignKeyword_1_0_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getAdditiveExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_0, "+");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOperandMultiplicativeExpressionParserRuleCall_1_0_2_0());
}
lv_operand_3_0=ruleMultiplicativeExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.MultiplicativeExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4='+'
{
newLeafNode(otherlv_4, grammarAccess.getAdditiveExpressionAccess().getPlusSignKeyword_1_0_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOperandMultiplicativeExpressionParserRuleCall_1_0_3_1_0());
}
lv_operand_5_0=ruleMultiplicativeExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
}
add(
$current,
"operand",
lv_operand_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.MultiplicativeExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getAdditiveExpressionAccess().getArithmeticAssociativeExpressionOperandAction_1_1_0(),
$current);
}
)
(
(
lv_operator_7_0='-'
{
newLeafNode(lv_operator_7_0, grammarAccess.getAdditiveExpressionAccess().getOperatorHyphenMinusKeyword_1_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getAdditiveExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_7_0, "-");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOperandMultiplicativeExpressionParserRuleCall_1_1_2_0());
}
lv_operand_8_0=ruleMultiplicativeExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
}
add(
$current,
"operand",
lv_operand_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.MultiplicativeExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_9='-'
{
newLeafNode(otherlv_9, grammarAccess.getAdditiveExpressionAccess().getHyphenMinusKeyword_1_1_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOperandMultiplicativeExpressionParserRuleCall_1_1_3_1_0());
}
lv_operand_10_0=ruleMultiplicativeExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
}
add(
$current,
"operand",
lv_operand_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.MultiplicativeExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
)*
)
;
// Entry rule entryRuleMultiplicativeExpression
entryRuleMultiplicativeExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); }
iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression
{ $current=$iv_ruleMultiplicativeExpression.current; }
EOF;
// Rule MultiplicativeExpression
ruleMultiplicativeExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getUnaryExpressionParserRuleCall_0());
}
this_UnaryExpression_0=ruleUnaryExpression
{
$current = $this_UnaryExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getMultiplicativeExpressionAccess().getArithmeticAssociativeExpressionOperandAction_1_0_0(),
$current);
}
)
(
(
lv_operator_2_0='*'
{
newLeafNode(lv_operator_2_0, grammarAccess.getMultiplicativeExpressionAccess().getOperatorAsteriskKeyword_1_0_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_2_0, "*");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_0_2_0());
}
lv_operand_3_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"operand",
lv_operand_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4='*'
{
newLeafNode(otherlv_4, grammarAccess.getMultiplicativeExpressionAccess().getAsteriskKeyword_1_0_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_0_3_1_0());
}
lv_operand_5_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"operand",
lv_operand_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getMultiplicativeExpressionAccess().getArithmeticAssociativeExpressionOperandAction_1_1_0(),
$current);
}
)
(
(
lv_operator_7_0='**'
{
newLeafNode(lv_operator_7_0, grammarAccess.getMultiplicativeExpressionAccess().getOperatorAsteriskAsteriskKeyword_1_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_7_0, "**");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_1_2_0());
}
lv_operand_8_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"operand",
lv_operand_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_9='**'
{
newLeafNode(otherlv_9, grammarAccess.getMultiplicativeExpressionAccess().getAsteriskAsteriskKeyword_1_1_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_1_3_1_0());
}
lv_operand_10_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"operand",
lv_operand_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getMultiplicativeExpressionAccess().getArithmeticAssociativeExpressionOperandAction_1_2_0(),
$current);
}
)
(
(
lv_operator_12_0='/'
{
newLeafNode(lv_operator_12_0, grammarAccess.getMultiplicativeExpressionAccess().getOperatorSolidusKeyword_1_2_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_12_0, "/");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_2_2_0());
}
lv_operand_13_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"operand",
lv_operand_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_14='/'
{
newLeafNode(otherlv_14, grammarAccess.getMultiplicativeExpressionAccess().getSolidusKeyword_1_2_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_2_3_1_0());
}
lv_operand_15_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"operand",
lv_operand_15_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
(
{
/* */
}
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getMultiplicativeExpressionAccess().getArithmeticAssociativeExpressionOperandAction_1_3_0(),
$current);
}
)
(
(
lv_operator_17_0='%'
{
newLeafNode(lv_operator_17_0, grammarAccess.getMultiplicativeExpressionAccess().getOperatorPercentSignKeyword_1_3_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_17_0, "\%");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_3_2_0());
}
lv_operand_18_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"operand",
lv_operand_18_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_19='%'
{
newLeafNode(otherlv_19, grammarAccess.getMultiplicativeExpressionAccess().getPercentSignKeyword_1_3_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_3_3_1_0());
}
lv_operand_20_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"operand",
lv_operand_20_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
)*
)
;
// Entry rule entryRuleUnaryExpression
entryRuleUnaryExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getUnaryExpressionRule()); }
iv_ruleUnaryExpression=ruleUnaryExpression
{ $current=$iv_ruleUnaryExpression.current; }
EOF;
// Rule UnaryExpression
ruleUnaryExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getLiteralTerminalExpressionParserRuleCall_0());
}
this_LiteralTerminalExpression_0=ruleLiteralTerminalExpression
{
$current = $this_LiteralTerminalExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getArithmeticUnaryExpressionParserRuleCall_1());
}
this_ArithmeticUnaryExpression_1=ruleArithmeticUnaryExpression
{
$current = $this_ArithmeticUnaryExpression_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getLogicalUnaryExpressionParserRuleCall_2());
}
this_LogicalUnaryExpression_2=ruleLogicalUnaryExpression
{
$current = $this_LogicalUnaryExpression_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getQuantifiedLogicalExpressionParserRuleCall_3());
}
this_QuantifiedLogicalExpression_3=ruleQuantifiedLogicalExpression
{
$current = $this_QuantifiedLogicalExpression_3.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBitwiseUnaryExpressionParserRuleCall_4());
}
this_BitwiseUnaryExpression_4=ruleBitwiseUnaryExpression
{
$current = $this_BitwiseUnaryExpression_4.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getNewfreshExpressionParserRuleCall_5());
}
this_NewfreshExpression_5=ruleNewfreshExpression
{
$current = $this_NewfreshExpression_5.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getCastExpressionParserRuleCall_6());
}
this_CastExpression_6=ruleCastExpression
{
$current = $this_CastExpression_6.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getPrefixUnaryExpressionParserRuleCall_7());
}
this_PrefixUnaryExpression_7=rulePrefixUnaryExpression
{
$current = $this_PrefixUnaryExpression_7.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getPostfixUnaryExpressionParserRuleCall_8());
}
this_PostfixUnaryExpression_8=rulePostfixUnaryExpression
{
$current = $this_PostfixUnaryExpression_8.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getPrimaryExpressionParserRuleCall_9());
}
this_PrimaryExpression_9=rulePrimaryExpression
{
$current = $this_PrimaryExpression_9.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRulePostfixUnaryExpression
entryRulePostfixUnaryExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPostfixUnaryExpressionRule()); }
iv_rulePostfixUnaryExpression=rulePostfixUnaryExpression
{ $current=$iv_rulePostfixUnaryExpression.current; }
EOF;
// Rule PostfixUnaryExpression
rulePostfixUnaryExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getPostfixUnaryExpressionAccess().getIncrementOrDecrementPostfixExpressionParserRuleCall());
}
this_IncrementOrDecrementPostfixExpression_0=ruleIncrementOrDecrementPostfixExpression
{
$current = $this_IncrementOrDecrementPostfixExpression_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleIncrementOrDecrementPostfixExpression
entryRuleIncrementOrDecrementPostfixExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getIncrementOrDecrementPostfixExpressionRule()); }
iv_ruleIncrementOrDecrementPostfixExpression=ruleIncrementOrDecrementPostfixExpression
{ $current=$iv_ruleIncrementOrDecrementPostfixExpression.current; }
EOF;
// Rule IncrementOrDecrementPostfixExpression
ruleIncrementOrDecrementPostfixExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getIncrementOrDecrementPostfixExpressionAccess().getLeftHandSideLeftHandSideExpressionParserRuleCall_0_0());
}
lv_leftHandSide_0_0=ruleLeftHandSideExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIncrementOrDecrementPostfixExpressionRule());
}
set(
$current,
"leftHandSide",
lv_leftHandSide_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.LeftHandSideExpression");
afterParserOrEnumRuleCall();
}
)
)
(
(
(
{
newCompositeNode(grammarAccess.getIncrementOrDecrementPostfixExpressionAccess().getOperatorAffixOperatorParserRuleCall_1_0_0());
}
lv_operator_1_1=ruleAffixOperator
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIncrementOrDecrementPostfixExpressionRule());
}
set(
$current,
"operator",
lv_operator_1_1,
"org.eclipse.efm.formalml.xtext.FormalML.AffixOperator");
afterParserOrEnumRuleCall();
}
|
lv_operator_1_2='>=>'
{
newLeafNode(lv_operator_1_2, grammarAccess.getIncrementOrDecrementPostfixExpressionAccess().getOperatorGreaterThanSignEqualsSignGreaterThanSignKeyword_1_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIncrementOrDecrementPostfixExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_1_2, null);
}
)
)
)
)
;
// Entry rule entryRulePrefixUnaryExpression
entryRulePrefixUnaryExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrefixUnaryExpressionRule()); }
iv_rulePrefixUnaryExpression=rulePrefixUnaryExpression
{ $current=$iv_rulePrefixUnaryExpression.current; }
EOF;
// Rule PrefixUnaryExpression
rulePrefixUnaryExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
/* */
}
{
newCompositeNode(grammarAccess.getPrefixUnaryExpressionAccess().getIncrementOrDecrementPrefixExpressionParserRuleCall());
}
this_IncrementOrDecrementPrefixExpression_0=ruleIncrementOrDecrementPrefixExpression
{
$current = $this_IncrementOrDecrementPrefixExpression_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleIncrementOrDecrementPrefixExpression
entryRuleIncrementOrDecrementPrefixExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getIncrementOrDecrementPrefixExpressionRule()); }
iv_ruleIncrementOrDecrementPrefixExpression=ruleIncrementOrDecrementPrefixExpression
{ $current=$iv_ruleIncrementOrDecrementPrefixExpression.current; }
EOF;
// Rule IncrementOrDecrementPrefixExpression
ruleIncrementOrDecrementPrefixExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getIncrementOrDecrementPrefixExpressionAccess().getOperatorAffixOperatorParserRuleCall_0_0());
}
lv_operator_0_0=ruleAffixOperator
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIncrementOrDecrementPrefixExpressionRule());
}
set(
$current,
"operator",
lv_operator_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.AffixOperator");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getIncrementOrDecrementPrefixExpressionAccess().getLeftHandSideLeftHandSideExpressionParserRuleCall_1_0());
}
lv_leftHandSide_1_0=ruleLeftHandSideExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIncrementOrDecrementPrefixExpressionRule());
}
set(
$current,
"leftHandSide",
lv_leftHandSide_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.LeftHandSideExpression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleAffixOperator
entryRuleAffixOperator returns [String current=null]:
{ newCompositeNode(grammarAccess.getAffixOperatorRule()); }
iv_ruleAffixOperator=ruleAffixOperator
{ $current=$iv_ruleAffixOperator.current.getText(); }
EOF;
// Rule AffixOperator
ruleAffixOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='++'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAffixOperatorAccess().getPlusSignPlusSignKeyword_0());
}
|
kw='--'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getAffixOperatorAccess().getHyphenMinusHyphenMinusKeyword_1());
}
)
;
// Entry rule entryRuleNewfreshExpression
entryRuleNewfreshExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getNewfreshExpressionRule()); }
iv_ruleNewfreshExpression=ruleNewfreshExpression
{ $current=$iv_ruleNewfreshExpression.current; }
EOF;
// Rule NewfreshExpression
ruleNewfreshExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
otherlv_0='newfresh'
{
newLeafNode(otherlv_0, grammarAccess.getNewfreshExpressionAccess().getNewfreshKeyword_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getNewfreshExpressionAccess().getLeftHandSideLeftHandSideExpressionParserRuleCall_0_1_0());
}
lv_leftHandSide_1_0=ruleLeftHandSideExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getNewfreshExpressionRule());
}
set(
$current,
"leftHandSide",
lv_leftHandSide_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.LeftHandSideExpression");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_2='(:'
{
newLeafNode(otherlv_2, grammarAccess.getNewfreshExpressionAccess().getLeftParenthesisColonKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getNewfreshExpressionAccess().getLeftHandSideLeftHandSideExpressionParserRuleCall_1_1_0());
}
lv_leftHandSide_3_0=ruleLeftHandSideExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getNewfreshExpressionRule());
}
set(
$current,
"leftHandSide",
lv_leftHandSide_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.LeftHandSideExpression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='newfresh'
{
newLeafNode(otherlv_4, grammarAccess.getNewfreshExpressionAccess().getNewfreshKeyword_1_2());
}
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getNewfreshExpressionAccess().getRightParenthesisKeyword_1_3());
}
)
)
;
// Entry rule entryRuleCastExpression
entryRuleCastExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getCastExpressionRule()); }
iv_ruleCastExpression=ruleCastExpression
{ $current=$iv_ruleCastExpression.current; }
EOF;
// Rule CastExpression
ruleCastExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='ctor'
{
newLeafNode(otherlv_0, grammarAccess.getCastExpressionAccess().getCtorKeyword_0());
}
otherlv_1='<'
{
newLeafNode(otherlv_1, grammarAccess.getCastExpressionAccess().getLessThanSignKeyword_1());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getCastExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getCastExpressionAccess().getDatatypeDataTypeCrossReference_2_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_3='>'
{
newLeafNode(otherlv_3, grammarAccess.getCastExpressionAccess().getGreaterThanSignKeyword_3());
}
otherlv_4='('
{
newLeafNode(otherlv_4, grammarAccess.getCastExpressionAccess().getLeftParenthesisKeyword_4());
}
(
(
{
newCompositeNode(grammarAccess.getCastExpressionAccess().getOperandExpressionParserRuleCall_5_0());
}
lv_operand_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCastExpressionRule());
}
set(
$current,
"operand",
lv_operand_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6=')'
{
newLeafNode(otherlv_6, grammarAccess.getCastExpressionAccess().getRightParenthesisKeyword_6());
}
)
;
// Entry rule entryRuleArithmeticUnaryExpression
entryRuleArithmeticUnaryExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getArithmeticUnaryExpressionRule()); }
iv_ruleArithmeticUnaryExpression=ruleArithmeticUnaryExpression
{ $current=$iv_ruleArithmeticUnaryExpression.current; }
EOF;
// Rule ArithmeticUnaryExpression
ruleArithmeticUnaryExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getArithmeticUnaryExpressionAccess().getOperatorArithmeticUnaryOperatorParserRuleCall_0_0());
}
lv_operator_0_0=ruleArithmeticUnaryOperator
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getArithmeticUnaryExpressionRule());
}
set(
$current,
"operator",
lv_operator_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.ArithmeticUnaryOperator");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getArithmeticUnaryExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_0());
}
lv_operand_1_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getArithmeticUnaryExpressionRule());
}
set(
$current,
"operand",
lv_operand_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleArithmeticUnaryOperator
entryRuleArithmeticUnaryOperator returns [String current=null]:
{ newCompositeNode(grammarAccess.getArithmeticUnaryOperatorRule()); }
iv_ruleArithmeticUnaryOperator=ruleArithmeticUnaryOperator
{ $current=$iv_ruleArithmeticUnaryOperator.current.getText(); }
EOF;
// Rule ArithmeticUnaryOperator
ruleArithmeticUnaryOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='+'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getArithmeticUnaryOperatorAccess().getPlusSignKeyword_0());
}
|
kw='-'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getArithmeticUnaryOperatorAccess().getHyphenMinusKeyword_1());
}
)
;
// Entry rule entryRuleQuantifiedLogicalExpression
entryRuleQuantifiedLogicalExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getQuantifiedLogicalExpressionRule()); }
iv_ruleQuantifiedLogicalExpression=ruleQuantifiedLogicalExpression
{ $current=$iv_ruleQuantifiedLogicalExpression.current; }
EOF;
// Rule QuantifiedLogicalExpression
ruleQuantifiedLogicalExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
lv_quantifier_0_1='forall'
{
newLeafNode(lv_quantifier_0_1, grammarAccess.getQuantifiedLogicalExpressionAccess().getQuantifierForallKeyword_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getQuantifiedLogicalExpressionRule());
}
setWithLastConsumed($current, "quantifier", lv_quantifier_0_1, null);
}
|
lv_quantifier_0_2='exists'
{
newLeafNode(lv_quantifier_0_2, grammarAccess.getQuantifiedLogicalExpressionAccess().getQuantifierExistsKeyword_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getQuantifiedLogicalExpressionRule());
}
setWithLastConsumed($current, "quantifier", lv_quantifier_0_2, null);
}
)
)
)
otherlv_1='<'
{
newLeafNode(otherlv_1, grammarAccess.getQuantifiedLogicalExpressionAccess().getLessThanSignKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getQuantifiedLogicalExpressionAccess().getVariableBoundVariableParserRuleCall_2_0());
}
lv_variable_2_0=ruleBoundVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getQuantifiedLogicalExpressionRule());
}
add(
$current,
"variable",
lv_variable_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.BoundVariable");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getQuantifiedLogicalExpressionAccess().getCommaKeyword_3_0());
}
(
(
{
newCompositeNode(grammarAccess.getQuantifiedLogicalExpressionAccess().getVariableBoundVariableParserRuleCall_3_1_0());
}
lv_variable_4_0=ruleBoundVariable
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getQuantifiedLogicalExpressionRule());
}
add(
$current,
"variable",
lv_variable_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.BoundVariable");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_5='>'
{
newLeafNode(otherlv_5, grammarAccess.getQuantifiedLogicalExpressionAccess().getGreaterThanSignKeyword_4());
}
otherlv_6='('
{
newLeafNode(otherlv_6, grammarAccess.getQuantifiedLogicalExpressionAccess().getLeftParenthesisKeyword_5());
}
(
(
{
newCompositeNode(grammarAccess.getQuantifiedLogicalExpressionAccess().getPredicateExpressionParserRuleCall_6_0());
}
lv_predicate_7_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getQuantifiedLogicalExpressionRule());
}
set(
$current,
"predicate",
lv_predicate_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
otherlv_8=')'
{
newLeafNode(otherlv_8, grammarAccess.getQuantifiedLogicalExpressionAccess().getRightParenthesisKeyword_7());
}
)
;
// Entry rule entryRuleBoundVariable
entryRuleBoundVariable returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBoundVariableRule()); }
iv_ruleBoundVariable=ruleBoundVariable
{ $current=$iv_ruleBoundVariable.current; }
EOF;
// Rule BoundVariable
ruleBoundVariable returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getBoundVariableAccess().getNameESIdentifierParserRuleCall_0_0());
}
lv_name_0_0=ruleESIdentifier
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBoundVariableRule());
}
set(
$current,
"name",
lv_name_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.ESIdentifier");
afterParserOrEnumRuleCall();
}
)
)
otherlv_1=':'
{
newLeafNode(otherlv_1, grammarAccess.getBoundVariableAccess().getColonKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getBoundVariableAccess().getTypeDataTypeParserRuleCall_2_0());
}
lv_type_2_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBoundVariableRule());
}
set(
$current,
"type",
lv_type_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLogicalUnaryExpression
entryRuleLogicalUnaryExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLogicalUnaryExpressionRule()); }
iv_ruleLogicalUnaryExpression=ruleLogicalUnaryExpression
{ $current=$iv_ruleLogicalUnaryExpression.current; }
EOF;
// Rule LogicalUnaryExpression
ruleLogicalUnaryExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
lv_operator_0_1='!'
{
newLeafNode(lv_operator_0_1, grammarAccess.getLogicalUnaryExpressionAccess().getOperatorExclamationMarkKeyword_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLogicalUnaryExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_0_1, null);
}
|
lv_operator_0_2='not'
{
newLeafNode(lv_operator_0_2, grammarAccess.getLogicalUnaryExpressionAccess().getOperatorNotKeyword_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLogicalUnaryExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_0_2, null);
}
)
)
)
(
(
{
newCompositeNode(grammarAccess.getLogicalUnaryExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_0());
}
lv_operand_1_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLogicalUnaryExpressionRule());
}
set(
$current,
"operand",
lv_operand_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleBitwiseUnaryExpression
entryRuleBitwiseUnaryExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBitwiseUnaryExpressionRule()); }
iv_ruleBitwiseUnaryExpression=ruleBitwiseUnaryExpression
{ $current=$iv_ruleBitwiseUnaryExpression.current; }
EOF;
// Rule BitwiseUnaryExpression
ruleBitwiseUnaryExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
lv_operator_0_0='~'
{
newLeafNode(lv_operator_0_0, grammarAccess.getBitwiseUnaryExpressionAccess().getOperatorTildeKeyword_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getBitwiseUnaryExpressionRule());
}
setWithLastConsumed($current, "operator", lv_operator_0_0, "~");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getBitwiseUnaryExpressionAccess().getOperandUnaryExpressionParserRuleCall_1_0());
}
lv_operand_1_0=ruleUnaryExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getBitwiseUnaryExpressionRule());
}
set(
$current,
"operand",
lv_operand_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRulePrimaryExpression
entryRulePrimaryExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPrimaryExpressionRule()); }
iv_rulePrimaryExpression=rulePrimaryExpression
{ $current=$iv_rulePrimaryExpression.current; }
EOF;
// Rule PrimaryExpression
rulePrimaryExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getBaseExpressionParserRuleCall_0());
}
this_BaseExpression_0=ruleBaseExpression
{
$current = $this_BaseExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getPrimaryExpressionAccess().getValueElementSpecificationParentAction_1_0(),
$current);
}
)
otherlv_2='.'
{
newLeafNode(otherlv_2, grammarAccess.getPrimaryExpressionAccess().getFullStopKeyword_1_1());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getElementNamedElementCrossReference_1_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
(
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getKindValueIndexExpressionKindEnumRuleCall_1_3_0_0_0());
}
lv_kind_4_0=ruleValueIndexExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"kind",
lv_kind_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueIndexExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getArgPositionalTupleExpressionListParserRuleCall_1_3_0_1_0());
}
lv_arg_5_0=rulePositionalTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"arg",
lv_arg_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.PositionalTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6=']'
{
newLeafNode(otherlv_6, grammarAccess.getPrimaryExpressionAccess().getRightSquareBracketKeyword_1_3_0_2());
}
)
|
(
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getKindValueParameterExpressionKindEnumRuleCall_1_3_1_0_0());
}
lv_kind_7_0=ruleValueParameterExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"kind",
lv_kind_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueParameterExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getArgMixTupleExpressionListParserRuleCall_1_3_1_1_0());
}
lv_arg_8_0=ruleMixTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"arg",
lv_arg_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.MixTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9=')'
{
newLeafNode(otherlv_9, grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_1_3_1_2());
}
)
)?
)*
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getPrimaryExpressionAccess().getValueElementSpecificationParentAction_2_0(),
$current);
}
)
otherlv_11='->'
{
newLeafNode(otherlv_11, grammarAccess.getPrimaryExpressionAccess().getHyphenMinusGreaterThanSignKeyword_2_1());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getElementNamedElementCrossReference_2_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
(
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getKindValueIndexExpressionKindEnumRuleCall_2_3_0_0_0());
}
lv_kind_13_0=ruleValueIndexExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"kind",
lv_kind_13_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueIndexExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getArgPositionalTupleExpressionListParserRuleCall_2_3_0_1_0());
}
lv_arg_14_0=rulePositionalTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"arg",
lv_arg_14_0,
"org.eclipse.efm.formalml.xtext.FormalML.PositionalTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_15=']'
{
newLeafNode(otherlv_15, grammarAccess.getPrimaryExpressionAccess().getRightSquareBracketKeyword_2_3_0_2());
}
)
|
(
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getKindValueParameterExpressionKindEnumRuleCall_2_3_1_0_0());
}
lv_kind_16_0=ruleValueParameterExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"kind",
lv_kind_16_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueParameterExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getArgMixTupleExpressionListParserRuleCall_2_3_1_1_0());
}
lv_arg_17_0=ruleMixTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"arg",
lv_arg_17_0,
"org.eclipse.efm.formalml.xtext.FormalML.MixTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_18=')'
{
newLeafNode(otherlv_18, grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_2_3_1_2());
}
)
)?
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getPrimaryExpressionAccess().getValueElementSpecificationParentAction_2_4_0(),
$current);
}
)
otherlv_20='.'
{
newLeafNode(otherlv_20, grammarAccess.getPrimaryExpressionAccess().getFullStopKeyword_2_4_1());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPrimaryExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getElementNamedElementCrossReference_2_4_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
(
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getKindValueIndexExpressionKindEnumRuleCall_2_4_3_0_0_0());
}
lv_kind_22_0=ruleValueIndexExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"kind",
lv_kind_22_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueIndexExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getArgPositionalTupleExpressionListParserRuleCall_2_4_3_0_1_0());
}
lv_arg_23_0=rulePositionalTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"arg",
lv_arg_23_0,
"org.eclipse.efm.formalml.xtext.FormalML.PositionalTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_24=']'
{
newLeafNode(otherlv_24, grammarAccess.getPrimaryExpressionAccess().getRightSquareBracketKeyword_2_4_3_0_2());
}
)
|
(
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getKindValueParameterExpressionKindEnumRuleCall_2_4_3_1_0_0());
}
lv_kind_25_0=ruleValueParameterExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"kind",
lv_kind_25_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueParameterExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getArgMixTupleExpressionListParserRuleCall_2_4_3_1_1_0());
}
lv_arg_26_0=ruleMixTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"arg",
lv_arg_26_0,
"org.eclipse.efm.formalml.xtext.FormalML.MixTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_27=')'
{
newLeafNode(otherlv_27, grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_2_4_3_1_2());
}
)
)?
)*
)?
)
;
// Entry rule entryRuleBaseExpression
entryRuleBaseExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getBaseExpressionRule()); }
iv_ruleBaseExpression=ruleBaseExpression
{ $current=$iv_ruleBaseExpression.current; }
EOF;
// Rule BaseExpression
ruleBaseExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getBaseExpressionAccess().getLiteralReferenceableExpressionParserRuleCall_0());
}
this_LiteralReferenceableExpression_0=ruleLiteralReferenceableExpression
{
$current = $this_LiteralReferenceableExpression_0.current;
afterParserOrEnumRuleCall();
}
|
(
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getBaseExpressionAccess().getLeftParenthesisKeyword_1_0());
}
{
/* */
}
{
newCompositeNode(grammarAccess.getBaseExpressionAccess().getExpressionParserRuleCall_1_1());
}
this_Expression_2=ruleExpression
{
$current = $this_Expression_2.current;
afterParserOrEnumRuleCall();
}
otherlv_3=')'
{
newLeafNode(otherlv_3, grammarAccess.getBaseExpressionAccess().getRightParenthesisKeyword_1_2());
}
)
|
{
/* */
}
{
newCompositeNode(grammarAccess.getBaseExpressionAccess().getInvokeExpressionDeprecatedParserRuleCall_2());
}
this_InvokeExpressionDeprecated_4=ruleInvokeExpressionDeprecated
{
$current = $this_InvokeExpressionDeprecated_4.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getBaseExpressionAccess().getDynamicInstantiationExpressionParserRuleCall_3());
}
this_DynamicInstantiationExpression_5=ruleDynamicInstantiationExpression
{
$current = $this_DynamicInstantiationExpression_5.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleInvokeExpressionDeprecated
entryRuleInvokeExpressionDeprecated returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getInvokeExpressionDeprecatedRule()); }
iv_ruleInvokeExpressionDeprecated=ruleInvokeExpressionDeprecated
{ $current=$iv_ruleInvokeExpressionDeprecated.current; }
EOF;
// Rule InvokeExpressionDeprecated
ruleInvokeExpressionDeprecated returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getInvokeExpressionDeprecatedAccess().getInvokeExpressionAction_0(),
$current);
}
)
otherlv_1='(:'
{
newLeafNode(otherlv_1, grammarAccess.getInvokeExpressionDeprecatedAccess().getLeftParenthesisColonKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getInvokeExpressionDeprecatedAccess().getArgsExpressionParserRuleCall_2_0());
}
lv_args_2_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInvokeExpressionDeprecatedRule());
}
add(
$current,
"args",
lv_args_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getInvokeExpressionDeprecatedAccess().getInvokableLiteralReferenceElementParserRuleCall_3_0());
}
lv_invokable_3_0=ruleLiteralReferenceElement
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInvokeExpressionDeprecatedRule());
}
set(
$current,
"invokable",
lv_invokable_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.LiteralReferenceElement");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getInvokeExpressionDeprecatedAccess().getArgsExpressionParserRuleCall_4_0());
}
lv_args_4_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInvokeExpressionDeprecatedRule());
}
add(
$current,
"args",
lv_args_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)*
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getInvokeExpressionDeprecatedAccess().getRightParenthesisKeyword_5());
}
)
;
// Entry rule entryRuleDynamicInstantiationExpression
entryRuleDynamicInstantiationExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDynamicInstantiationExpressionRule()); }
iv_ruleDynamicInstantiationExpression=ruleDynamicInstantiationExpression
{ $current=$iv_ruleDynamicInstantiationExpression.current; }
EOF;
// Rule DynamicInstantiationExpression
ruleDynamicInstantiationExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getDynamicInstantiationExpressionAccess().getInstantiationExpressionAction_0(),
$current);
}
)
otherlv_1='new'
{
newLeafNode(otherlv_1, grammarAccess.getDynamicInstantiationExpressionAccess().getNewKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDynamicInstantiationExpressionAccess().getInstanceInstanceSpecificationParserRuleCall_2_0());
}
lv_instance_2_0=ruleInstanceSpecification
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDynamicInstantiationExpressionRule());
}
set(
$current,
"instance",
lv_instance_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.InstanceSpecification");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleInstanceSpecification
entryRuleInstanceSpecification returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getInstanceSpecificationRule()); }
iv_ruleInstanceSpecification=ruleInstanceSpecification
{ $current=$iv_ruleInstanceSpecification.current; }
EOF;
// Rule InstanceSpecification
ruleInstanceSpecification returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getInstanceSpecificationAccess().getInstanceMachineAction_0(),
$current);
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInstanceSpecificationRule());
}
}
{
newCompositeNode(grammarAccess.getInstanceSpecificationAccess().getModelMachineCrossReference_1_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getInstanceSpecificationAccess().getLeftParenthesisKeyword_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getInstanceSpecificationAccess().getSlotSlotParameterParserRuleCall_2_1_0_0());
}
lv_slot_3_0=ruleSlotParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstanceSpecificationRule());
}
add(
$current,
"slot",
lv_slot_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.SlotParameter");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getInstanceSpecificationAccess().getCommaKeyword_2_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getInstanceSpecificationAccess().getSlotSlotParameterParserRuleCall_2_1_1_1_0());
}
lv_slot_5_0=ruleSlotParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstanceSpecificationRule());
}
add(
$current,
"slot",
lv_slot_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.SlotParameter");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
otherlv_6=')'
{
newLeafNode(otherlv_6, grammarAccess.getInstanceSpecificationAccess().getRightParenthesisKeyword_2_2());
}
)?
(
otherlv_7='{'
{
newLeafNode(otherlv_7, grammarAccess.getInstanceSpecificationAccess().getLeftCurlyBracketKeyword_3_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getInstanceSpecificationAccess().getSlotSlotPropertyParserRuleCall_3_1_0_0());
}
lv_slot_8_0=ruleSlotProperty
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstanceSpecificationRule());
}
add(
$current,
"slot",
lv_slot_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.SlotProperty");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9=';'
{
newLeafNode(otherlv_9, grammarAccess.getInstanceSpecificationAccess().getSemicolonKeyword_3_1_1());
}
)*
otherlv_10='}'
{
newLeafNode(otherlv_10, grammarAccess.getInstanceSpecificationAccess().getRightCurlyBracketKeyword_3_2());
}
)?
)
;
// Entry rule entryRuleTupleParameterExpression
entryRuleTupleParameterExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getTupleParameterExpressionRule()); }
iv_ruleTupleParameterExpression=ruleTupleParameterExpression
{ $current=$iv_ruleTupleParameterExpression.current; }
EOF;
// Rule TupleParameterExpression
ruleTupleParameterExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='('
{
newLeafNode(otherlv_0, grammarAccess.getTupleParameterExpressionAccess().getLeftParenthesisKeyword_0());
}
{
/* */
}
{
newCompositeNode(grammarAccess.getTupleParameterExpressionAccess().getMixTupleExpressionListParserRuleCall_1());
}
this_MixTupleExpressionList_1=ruleMixTupleExpressionList
{
$current = $this_MixTupleExpressionList_1.current;
afterParserOrEnumRuleCall();
}
otherlv_2=')'
{
newLeafNode(otherlv_2, grammarAccess.getTupleParameterExpressionAccess().getRightParenthesisKeyword_2());
}
)
;
// Entry rule entryRuleMixTupleExpressionList
entryRuleMixTupleExpressionList returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getMixTupleExpressionListRule()); }
iv_ruleMixTupleExpressionList=ruleMixTupleExpressionList
{ $current=$iv_ruleMixTupleExpressionList.current; }
EOF;
// Rule MixTupleExpressionList
ruleMixTupleExpressionList returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getMixTupleExpressionListAccess().getMixTupleExpressionAction_0(),
$current);
}
)
(
(
(
{
newCompositeNode(grammarAccess.getMixTupleExpressionListAccess().getValueExpressionParserRuleCall_1_0_0());
}
lv_value_1_1=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMixTupleExpressionListRule());
}
add(
$current,
"value",
lv_value_1_1,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getMixTupleExpressionListAccess().getValueNamedExpressionParserRuleCall_1_0_1());
}
lv_value_1_2=ruleNamedExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMixTupleExpressionListRule());
}
add(
$current,
"value",
lv_value_1_2,
"org.eclipse.efm.formalml.xtext.FormalML.NamedExpression");
afterParserOrEnumRuleCall();
}
)
)
)
(
otherlv_2=','
{
newLeafNode(otherlv_2, grammarAccess.getMixTupleExpressionListAccess().getCommaKeyword_2_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getMixTupleExpressionListAccess().getValueExpressionParserRuleCall_2_1_0_0());
}
lv_value_3_1=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMixTupleExpressionListRule());
}
add(
$current,
"value",
lv_value_3_1,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getMixTupleExpressionListAccess().getValueNamedExpressionParserRuleCall_2_1_0_1());
}
lv_value_3_2=ruleNamedExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMixTupleExpressionListRule());
}
add(
$current,
"value",
lv_value_3_2,
"org.eclipse.efm.formalml.xtext.FormalML.NamedExpression");
afterParserOrEnumRuleCall();
}
)
)
)
)*
)
;
// Entry rule entryRulePositionalTupleExpressionList
entryRulePositionalTupleExpressionList returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getPositionalTupleExpressionListRule()); }
iv_rulePositionalTupleExpressionList=rulePositionalTupleExpressionList
{ $current=$iv_rulePositionalTupleExpressionList.current; }
EOF;
// Rule PositionalTupleExpressionList
rulePositionalTupleExpressionList returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getPositionalTupleExpressionListAccess().getValueExpressionParserRuleCall_0_0());
}
lv_value_0_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPositionalTupleExpressionListRule());
}
add(
$current,
"value",
lv_value_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_1=','
{
newLeafNode(otherlv_1, grammarAccess.getPositionalTupleExpressionListAccess().getCommaKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getPositionalTupleExpressionListAccess().getValueExpressionParserRuleCall_1_1_0());
}
lv_value_2_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPositionalTupleExpressionListRule());
}
add(
$current,
"value",
lv_value_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleNamedExpression
entryRuleNamedExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getNamedExpressionRule()); }
iv_ruleNamedExpression=ruleNamedExpression
{ $current=$iv_ruleNamedExpression.current; }
EOF;
// Rule NamedExpression
ruleNamedExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
lv_name_0_0=RULE_XLIA_ID
{
newLeafNode(lv_name_0_0, grammarAccess.getNamedExpressionAccess().getNameXLIA_IDTerminalRuleCall_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getNamedExpressionRule());
}
setWithLastConsumed(
$current,
"name",
lv_name_0_0,
"org.eclipse.efm.formalml.xtext.FormalML.XLIA_ID");
}
)
)
(
otherlv_1=':'
{
newLeafNode(otherlv_1, grammarAccess.getNamedExpressionAccess().getColonKeyword_1_0());
}
|
otherlv_2='=>'
{
newLeafNode(otherlv_2, grammarAccess.getNamedExpressionAccess().getEqualsSignGreaterThanSignKeyword_1_1());
}
|
otherlv_3='<-'
{
newLeafNode(otherlv_3, grammarAccess.getNamedExpressionAccess().getLessThanSignHyphenMinusKeyword_1_2());
}
)
(
(
{
newCompositeNode(grammarAccess.getNamedExpressionAccess().getExpressionExpressionParserRuleCall_2_0());
}
lv_expression_4_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getNamedExpressionRule());
}
set(
$current,
"expression",
lv_expression_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralReferenceableExpression
entryRuleLiteralReferenceableExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralReferenceableExpressionRule()); }
iv_ruleLiteralReferenceableExpression=ruleLiteralReferenceableExpression
{ $current=$iv_ruleLiteralReferenceableExpression.current; }
EOF;
// Rule LiteralReferenceableExpression
ruleLiteralReferenceableExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceableExpressionAccess().getLiteralCollectionExpressionParserRuleCall_0());
}
this_LiteralCollectionExpression_0=ruleLiteralCollectionExpression
{
$current = $this_LiteralCollectionExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceableExpressionAccess().getLiteralReferenceExpressionParserRuleCall_1());
}
this_LiteralReferenceExpression_1=ruleLiteralReferenceExpression
{
$current = $this_LiteralReferenceExpression_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleLiteralTerminalExpression
entryRuleLiteralTerminalExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralTerminalExpressionRule()); }
iv_ruleLiteralTerminalExpression=ruleLiteralTerminalExpression
{ $current=$iv_ruleLiteralTerminalExpression.current; }
EOF;
// Rule LiteralTerminalExpression
ruleLiteralTerminalExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralBooleanExpressionParserRuleCall_0());
}
this_LiteralBooleanExpression_0=ruleLiteralBooleanExpression
{
$current = $this_LiteralBooleanExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralIntegerExpressionParserRuleCall_1());
}
this_LiteralIntegerExpression_1=ruleLiteralIntegerExpression
{
$current = $this_LiteralIntegerExpression_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralRationalExpressionParserRuleCall_2());
}
this_LiteralRationalExpression_2=ruleLiteralRationalExpression
{
$current = $this_LiteralRationalExpression_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralFloatExpressionParserRuleCall_3());
}
this_LiteralFloatExpression_3=ruleLiteralFloatExpression
{
$current = $this_LiteralFloatExpression_3.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralCharacterExpressionParserRuleCall_4());
}
this_LiteralCharacterExpression_4=ruleLiteralCharacterExpression
{
$current = $this_LiteralCharacterExpression_4.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralStringExpressionParserRuleCall_5());
}
this_LiteralStringExpression_5=ruleLiteralStringExpression
{
$current = $this_LiteralStringExpression_5.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralNullExpressionParserRuleCall_6());
}
this_LiteralNullExpression_6=ruleLiteralNullExpression
{
$current = $this_LiteralNullExpression_6.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralAnyValueExpressionParserRuleCall_7());
}
this_LiteralAnyValueExpression_7=ruleLiteralAnyValueExpression
{
$current = $this_LiteralAnyValueExpression_7.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralOptionalValueExpressionParserRuleCall_8());
}
this_LiteralOptionalValueExpression_8=ruleLiteralOptionalValueExpression
{
$current = $this_LiteralOptionalValueExpression_8.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralNoneValueExpressionParserRuleCall_9());
}
this_LiteralNoneValueExpression_9=ruleLiteralNoneValueExpression
{
$current = $this_LiteralNoneValueExpression_9.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralTerminalExpressionAccess().getLiteralAnyOrNoneValueExpressionParserRuleCall_10());
}
this_LiteralAnyOrNoneValueExpression_10=ruleLiteralAnyOrNoneValueExpression
{
$current = $this_LiteralAnyOrNoneValueExpression_10.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleLiteralBooleanExpression
entryRuleLiteralBooleanExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralBooleanExpressionRule()); }
iv_ruleLiteralBooleanExpression=ruleLiteralBooleanExpression
{ $current=$iv_ruleLiteralBooleanExpression.current; }
EOF;
// Rule LiteralBooleanExpression
ruleLiteralBooleanExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralBooleanExpressionAccess().getLiteralBooleanExpressionAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getLiteralBooleanExpressionAccess().getValueEBooleanParserRuleCall_1_0());
}
lv_value_1_0=ruleEBoolean
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralBooleanExpressionRule());
}
set(
$current,
"value",
lv_value_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.EBoolean");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralIntegerExpression
entryRuleLiteralIntegerExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralIntegerExpressionRule()); }
iv_ruleLiteralIntegerExpression=ruleLiteralIntegerExpression
{ $current=$iv_ruleLiteralIntegerExpression.current; }
EOF;
// Rule LiteralIntegerExpression
ruleLiteralIntegerExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralIntegerExpressionAccess().getLiteralIntegerExpressionAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getLiteralIntegerExpressionAccess().getValueEIntegerParserRuleCall_1_0());
}
lv_value_1_0=ruleEInteger
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralIntegerExpressionRule());
}
set(
$current,
"value",
lv_value_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInteger");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralRationalExpression
entryRuleLiteralRationalExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralRationalExpressionRule()); }
iv_ruleLiteralRationalExpression=ruleLiteralRationalExpression
{ $current=$iv_ruleLiteralRationalExpression.current; }
EOF;
// Rule LiteralRationalExpression
ruleLiteralRationalExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralRationalExpressionAccess().getLiteralRationalExpressionAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getLiteralRationalExpressionAccess().getNumeratorEIntegerParserRuleCall_1_0());
}
lv_numerator_1_0=ruleEInteger
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralRationalExpressionRule());
}
set(
$current,
"numerator",
lv_numerator_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInteger");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2='/'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralRationalExpressionAccess().getSolidusKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getLiteralRationalExpressionAccess().getDenominatorEIntegerParserRuleCall_3_0());
}
lv_denominator_3_0=ruleEInteger
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralRationalExpressionRule());
}
set(
$current,
"denominator",
lv_denominator_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.EInteger");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralFloatExpression
entryRuleLiteralFloatExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralFloatExpressionRule()); }
iv_ruleLiteralFloatExpression=ruleLiteralFloatExpression
{ $current=$iv_ruleLiteralFloatExpression.current; }
EOF;
// Rule LiteralFloatExpression
ruleLiteralFloatExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralFloatExpressionAccess().getLiteralFloatExpressionAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getLiteralFloatExpressionAccess().getValueEDoubleParserRuleCall_1_0());
}
lv_value_1_0=ruleEDouble
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralFloatExpressionRule());
}
set(
$current,
"value",
lv_value_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.EDouble");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralCharacterExpression
entryRuleLiteralCharacterExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralCharacterExpressionRule()); }
iv_ruleLiteralCharacterExpression=ruleLiteralCharacterExpression
{ $current=$iv_ruleLiteralCharacterExpression.current; }
EOF;
// Rule LiteralCharacterExpression
ruleLiteralCharacterExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralCharacterExpressionAccess().getLiteralCharacterExpressionAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getLiteralCharacterExpressionAccess().getValueECharacterParserRuleCall_1_0());
}
lv_value_1_0=ruleECharacter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralCharacterExpressionRule());
}
set(
$current,
"value",
lv_value_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.ECharacter");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralStringExpression
entryRuleLiteralStringExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralStringExpressionRule()); }
iv_ruleLiteralStringExpression=ruleLiteralStringExpression
{ $current=$iv_ruleLiteralStringExpression.current; }
EOF;
// Rule LiteralStringExpression
ruleLiteralStringExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralStringExpressionAccess().getLiteralStringExpressionAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getLiteralStringExpressionAccess().getValueEStringParserRuleCall_1_0());
}
lv_value_1_0=ruleEString
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralStringExpressionRule());
}
set(
$current,
"value",
lv_value_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.EString");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralNullExpression
entryRuleLiteralNullExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralNullExpressionRule()); }
iv_ruleLiteralNullExpression=ruleLiteralNullExpression
{ $current=$iv_ruleLiteralNullExpression.current; }
EOF;
// Rule LiteralNullExpression
ruleLiteralNullExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralNullExpressionAccess().getLiteralNullExpressionAction_0(),
$current);
}
)
otherlv_1='$null'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralNullExpressionAccess().getNullKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralNullExpressionAccess().getLessThanSignKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getLiteralNullExpressionAccess().getTypeNullPrimitiveInstanceTypeParserRuleCall_2_1_0());
}
lv_type_3_0=ruleNullPrimitiveInstanceType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralNullExpressionRule());
}
set(
$current,
"type",
lv_type_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.NullPrimitiveInstanceType");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getLiteralNullExpressionAccess().getGreaterThanSignKeyword_2_2());
}
)?
)
;
// Entry rule entryRuleNullPrimitiveInstanceType
entryRuleNullPrimitiveInstanceType returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getNullPrimitiveInstanceTypeRule()); }
iv_ruleNullPrimitiveInstanceType=ruleNullPrimitiveInstanceType
{ $current=$iv_ruleNullPrimitiveInstanceType.current; }
EOF;
// Rule NullPrimitiveInstanceType
ruleNullPrimitiveInstanceType returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getNullPrimitiveInstanceTypeAccess().getPrimitiveInstanceTypeAction_0_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getNullPrimitiveInstanceTypeAccess().getExpectedPrimitiveInstanceKindEnumRuleCall_0_1_0());
}
lv_expected_1_0=rulePrimitiveInstanceKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getNullPrimitiveInstanceTypeRule());
}
set(
$current,
"expected",
lv_expected_1_0,
"org.eclipse.efm.formalml.xtext.FormalML.PrimitiveInstanceKind");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getNullPrimitiveInstanceTypeAccess().getPrimitiveInstanceTypeAction_1_0(),
$current);
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getNullPrimitiveInstanceTypeRule());
}
}
{
newCompositeNode(grammarAccess.getNullPrimitiveInstanceTypeAccess().getModelNamedElementCrossReference_1_1_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
)
)
;
// Entry rule entryRuleAnyDataTypeReference
entryRuleAnyDataTypeReference returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getAnyDataTypeReferenceRule()); }
iv_ruleAnyDataTypeReference=ruleAnyDataTypeReference
{ $current=$iv_ruleAnyDataTypeReference.current; }
EOF;
// Rule AnyDataTypeReference
ruleAnyDataTypeReference returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
newCompositeNode(grammarAccess.getAnyDataTypeReferenceAccess().getSimpleDataTypeParserRuleCall_0_0());
}
this_SimpleDataType_0=ruleSimpleDataType
{
$current = $this_SimpleDataType_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getAnyDataTypeReferenceAccess().getDataTypeReferenceSupportAction_0_1_0(),
$current);
}
)
otherlv_2='['
{
newLeafNode(otherlv_2, grammarAccess.getAnyDataTypeReferenceAccess().getLeftSquareBracketKeyword_0_1_1());
}
(
(
{
newCompositeNode(grammarAccess.getAnyDataTypeReferenceAccess().getMultiplicityDataTypeMultiplicityParserRuleCall_0_1_2_0());
}
lv_multiplicity_3_0=ruleDataTypeMultiplicity
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAnyDataTypeReferenceRule());
}
set(
$current,
"multiplicity",
lv_multiplicity_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataTypeMultiplicity");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4=']'
{
newLeafNode(otherlv_4, grammarAccess.getAnyDataTypeReferenceAccess().getRightSquareBracketKeyword_0_1_3());
}
)?
)
|
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getAnyDataTypeReferenceAccess().getDataTypeReferenceAction_1_0(),
$current);
}
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getAnyDataTypeReferenceRule());
}
}
{
newCompositeNode(grammarAccess.getAnyDataTypeReferenceAccess().getTyperefDataTypeCrossReference_1_1_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_7='['
{
newLeafNode(otherlv_7, grammarAccess.getAnyDataTypeReferenceAccess().getLeftSquareBracketKeyword_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getAnyDataTypeReferenceAccess().getMultiplicityDataTypeMultiplicityParserRuleCall_1_2_1_0());
}
lv_multiplicity_8_0=ruleDataTypeMultiplicity
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAnyDataTypeReferenceRule());
}
set(
$current,
"multiplicity",
lv_multiplicity_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataTypeMultiplicity");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9=']'
{
newLeafNode(otherlv_9, grammarAccess.getAnyDataTypeReferenceAccess().getRightSquareBracketKeyword_1_2_2());
}
)?
)
)
;
// Entry rule entryRuleLiteralAnyValueExpression
entryRuleLiteralAnyValueExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralAnyValueExpressionRule()); }
iv_ruleLiteralAnyValueExpression=ruleLiteralAnyValueExpression
{ $current=$iv_ruleLiteralAnyValueExpression.current; }
EOF;
// Rule LiteralAnyValueExpression
ruleLiteralAnyValueExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralAnyValueExpressionAccess().getLiteralAnyValueExpressionAction_0(),
$current);
}
)
otherlv_1='$any'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralAnyValueExpressionAccess().getAnyKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralAnyValueExpressionAccess().getLessThanSignKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getLiteralAnyValueExpressionAccess().getTypeAnyDataTypeReferenceParserRuleCall_2_1_0());
}
lv_type_3_0=ruleAnyDataTypeReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralAnyValueExpressionRule());
}
set(
$current,
"type",
lv_type_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyDataTypeReference");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getLiteralAnyValueExpressionAccess().getGreaterThanSignKeyword_2_2());
}
)?
)
;
// Entry rule entryRuleLiteralOptionalValueExpression
entryRuleLiteralOptionalValueExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralOptionalValueExpressionRule()); }
iv_ruleLiteralOptionalValueExpression=ruleLiteralOptionalValueExpression
{ $current=$iv_ruleLiteralOptionalValueExpression.current; }
EOF;
// Rule LiteralOptionalValueExpression
ruleLiteralOptionalValueExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralOptionalValueExpressionAccess().getLiteralOptionalValueExpressionAction_0(),
$current);
}
)
otherlv_1='$optional'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralOptionalValueExpressionAccess().getOptionalKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralOptionalValueExpressionAccess().getLessThanSignKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getLiteralOptionalValueExpressionAccess().getTypeAnyDataTypeReferenceParserRuleCall_2_1_0());
}
lv_type_3_0=ruleAnyDataTypeReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralOptionalValueExpressionRule());
}
set(
$current,
"type",
lv_type_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyDataTypeReference");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getLiteralOptionalValueExpressionAccess().getGreaterThanSignKeyword_2_2());
}
)?
)
;
// Entry rule entryRuleLiteralNoneValueExpression
entryRuleLiteralNoneValueExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralNoneValueExpressionRule()); }
iv_ruleLiteralNoneValueExpression=ruleLiteralNoneValueExpression
{ $current=$iv_ruleLiteralNoneValueExpression.current; }
EOF;
// Rule LiteralNoneValueExpression
ruleLiteralNoneValueExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralNoneValueExpressionAccess().getLiteralNoneValueExpressionAction_0(),
$current);
}
)
otherlv_1='$none'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralNoneValueExpressionAccess().getNoneKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralNoneValueExpressionAccess().getLessThanSignKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getLiteralNoneValueExpressionAccess().getTypeAnyDataTypeReferenceParserRuleCall_2_1_0());
}
lv_type_3_0=ruleAnyDataTypeReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralNoneValueExpressionRule());
}
set(
$current,
"type",
lv_type_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyDataTypeReference");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getLiteralNoneValueExpressionAccess().getGreaterThanSignKeyword_2_2());
}
)?
)
;
// Entry rule entryRuleLiteralAnyOrNoneValueExpression
entryRuleLiteralAnyOrNoneValueExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralAnyOrNoneValueExpressionRule()); }
iv_ruleLiteralAnyOrNoneValueExpression=ruleLiteralAnyOrNoneValueExpression
{ $current=$iv_ruleLiteralAnyOrNoneValueExpression.current; }
EOF;
// Rule LiteralAnyOrNoneValueExpression
ruleLiteralAnyOrNoneValueExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralAnyOrNoneValueExpressionAccess().getLiteralAnyOrNoneValueExpressionAction_0(),
$current);
}
)
otherlv_1='$any$none'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralAnyOrNoneValueExpressionAccess().getAnyNoneKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralAnyOrNoneValueExpressionAccess().getLessThanSignKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getLiteralAnyOrNoneValueExpressionAccess().getTypeAnyDataTypeReferenceParserRuleCall_2_1_0());
}
lv_type_3_0=ruleAnyDataTypeReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralAnyOrNoneValueExpressionRule());
}
set(
$current,
"type",
lv_type_3_0,
"org.eclipse.efm.formalml.xtext.FormalML.AnyDataTypeReference");
afterParserOrEnumRuleCall();
}
)
)
otherlv_4='>'
{
newLeafNode(otherlv_4, grammarAccess.getLiteralAnyOrNoneValueExpressionAccess().getGreaterThanSignKeyword_2_2());
}
)?
)
;
// Entry rule entryRuleLiteralCollectionExpression
entryRuleLiteralCollectionExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralCollectionExpressionRule()); }
iv_ruleLiteralCollectionExpression=ruleLiteralCollectionExpression
{ $current=$iv_ruleLiteralCollectionExpression.current; }
EOF;
// Rule LiteralCollectionExpression
ruleLiteralCollectionExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralCollectionExpressionAccess().getLiteralCollectionExpressionAction_0(),
$current);
}
)
(
otherlv_1='<'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralCollectionExpressionAccess().getLessThanSignKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getLiteralCollectionExpressionAccess().getDatatypeDataTypeParserRuleCall_1_1_0());
}
lv_datatype_2_0=ruleDataType
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralCollectionExpressionRule());
}
set(
$current,
"datatype",
lv_datatype_2_0,
"org.eclipse.efm.formalml.xtext.FormalML.DataType");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3='>'
{
newLeafNode(otherlv_3, grammarAccess.getLiteralCollectionExpressionAccess().getGreaterThanSignKeyword_1_2());
}
)?
otherlv_4='{'
{
newLeafNode(otherlv_4, grammarAccess.getLiteralCollectionExpressionAccess().getLeftCurlyBracketKeyword_2());
}
(
(
(
(
{
newCompositeNode(grammarAccess.getLiteralCollectionExpressionAccess().getValueExpressionParserRuleCall_3_0_0_0());
}
lv_value_5_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralCollectionExpressionRule());
}
add(
$current,
"value",
lv_value_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getLiteralCollectionExpressionAccess().getValueNamedExpressionParserRuleCall_3_0_1_0());
}
lv_value_6_0=ruleNamedExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralCollectionExpressionRule());
}
add(
$current,
"value",
lv_value_6_0,
"org.eclipse.efm.formalml.xtext.FormalML.NamedExpression");
afterParserOrEnumRuleCall();
}
)
)
)
(
otherlv_7=','
{
newLeafNode(otherlv_7, grammarAccess.getLiteralCollectionExpressionAccess().getCommaKeyword_3_1_0());
}
(
(
(
{
newCompositeNode(grammarAccess.getLiteralCollectionExpressionAccess().getValueExpressionParserRuleCall_3_1_1_0_0());
}
lv_value_8_0=ruleExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralCollectionExpressionRule());
}
add(
$current,
"value",
lv_value_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.Expression");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getLiteralCollectionExpressionAccess().getValueNamedExpressionParserRuleCall_3_1_1_1_0());
}
lv_value_9_0=ruleNamedExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralCollectionExpressionRule());
}
add(
$current,
"value",
lv_value_9_0,
"org.eclipse.efm.formalml.xtext.FormalML.NamedExpression");
afterParserOrEnumRuleCall();
}
)
)
)
)*
)?
otherlv_10='}'
{
newLeafNode(otherlv_10, grammarAccess.getLiteralCollectionExpressionAccess().getRightCurlyBracketKeyword_4());
}
)
;
// Entry rule entryRuleLiteralReferenceExpression
entryRuleLiteralReferenceExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralReferenceExpressionRule()); }
iv_ruleLiteralReferenceExpression=ruleLiteralReferenceExpression
{ $current=$iv_ruleLiteralReferenceExpression.current; }
EOF;
// Rule LiteralReferenceExpression
ruleLiteralReferenceExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceExpressionAccess().getLiteralReferenceElementParserRuleCall_0());
}
this_LiteralReferenceElement_0=ruleLiteralReferenceElement
{
$current = $this_LiteralReferenceElement_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceExpressionAccess().getLiteralReferenceVariableContextParserRuleCall_1());
}
this_LiteralReferenceVariableContext_1=ruleLiteralReferenceVariableContext
{
$current = $this_LiteralReferenceVariableContext_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceExpressionAccess().getLiteralReferenceMachineContextParserRuleCall_2());
}
this_LiteralReferenceMachineContext_2=ruleLiteralReferenceMachineContext
{
$current = $this_LiteralReferenceMachineContext_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceExpressionAccess().getLiteralEnvExpressionParserRuleCall_3());
}
this_LiteralEnvExpression_3=ruleLiteralEnvExpression
{
$current = $this_LiteralEnvExpression_3.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleLiteralReferenceElement
entryRuleLiteralReferenceElement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralReferenceElementRule()); }
iv_ruleLiteralReferenceElement=ruleLiteralReferenceElement
{ $current=$iv_ruleLiteralReferenceElement.current; }
EOF;
// Rule LiteralReferenceElement
ruleLiteralReferenceElement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralReferenceElementAccess().getLiteralReferenceElementAction_0(),
$current);
}
)
(
otherlv_1='spec::'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralReferenceElementAccess().getSpecKeyword_1_0());
}
|
otherlv_2='::'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralReferenceElementAccess().getColonColonKeyword_1_1());
}
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLiteralReferenceElementRule());
}
}
{
newCompositeNode(grammarAccess.getLiteralReferenceElementAccess().getElementNamedElementCrossReference_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
(
(
(
{
newCompositeNode(grammarAccess.getLiteralReferenceElementAccess().getKindValueIndexExpressionKindEnumRuleCall_3_0_0_0());
}
lv_kind_4_0=ruleValueIndexExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralReferenceElementRule());
}
set(
$current,
"kind",
lv_kind_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueIndexExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getLiteralReferenceElementAccess().getArgPositionalTupleExpressionListParserRuleCall_3_0_1_0());
}
lv_arg_5_0=rulePositionalTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralReferenceElementRule());
}
set(
$current,
"arg",
lv_arg_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.PositionalTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6=']'
{
newLeafNode(otherlv_6, grammarAccess.getLiteralReferenceElementAccess().getRightSquareBracketKeyword_3_0_2());
}
)
|
(
(
(
{
newCompositeNode(grammarAccess.getLiteralReferenceElementAccess().getKindValueParameterExpressionKindEnumRuleCall_3_1_0_0());
}
lv_kind_7_0=ruleValueParameterExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralReferenceElementRule());
}
set(
$current,
"kind",
lv_kind_7_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueParameterExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getLiteralReferenceElementAccess().getArgMixTupleExpressionListParserRuleCall_3_1_1_0());
}
lv_arg_8_0=ruleMixTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getLiteralReferenceElementRule());
}
set(
$current,
"arg",
lv_arg_8_0,
"org.eclipse.efm.formalml.xtext.FormalML.MixTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9=')'
{
newLeafNode(otherlv_9, grammarAccess.getLiteralReferenceElementAccess().getRightParenthesisKeyword_3_1_2());
}
)
)?
)
;
// Entry rule entryRuleLiteralPureReferenceElement
entryRuleLiteralPureReferenceElement returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralPureReferenceElementRule()); }
iv_ruleLiteralPureReferenceElement=ruleLiteralPureReferenceElement
{ $current=$iv_ruleLiteralPureReferenceElement.current; }
EOF;
// Rule LiteralPureReferenceElement
ruleLiteralPureReferenceElement returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralPureReferenceElementAccess().getLiteralReferenceElementAction_0(),
$current);
}
)
(
otherlv_1='spec::'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralPureReferenceElementAccess().getSpecKeyword_1_0());
}
|
otherlv_2='::'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralPureReferenceElementAccess().getColonColonKeyword_1_1());
}
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLiteralPureReferenceElementRule());
}
}
{
newCompositeNode(grammarAccess.getLiteralPureReferenceElementAccess().getElementNamedElementCrossReference_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleLiteralReferenceVariableContext
entryRuleLiteralReferenceVariableContext returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralReferenceVariableContextRule()); }
iv_ruleLiteralReferenceVariableContext=ruleLiteralReferenceVariableContext
{ $current=$iv_ruleLiteralReferenceVariableContext.current; }
EOF;
// Rule LiteralReferenceVariableContext
ruleLiteralReferenceVariableContext returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceVariableContextAccess().getLiteralTimeExpressionParserRuleCall_0());
}
this_LiteralTimeExpression_0=ruleLiteralTimeExpression
{
$current = $this_LiteralTimeExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceVariableContextAccess().getLiteralTimeDeltaExpressionParserRuleCall_1());
}
this_LiteralTimeDeltaExpression_1=ruleLiteralTimeDeltaExpression
{
$current = $this_LiteralTimeDeltaExpression_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceVariableContextAccess().getLiteralTimeInitialExpressionParserRuleCall_2());
}
this_LiteralTimeInitialExpression_2=ruleLiteralTimeInitialExpression
{
$current = $this_LiteralTimeInitialExpression_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceVariableContextAccess().getLiteralTimeDeltaInitialExpressionParserRuleCall_3());
}
this_LiteralTimeDeltaInitialExpression_3=ruleLiteralTimeDeltaInitialExpression
{
$current = $this_LiteralTimeDeltaInitialExpression_3.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleLiteralTimeExpression
entryRuleLiteralTimeExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralTimeExpressionRule()); }
iv_ruleLiteralTimeExpression=ruleLiteralTimeExpression
{ $current=$iv_ruleLiteralTimeExpression.current; }
EOF;
// Rule LiteralTimeExpression
ruleLiteralTimeExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralTimeExpressionAccess().getLiteralTimeExpressionAction_0(),
$current);
}
)
otherlv_1='$time'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralTimeExpressionAccess().getTimeKeyword_1());
}
)
;
// Entry rule entryRuleLiteralTimeInitialExpression
entryRuleLiteralTimeInitialExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralTimeInitialExpressionRule()); }
iv_ruleLiteralTimeInitialExpression=ruleLiteralTimeInitialExpression
{ $current=$iv_ruleLiteralTimeInitialExpression.current; }
EOF;
// Rule LiteralTimeInitialExpression
ruleLiteralTimeInitialExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralTimeInitialExpressionAccess().getLiteralTimeExpressionAction_0(),
$current);
}
)
otherlv_1='$time#initial'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralTimeInitialExpressionAccess().getTimeInitialKeyword_1());
}
)
;
// Entry rule entryRuleLiteralTimeDeltaExpression
entryRuleLiteralTimeDeltaExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralTimeDeltaExpressionRule()); }
iv_ruleLiteralTimeDeltaExpression=ruleLiteralTimeDeltaExpression
{ $current=$iv_ruleLiteralTimeDeltaExpression.current; }
EOF;
// Rule LiteralTimeDeltaExpression
ruleLiteralTimeDeltaExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralTimeDeltaExpressionAccess().getLiteralTimeDeltaExpressionAction_0(),
$current);
}
)
otherlv_1='$delta'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralTimeDeltaExpressionAccess().getDeltaKeyword_1());
}
)
;
// Entry rule entryRuleLiteralTimeDeltaInitialExpression
entryRuleLiteralTimeDeltaInitialExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralTimeDeltaInitialExpressionRule()); }
iv_ruleLiteralTimeDeltaInitialExpression=ruleLiteralTimeDeltaInitialExpression
{ $current=$iv_ruleLiteralTimeDeltaInitialExpression.current; }
EOF;
// Rule LiteralTimeDeltaInitialExpression
ruleLiteralTimeDeltaInitialExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralTimeDeltaInitialExpressionAccess().getLiteralTimeDeltaExpressionAction_0(),
$current);
}
)
otherlv_1='$delta#initial'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralTimeDeltaInitialExpressionAccess().getDeltaInitialKeyword_1());
}
)
;
// Entry rule entryRuleLiteralReferenceMachineContext
entryRuleLiteralReferenceMachineContext returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralReferenceMachineContextRule()); }
iv_ruleLiteralReferenceMachineContext=ruleLiteralReferenceMachineContext
{ $current=$iv_ruleLiteralReferenceMachineContext.current; }
EOF;
// Rule LiteralReferenceMachineContext
ruleLiteralReferenceMachineContext returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceMachineContextAccess().getLiteralThisExpressionParserRuleCall_0());
}
this_LiteralThisExpression_0=ruleLiteralThisExpression
{
$current = $this_LiteralThisExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceMachineContextAccess().getLiteralSelfExpressionParserRuleCall_1());
}
this_LiteralSelfExpression_1=ruleLiteralSelfExpression
{
$current = $this_LiteralSelfExpression_1.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceMachineContextAccess().getLiteralParentExpressionParserRuleCall_2());
}
this_LiteralParentExpression_2=ruleLiteralParentExpression
{
$current = $this_LiteralParentExpression_2.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceMachineContextAccess().getLiteralSuperExpressionParserRuleCall_3());
}
this_LiteralSuperExpression_3=ruleLiteralSuperExpression
{
$current = $this_LiteralSuperExpression_3.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceMachineContextAccess().getLiteralSystemExpressionParserRuleCall_4());
}
this_LiteralSystemExpression_4=ruleLiteralSystemExpression
{
$current = $this_LiteralSystemExpression_4.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralReferenceMachineContextAccess().getLiteralEnvExpressionParserRuleCall_5());
}
this_LiteralEnvExpression_5=ruleLiteralEnvExpression
{
$current = $this_LiteralEnvExpression_5.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleLiteralThisExpression
entryRuleLiteralThisExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralThisExpressionRule()); }
iv_ruleLiteralThisExpression=ruleLiteralThisExpression
{ $current=$iv_ruleLiteralThisExpression.current; }
EOF;
// Rule LiteralThisExpression
ruleLiteralThisExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralThisExpressionAccess().getLiteralThisExpressionAction_0(),
$current);
}
)
otherlv_1='$this'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralThisExpressionAccess().getThisKeyword_1());
}
)
;
// Entry rule entryRuleLiteralSelfExpression
entryRuleLiteralSelfExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralSelfExpressionRule()); }
iv_ruleLiteralSelfExpression=ruleLiteralSelfExpression
{ $current=$iv_ruleLiteralSelfExpression.current; }
EOF;
// Rule LiteralSelfExpression
ruleLiteralSelfExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralSelfExpressionAccess().getLiteralSelfExpressionAction_0(),
$current);
}
)
otherlv_1='$self'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralSelfExpressionAccess().getSelfKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralSelfExpressionAccess().getLessThanSignKeyword_2_0());
}
(
otherlv_3='model:'
{
newLeafNode(otherlv_3, grammarAccess.getLiteralSelfExpressionAccess().getModelKeyword_2_1());
}
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLiteralSelfExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getLiteralSelfExpressionAccess().getModelMachineCrossReference_2_2_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_5='>'
{
newLeafNode(otherlv_5, grammarAccess.getLiteralSelfExpressionAccess().getGreaterThanSignKeyword_2_3());
}
)?
)
;
// Entry rule entryRuleLiteralParentExpression
entryRuleLiteralParentExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralParentExpressionRule()); }
iv_ruleLiteralParentExpression=ruleLiteralParentExpression
{ $current=$iv_ruleLiteralParentExpression.current; }
EOF;
// Rule LiteralParentExpression
ruleLiteralParentExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralParentExpressionAccess().getLiteralParentExpressionAction_0(),
$current);
}
)
otherlv_1='$parent'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralParentExpressionAccess().getParentKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralParentExpressionAccess().getLessThanSignKeyword_2_0());
}
(
otherlv_3='model:'
{
newLeafNode(otherlv_3, grammarAccess.getLiteralParentExpressionAccess().getModelKeyword_2_1());
}
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLiteralParentExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getLiteralParentExpressionAccess().getModelMachineCrossReference_2_2_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_5='>'
{
newLeafNode(otherlv_5, grammarAccess.getLiteralParentExpressionAccess().getGreaterThanSignKeyword_2_3());
}
)?
)
;
// Entry rule entryRuleLiteralSuperExpression
entryRuleLiteralSuperExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralSuperExpressionRule()); }
iv_ruleLiteralSuperExpression=ruleLiteralSuperExpression
{ $current=$iv_ruleLiteralSuperExpression.current; }
EOF;
// Rule LiteralSuperExpression
ruleLiteralSuperExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralSuperExpressionAccess().getLiteralSuperExpressionAction_0(),
$current);
}
)
otherlv_1='$super'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralSuperExpressionAccess().getSuperKeyword_1());
}
(
otherlv_2='<'
{
newLeafNode(otherlv_2, grammarAccess.getLiteralSuperExpressionAccess().getLessThanSignKeyword_2_0());
}
(
otherlv_3='model:'
{
newLeafNode(otherlv_3, grammarAccess.getLiteralSuperExpressionAccess().getModelKeyword_2_1());
}
)?
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getLiteralSuperExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getLiteralSuperExpressionAccess().getModelMachineCrossReference_2_2_0());
}
ruleESUfid
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_5='>'
{
newLeafNode(otherlv_5, grammarAccess.getLiteralSuperExpressionAccess().getGreaterThanSignKeyword_2_3());
}
)?
)
;
// Entry rule entryRuleLiteralSystemExpression
entryRuleLiteralSystemExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralSystemExpressionRule()); }
iv_ruleLiteralSystemExpression=ruleLiteralSystemExpression
{ $current=$iv_ruleLiteralSystemExpression.current; }
EOF;
// Rule LiteralSystemExpression
ruleLiteralSystemExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralSystemExpressionAccess().getLiteralSystemExpressionAction_0(),
$current);
}
)
otherlv_1='$system'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralSystemExpressionAccess().getSystemKeyword_1());
}
)
;
// Entry rule entryRuleLiteralEnvExpression
entryRuleLiteralEnvExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralEnvExpressionRule()); }
iv_ruleLiteralEnvExpression=ruleLiteralEnvExpression
{ $current=$iv_ruleLiteralEnvExpression.current; }
EOF;
// Rule LiteralEnvExpression
ruleLiteralEnvExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
/* */
}
{
$current = forceCreateModelElement(
grammarAccess.getLiteralEnvExpressionAccess().getLiteralEnvExpressionAction_0(),
$current);
}
)
otherlv_1='$env'
{
newLeafNode(otherlv_1, grammarAccess.getLiteralEnvExpressionAccess().getEnvKeyword_1());
}
)
;
// Entry rule entryRuleLiteralPureReferenceExpression
entryRuleLiteralPureReferenceExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getLiteralPureReferenceExpressionRule()); }
iv_ruleLiteralPureReferenceExpression=ruleLiteralPureReferenceExpression
{ $current=$iv_ruleLiteralPureReferenceExpression.current; }
EOF;
// Rule LiteralPureReferenceExpression
ruleLiteralPureReferenceExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralPureReferenceExpressionAccess().getLiteralPureReferenceElementParserRuleCall_0());
}
this_LiteralPureReferenceElement_0=ruleLiteralPureReferenceElement
{
$current = $this_LiteralPureReferenceElement_0.current;
afterParserOrEnumRuleCall();
}
|
{
/* */
}
{
newCompositeNode(grammarAccess.getLiteralPureReferenceExpressionAccess().getLiteralReferenceMachineContextParserRuleCall_1());
}
this_LiteralReferenceMachineContext_1=ruleLiteralReferenceMachineContext
{
$current = $this_LiteralReferenceMachineContext_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleValueSelectionExpression
entryRuleValueSelectionExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getValueSelectionExpressionRule()); }
iv_ruleValueSelectionExpression=ruleValueSelectionExpression
{ $current=$iv_ruleValueSelectionExpression.current; }
EOF;
// Rule ValueSelectionExpression
ruleValueSelectionExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getLiteralReferenceExpressionParserRuleCall_0());
}
this_LiteralReferenceExpression_0=ruleLiteralReferenceExpression
{
$current = $this_LiteralReferenceExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getValueSelectionExpressionAccess().getValueElementSpecificationParentAction_1_0(),
$current);
}
)
otherlv_2='.'
{
newLeafNode(otherlv_2, grammarAccess.getValueSelectionExpressionAccess().getFullStopKeyword_1_1());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getValueSelectionExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getElementNamedElementCrossReference_1_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
(
(
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getKindValueIndexExpressionKindEnumRuleCall_1_3_0_0());
}
lv_kind_4_0=ruleValueIndexExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValueSelectionExpressionRule());
}
set(
$current,
"kind",
lv_kind_4_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueIndexExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getArgPositionalTupleExpressionListParserRuleCall_1_3_1_0());
}
lv_arg_5_0=rulePositionalTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValueSelectionExpressionRule());
}
set(
$current,
"arg",
lv_arg_5_0,
"org.eclipse.efm.formalml.xtext.FormalML.PositionalTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_6=']'
{
newLeafNode(otherlv_6, grammarAccess.getValueSelectionExpressionAccess().getRightSquareBracketKeyword_1_3_2());
}
)?
)*
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getValueSelectionExpressionAccess().getValueElementSpecificationParentAction_2_0(),
$current);
}
)
otherlv_8='->'
{
newLeafNode(otherlv_8, grammarAccess.getValueSelectionExpressionAccess().getHyphenMinusGreaterThanSignKeyword_2_1());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getValueSelectionExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getElementNamedElementCrossReference_2_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
(
(
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getKindValueIndexExpressionKindEnumRuleCall_2_3_0_0());
}
lv_kind_10_0=ruleValueIndexExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValueSelectionExpressionRule());
}
set(
$current,
"kind",
lv_kind_10_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueIndexExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getArgPositionalTupleExpressionListParserRuleCall_2_3_1_0());
}
lv_arg_11_0=rulePositionalTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValueSelectionExpressionRule());
}
set(
$current,
"arg",
lv_arg_11_0,
"org.eclipse.efm.formalml.xtext.FormalML.PositionalTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_12=']'
{
newLeafNode(otherlv_12, grammarAccess.getValueSelectionExpressionAccess().getRightSquareBracketKeyword_2_3_2());
}
)?
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getValueSelectionExpressionAccess().getValueElementSpecificationParentAction_2_4_0(),
$current);
}
)
otherlv_14='.'
{
newLeafNode(otherlv_14, grammarAccess.getValueSelectionExpressionAccess().getFullStopKeyword_2_4_1());
}
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getValueSelectionExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getElementNamedElementCrossReference_2_4_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
(
(
(
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getKindValueIndexExpressionKindEnumRuleCall_2_4_3_0_0());
}
lv_kind_16_0=ruleValueIndexExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValueSelectionExpressionRule());
}
set(
$current,
"kind",
lv_kind_16_0,
"org.eclipse.efm.formalml.xtext.FormalML.ValueIndexExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getValueSelectionExpressionAccess().getArgPositionalTupleExpressionListParserRuleCall_2_4_3_1_0());
}
lv_arg_17_0=rulePositionalTupleExpressionList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValueSelectionExpressionRule());
}
set(
$current,
"arg",
lv_arg_17_0,
"org.eclipse.efm.formalml.xtext.FormalML.PositionalTupleExpressionList");
afterParserOrEnumRuleCall();
}
)
)
otherlv_18=']'
{
newLeafNode(otherlv_18, grammarAccess.getValueSelectionExpressionAccess().getRightSquareBracketKeyword_2_4_3_2());
}
)?
)*
)?
)
;
// Entry rule entryRuleValuePureNamedMachineExpression
entryRuleValuePureNamedMachineExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getValuePureNamedMachineExpressionRule()); }
iv_ruleValuePureNamedMachineExpression=ruleValuePureNamedMachineExpression
{ $current=$iv_ruleValuePureNamedMachineExpression.current; }
EOF;
// Rule ValuePureNamedMachineExpression
ruleValuePureNamedMachineExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
/* */
}
{
newCompositeNode(grammarAccess.getValuePureNamedMachineExpressionAccess().getLiteralPureReferenceExpressionParserRuleCall_0());
}
this_LiteralPureReferenceExpression_0=ruleLiteralPureReferenceExpression
{
$current = $this_LiteralPureReferenceExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
{
/* */
}
{
$current = forceCreateModelElementAndSet(
grammarAccess.getValuePureNamedMachineExpressionAccess().getValueElementSpecificationParentAction_1_0(),
$current);
}
)
(
(
(
{
newCompositeNode(grammarAccess.getValuePureNamedMachineExpressionAccess().getKindValueDotFieldExpressionKindEnumRuleCall_1_1_0_0());
}
lv_kind_2_1=ruleValueDotFieldExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValuePureNamedMachineExpressionRule());
}
set(
$current,
"kind",
lv_kind_2_1,
"org.eclipse.efm.formalml.xtext.FormalML.ValueDotFieldExpressionKind");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getValuePureNamedMachineExpressionAccess().getKindValueArrowFieldExpressionKindEnumRuleCall_1_1_0_1());
}
lv_kind_2_2=ruleValueArrowFieldExpressionKind
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValuePureNamedMachineExpressionRule());
}
set(
$current,
"kind",
lv_kind_2_2,
"org.eclipse.efm.formalml.xtext.FormalML.ValueArrowFieldExpressionKind");
afterParserOrEnumRuleCall();
}
)
)
)
(
(
{
/* */
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getValuePureNamedMachineExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getValuePureNamedMachineExpressionAccess().getElementNamedElementCrossReference_1_2_0());
}
ruleESIdentifier
{
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Rule VisibilityKind
ruleVisibilityKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='public'
{
$current = grammarAccess.getVisibilityKindAccess().getPublicEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getVisibilityKindAccess().getPublicEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='private'
{
$current = grammarAccess.getVisibilityKindAccess().getPrivateEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getVisibilityKindAccess().getPrivateEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='protected'
{
$current = grammarAccess.getVisibilityKindAccess().getProtectedEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getVisibilityKindAccess().getProtectedEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='package'
{
$current = grammarAccess.getVisibilityKindAccess().getPackageEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getVisibilityKindAccess().getPackageEnumLiteralDeclaration_3());
}
)
)
;
// Rule DesignKind
ruleDesignKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='model'
{
$current = grammarAccess.getDesignKindAccess().getModelEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getDesignKindAccess().getModelEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='prototype'
{
$current = grammarAccess.getDesignKindAccess().getPrototypeEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getDesignKindAccess().getPrototypeEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='#model'
{
$current = grammarAccess.getDesignKindAccess().getModelEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getDesignKindAccess().getModelEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='#prototype'
{
$current = grammarAccess.getDesignKindAccess().getPrototypeEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getDesignKindAccess().getPrototypeEnumLiteralDeclaration_3());
}
)
)
;
// Rule PseudostateKind
rulePseudostateKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='junction'
{
$current = grammarAccess.getPseudostateKindAccess().getJunctionEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getPseudostateKindAccess().getJunctionEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='choice'
{
$current = grammarAccess.getPseudostateKindAccess().getChoiceEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getPseudostateKindAccess().getChoiceEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='entryPoint'
{
$current = grammarAccess.getPseudostateKindAccess().getEntryPointEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getPseudostateKindAccess().getEntryPointEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='exitPoint'
{
$current = grammarAccess.getPseudostateKindAccess().getExitPointEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getPseudostateKindAccess().getExitPointEnumLiteralDeclaration_3());
}
)
|
(
enumLiteral_4='fork'
{
$current = grammarAccess.getPseudostateKindAccess().getForkEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getPseudostateKindAccess().getForkEnumLiteralDeclaration_4());
}
)
|
(
enumLiteral_5='join'
{
$current = grammarAccess.getPseudostateKindAccess().getJoinEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getPseudostateKindAccess().getJoinEnumLiteralDeclaration_5());
}
)
|
(
enumLiteral_6='dhistory'
{
$current = grammarAccess.getPseudostateKindAccess().getDeepHistoryEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_6, grammarAccess.getPseudostateKindAccess().getDeepHistoryEnumLiteralDeclaration_6());
}
)
|
(
enumLiteral_7='shistory'
{
$current = grammarAccess.getPseudostateKindAccess().getShallowHistoryEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_7, grammarAccess.getPseudostateKindAccess().getShallowHistoryEnumLiteralDeclaration_7());
}
)
)
;
// Rule PseudostateInitialKind
rulePseudostateInitialKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
enumLiteral_0='initial'
{
$current = grammarAccess.getPseudostateInitialKindAccess().getInitialEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getPseudostateInitialKindAccess().getInitialEnumLiteralDeclaration());
}
)
;
// Rule EndingPseudostateKind
ruleEndingPseudostateKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='terminal'
{
$current = grammarAccess.getEndingPseudostateKindAccess().getTerminalEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getEndingPseudostateKindAccess().getTerminalEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='return'
{
$current = grammarAccess.getEndingPseudostateKindAccess().getReturnEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getEndingPseudostateKindAccess().getReturnEnumLiteralDeclaration_1());
}
)
)
;
// Rule ComProtocolKind
ruleComProtocolKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='env'
{
$current = grammarAccess.getComProtocolKindAccess().getEnvEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getComProtocolKindAccess().getEnvEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='rdv'
{
$current = grammarAccess.getComProtocolKindAccess().getRdvEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getComProtocolKindAccess().getRdvEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='multirdv'
{
$current = grammarAccess.getComProtocolKindAccess().getMulti_rdvEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getComProtocolKindAccess().getMulti_rdvEnumLiteralDeclaration_2());
}
)
)
;
// Rule ComEnvRdvProtocolKind
ruleComEnvRdvProtocolKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='env'
{
$current = grammarAccess.getComEnvRdvProtocolKindAccess().getEnvEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getComEnvRdvProtocolKindAccess().getEnvEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='rdv'
{
$current = grammarAccess.getComEnvRdvProtocolKindAccess().getRdvEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getComEnvRdvProtocolKindAccess().getRdvEnumLiteralDeclaration_1());
}
)
)
;
// Rule ComMultiRdvProtocolKind
ruleComMultiRdvProtocolKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
enumLiteral_0='multirdv'
{
$current = grammarAccess.getComMultiRdvProtocolKindAccess().getMulti_rdvEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getComMultiRdvProtocolKindAccess().getMulti_rdvEnumLiteralDeclaration());
}
)
;
// Rule BufferProtocolKind
ruleBufferProtocolKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
enumLiteral_0='buffer'
{
$current = grammarAccess.getBufferProtocolKindAccess().getBufferEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getBufferProtocolKindAccess().getBufferEnumLiteralDeclaration());
}
)
;
// Rule ComCastKing
ruleComCastKing returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='unicast'
{
$current = grammarAccess.getComCastKingAccess().getUnicastEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getComCastKingAccess().getUnicastEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='anycast'
{
$current = grammarAccess.getComCastKingAccess().getAnycastEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getComCastKingAccess().getAnycastEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='multicast'
{
$current = grammarAccess.getComCastKingAccess().getMulticastEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getComCastKingAccess().getMulticastEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='broadcast'
{
$current = grammarAccess.getComCastKingAccess().getBroadcastEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getComCastKingAccess().getBroadcastEnumLiteralDeclaration_3());
}
)
)
;
// Rule PrimitiveNumberSign
rulePrimitiveNumberSign returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='+'
{
$current = grammarAccess.getPrimitiveNumberSignAccess().getPositiveEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveNumberSignAccess().getPositiveEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='++'
{
$current = grammarAccess.getPrimitiveNumberSignAccess().getPositive_strictEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveNumberSignAccess().getPositive_strictEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='-'
{
$current = grammarAccess.getPrimitiveNumberSignAccess().getNegativeEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveNumberSignAccess().getNegativeEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='--'
{
$current = grammarAccess.getPrimitiveNumberSignAccess().getNegative_strictEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveNumberSignAccess().getNegative_strictEnumLiteralDeclaration_3());
}
)
)
;
// Rule PrimitiveInstanceKind
rulePrimitiveInstanceKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='buffer'
{
$current = grammarAccess.getPrimitiveInstanceKindAccess().getBufferEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveInstanceKindAccess().getBufferEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='message'
{
$current = grammarAccess.getPrimitiveInstanceKindAccess().getMessageEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveInstanceKindAccess().getMessageEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='port'
{
$current = grammarAccess.getPrimitiveInstanceKindAccess().getPortEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveInstanceKindAccess().getPortEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='signal'
{
$current = grammarAccess.getPrimitiveInstanceKindAccess().getSignalEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveInstanceKindAccess().getSignalEnumLiteralDeclaration_3());
}
)
|
(
enumLiteral_4='machine'
{
$current = grammarAccess.getPrimitiveInstanceKindAccess().getMachineEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getPrimitiveInstanceKindAccess().getMachineEnumLiteralDeclaration_4());
}
)
|
(
enumLiteral_5='vertex'
{
$current = grammarAccess.getPrimitiveInstanceKindAccess().getVertexEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getPrimitiveInstanceKindAccess().getVertexEnumLiteralDeclaration_5());
}
)
)
;
// Rule CollectionKind
ruleCollectionKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='vector'
{
$current = grammarAccess.getCollectionKindAccess().getVectorEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getCollectionKindAccess().getVectorEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='rvector'
{
$current = grammarAccess.getCollectionKindAccess().getRvectorEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getCollectionKindAccess().getRvectorEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='list'
{
$current = grammarAccess.getCollectionKindAccess().getListEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getCollectionKindAccess().getListEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='set'
{
$current = grammarAccess.getCollectionKindAccess().getSetEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getCollectionKindAccess().getSetEnumLiteralDeclaration_3());
}
)
|
(
enumLiteral_4='bag'
{
$current = grammarAccess.getCollectionKindAccess().getBagEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getCollectionKindAccess().getBagEnumLiteralDeclaration_4());
}
)
|
(
enumLiteral_5='fifo'
{
$current = grammarAccess.getCollectionKindAccess().getFifoEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getCollectionKindAccess().getFifoEnumLiteralDeclaration_5());
}
)
|
(
enumLiteral_6='lifo'
{
$current = grammarAccess.getCollectionKindAccess().getLifoEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_6, grammarAccess.getCollectionKindAccess().getLifoEnumLiteralDeclaration_6());
}
)
)
;
// Rule ParameterDirectionKind
ruleParameterDirectionKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='in'
{
$current = grammarAccess.getParameterDirectionKindAccess().getInEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getParameterDirectionKindAccess().getInEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='input'
{
$current = grammarAccess.getParameterDirectionKindAccess().getInEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getParameterDirectionKindAccess().getInEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='inout'
{
$current = grammarAccess.getParameterDirectionKindAccess().getInoutEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getParameterDirectionKindAccess().getInoutEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='out'
{
$current = grammarAccess.getParameterDirectionKindAccess().getOutEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getParameterDirectionKindAccess().getOutEnumLiteralDeclaration_3());
}
)
|
(
enumLiteral_4='output'
{
$current = grammarAccess.getParameterDirectionKindAccess().getOutEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getParameterDirectionKindAccess().getOutEnumLiteralDeclaration_4());
}
)
|
(
enumLiteral_5='return'
{
$current = grammarAccess.getParameterDirectionKindAccess().getReturnEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getParameterDirectionKindAccess().getReturnEnumLiteralDeclaration_5());
}
)
)
;
// Rule BufferContainerKind
ruleBufferContainerKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='set'
{
$current = grammarAccess.getBufferContainerKindAccess().getSetEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getBufferContainerKindAccess().getSetEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='bag'
{
$current = grammarAccess.getBufferContainerKindAccess().getBagEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getBufferContainerKindAccess().getBagEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='fifo'
{
$current = grammarAccess.getBufferContainerKindAccess().getFifoEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getBufferContainerKindAccess().getFifoEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='lifo'
{
$current = grammarAccess.getBufferContainerKindAccess().getLifoEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getBufferContainerKindAccess().getLifoEnumLiteralDeclaration_3());
}
)
)
;
// Rule ChannelDirection
ruleChannelDirection returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='input'
{
$current = grammarAccess.getChannelDirectionAccess().getInputEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getChannelDirectionAccess().getInputEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='inout'
{
$current = grammarAccess.getChannelDirectionAccess().getInoutEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getChannelDirectionAccess().getInoutEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='output'
{
$current = grammarAccess.getChannelDirectionAccess().getOutputEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getChannelDirectionAccess().getOutputEnumLiteralDeclaration_2());
}
)
)
;
// Rule TransitionMoc
ruleTransitionMoc returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='simple'
{
$current = grammarAccess.getTransitionMocAccess().getSimpleEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getTransitionMocAccess().getSimpleEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='abort'
{
$current = grammarAccess.getTransitionMocAccess().getAbortEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getTransitionMocAccess().getAbortEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='final'
{
$current = grammarAccess.getTransitionMocAccess().getFinalEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getTransitionMocAccess().getFinalEnumLiteralDeclaration_2());
}
)
)
;
// Rule InterruptStatementKind
ruleInterruptStatementKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='break'
{
$current = grammarAccess.getInterruptStatementKindAccess().getBreakEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getInterruptStatementKindAccess().getBreakEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='continue'
{
$current = grammarAccess.getInterruptStatementKindAccess().getContinueEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getInterruptStatementKindAccess().getContinueEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='return'
{
$current = grammarAccess.getInterruptStatementKindAccess().getReturnEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getInterruptStatementKindAccess().getReturnEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='exit'
{
$current = grammarAccess.getInterruptStatementKindAccess().getExitEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getInterruptStatementKindAccess().getExitEnumLiteralDeclaration_3());
}
)
)
;
// Rule OPERATOR_ACTIVITY
ruleOPERATOR_ACTIVITY returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='init'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getInitEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getOPERATOR_ACTIVITYAccess().getInitEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='final'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getFinalEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getOPERATOR_ACTIVITYAccess().getFinalEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='new'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getNewEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getOPERATOR_ACTIVITYAccess().getNewEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='destroy'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getDestroyEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getOPERATOR_ACTIVITYAccess().getDestroyEnumLiteralDeclaration_3());
}
)
|
(
enumLiteral_4='start'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getStartEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getOPERATOR_ACTIVITYAccess().getStartEnumLiteralDeclaration_4());
}
)
|
(
enumLiteral_5='stop'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getStopEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getOPERATOR_ACTIVITYAccess().getStopEnumLiteralDeclaration_5());
}
)
|
(
enumLiteral_6='restart'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getRestartEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_6, grammarAccess.getOPERATOR_ACTIVITYAccess().getRestartEnumLiteralDeclaration_6());
}
)
|
(
enumLiteral_7='suspend'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getSuspendEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_7, grammarAccess.getOPERATOR_ACTIVITYAccess().getSuspendEnumLiteralDeclaration_7());
}
)
|
(
enumLiteral_8='resume'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getResumeEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_8, grammarAccess.getOPERATOR_ACTIVITYAccess().getResumeEnumLiteralDeclaration_8());
}
)
|
(
enumLiteral_9='wait'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getWaitEnumLiteralDeclaration_9().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_9, grammarAccess.getOPERATOR_ACTIVITYAccess().getWaitEnumLiteralDeclaration_9());
}
)
|
(
enumLiteral_10='disable'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getDisableEnumLiteralDeclaration_10().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_10, grammarAccess.getOPERATOR_ACTIVITYAccess().getDisableEnumLiteralDeclaration_10());
}
)
|
(
enumLiteral_11='enable'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getEnableEnumLiteralDeclaration_11().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_11, grammarAccess.getOPERATOR_ACTIVITYAccess().getEnableEnumLiteralDeclaration_11());
}
)
|
(
enumLiteral_12='abort'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getAbortEnumLiteralDeclaration_12().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_12, grammarAccess.getOPERATOR_ACTIVITYAccess().getAbortEnumLiteralDeclaration_12());
}
)
|
(
enumLiteral_13='goto'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getGotoEnumLiteralDeclaration_13().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_13, grammarAccess.getOPERATOR_ACTIVITYAccess().getGotoEnumLiteralDeclaration_13());
}
)
|
(
enumLiteral_14='schedule'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getScheduleEnumLiteralDeclaration_14().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_14, grammarAccess.getOPERATOR_ACTIVITYAccess().getScheduleEnumLiteralDeclaration_14());
}
)
|
(
enumLiteral_15='irun'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getIrunEnumLiteralDeclaration_15().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_15, grammarAccess.getOPERATOR_ACTIVITYAccess().getIrunEnumLiteralDeclaration_15());
}
)
|
(
enumLiteral_16='run'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getRunEnumLiteralDeclaration_16().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_16, grammarAccess.getOPERATOR_ACTIVITYAccess().getRunEnumLiteralDeclaration_16());
}
)
|
(
enumLiteral_17='rtc'
{
$current = grammarAccess.getOPERATOR_ACTIVITYAccess().getRtcEnumLiteralDeclaration_17().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_17, grammarAccess.getOPERATOR_ACTIVITYAccess().getRtcEnumLiteralDeclaration_17());
}
)
)
;
// Rule OPERATOR_META
ruleOPERATOR_META returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
enumLiteral_0='@informal'
{
$current = grammarAccess.getOPERATOR_METAAccess().getInformalEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getOPERATOR_METAAccess().getInformalEnumLiteralDeclaration_0());
}
)
|
(
enumLiteral_1='@trace'
{
$current = grammarAccess.getOPERATOR_METAAccess().getTraceEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getOPERATOR_METAAccess().getTraceEnumLiteralDeclaration_1());
}
)
|
(
enumLiteral_2='@debug'
{
$current = grammarAccess.getOPERATOR_METAAccess().getDebugEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getOPERATOR_METAAccess().getDebugEnumLiteralDeclaration_2());
}
)
|
(
enumLiteral_3='@comment'
{
$current = grammarAccess.getOPERATOR_METAAccess().getCommentEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getOPERATOR_METAAccess().getCommentEnumLiteralDeclaration_3());
}
)
|
(
enumLiteral_4='@quote'
{
$current = grammarAccess.getOPERATOR_METAAccess().getQuoteEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getOPERATOR_METAAccess().getQuoteEnumLiteralDeclaration_4());
}
)
|
(
enumLiteral_5='@eval'
{
$current = grammarAccess.getOPERATOR_METAAccess().getEvalEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getOPERATOR_METAAccess().getEvalEnumLiteralDeclaration_5());
}
)
|
(
enumLiteral_6='@run'
{
$current = grammarAccess.getOPERATOR_METAAccess().getRunEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_6, grammarAccess.getOPERATOR_METAAccess().getRunEnumLiteralDeclaration_6());
}
)
)
;
// Rule AnyPrimitiveInstanceKind
ruleAnyPrimitiveInstanceKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
enumLiteral_0='$null'
{
$current = grammarAccess.getAnyPrimitiveInstanceKindAccess().getAnyEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getAnyPrimitiveInstanceKindAccess().getAnyEnumLiteralDeclaration());
}
)
;
// Rule ValueDotFieldExpressionKind
ruleValueDotFieldExpressionKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
enumLiteral_0='.'
{
$current = grammarAccess.getValueDotFieldExpressionKindAccess().getFieldEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getValueDotFieldExpressionKindAccess().getFieldEnumLiteralDeclaration());
}
)
;
// Rule ValueArrowFieldExpressionKind
ruleValueArrowFieldExpressionKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
enumLiteral_0='->'
{
$current = grammarAccess.getValueArrowFieldExpressionKindAccess().getFieldEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getValueArrowFieldExpressionKindAccess().getFieldEnumLiteralDeclaration());
}
)
;
// Rule ValueIndexExpressionKind
ruleValueIndexExpressionKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
enumLiteral_0='['
{
$current = grammarAccess.getValueIndexExpressionKindAccess().getIndexEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getValueIndexExpressionKindAccess().getIndexEnumLiteralDeclaration());
}
)
;
// Rule ValueParameterExpressionKind
ruleValueParameterExpressionKind returns [Enumerator current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
enumLiteral_0='('
{
$current = grammarAccess.getValueParameterExpressionKindAccess().getParameterEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getValueParameterExpressionKindAccess().getParameterEnumLiteralDeclaration());
}
)
;
RULE_INT : ('0'..'9')+;
RULE_CHARACTER : '\'' . '\'';
RULE_OFFSET : '$' RULE_INT? ':';
RULE_XLIA_ID : ('a'..'z'|'A'..'Z'|'_'|'#') ('a'..'z'|'A'..'Z'|'0'..'9'|'_'|'#')*;
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
RULE_WS : (' '|'\t'|'\r'|'\n')+;
RULE_ANY_OTHER : .;