blob: 4638c846c6d5b034e4be30e09c1e608fcae683e4 [file] [log] [blame]
/**
* Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Florian Pirchner - Initial implementation
*
* generated by Xtext 2.11.0
*/
grammar InternalOXtype;
options {
superClass=AbstractInternalAntlrParser;
}
@lexer::header {
package org.eclipse.osbp.xtext.oxtype.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.osbp.xtext.oxtype.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.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.AntlrDatatypeRuleToken;
import org.eclipse.osbp.xtext.oxtype.services.OXtypeGrammarAccess;
}
@parser::members {
private OXtypeGrammarAccess grammarAccess;
public InternalOXtypeParser(TokenStream input, OXtypeGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "XImportDeclaration";
}
@Override
protected OXtypeGrammarAccess getGrammarAccess() {
return grammarAccess;
}
}
@rulecatch {
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
}
// Entry rule entryRuleXImportDeclaration
entryRuleXImportDeclaration returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXImportDeclarationRule()); }
iv_ruleXImportDeclaration=ruleXImportDeclaration
{ $current=$iv_ruleXImportDeclaration.current; }
EOF;
// Rule XImportDeclaration
ruleXImportDeclaration returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXImportDeclarationAccess().getOXImportDeclarationAction_0(),
$current);
}
)
otherlv_1='import'
{
newLeafNode(otherlv_1, grammarAccess.getXImportDeclarationAccess().getImportKeyword_1());
}
(
(
(
(
lv_static_2_0='static'
{
newLeafNode(lv_static_2_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_2_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed($current, "static", true, "static");
}
)
)
(
(
lv_extension_3_0='extension'
{
newLeafNode(lv_extension_3_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_2_0_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed($current, "extension", true, "extension");
}
)
)?
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
}
{
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_0_2_0());
}
ruleQualifiedNameInStaticImport
{
afterParserOrEnumRuleCall();
}
)
)
(
(
(
lv_wildcard_5_0='*'
{
newLeafNode(lv_wildcard_5_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_2_0_3_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed($current, "wildcard", true, "*");
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_2_0_3_1_0());
}
lv_memberName_6_0=ruleValidID
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
}
set(
$current,
"memberName",
lv_memberName_6_0,
"org.eclipse.xtext.xbase.Xtype.ValidID");
afterParserOrEnumRuleCall();
}
)
)
)
)
|
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
}
{
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_1_0());
}
ruleQualifiedName
{
afterParserOrEnumRuleCall();
}
)
)
|
(
(
{
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_2_2_0());
}
lv_importedNamespace_8_0=ruleQualifiedNameWithWildcard
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
}
set(
$current,
"importedNamespace",
lv_importedNamespace_8_0,
"org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
(
lv_fqnImport_9_0='ns'
{
newLeafNode(lv_fqnImport_9_0, grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed($current, "fqnImport", true, "ns");
}
)
)
(
(
{
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameQualifiedNameParserRuleCall_2_3_1_0());
}
lv_importedFullyQualifiedName_10_0=ruleQualifiedName
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
}
set(
$current,
"importedFullyQualifiedName",
lv_importedFullyQualifiedName_10_0,
"org.eclipse.xtext.xbase.Xbase.QualifiedName");
afterParserOrEnumRuleCall();
}
)
)
)
)
(
otherlv_11=';'
{
newLeafNode(otherlv_11, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_3());
}
)?
)
;
// Entry rule entryRuleXAnnotation
entryRuleXAnnotation returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXAnnotationRule()); }
iv_ruleXAnnotation=ruleXAnnotation
{ $current=$iv_ruleXAnnotation.current; }
EOF;
// Rule XAnnotation
ruleXAnnotation returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXAnnotationAccess().getXAnnotationAction_0(),
$current);
}
)
otherlv_1='@'
{
newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1());
}
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXAnnotationRule());
}
}
{
newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0());
}
ruleQualifiedName
{
afterParserOrEnumRuleCall();
}
)
)
(
(
('(')=>
otherlv_3='('
{
newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0());
}
)
(
(
(
((
(
(
ruleValidID
)
)
'='
)
)=>
(
{
newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0());
}
lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationRule());
}
add(
$current,
"elementValuePairs",
lv_elementValuePairs_4_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValuePair");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_5=','
{
newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0());
}
(
((
(
(
ruleValidID
)
)
'='
)
)=>
(
{
newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0());
}
lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationRule());
}
add(
$current,
"elementValuePairs",
lv_elementValuePairs_6_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValuePair");
afterParserOrEnumRuleCall();
}
)
)
)*
)
|
(
(
{
newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0());
}
lv_value_7_0=ruleXAnnotationElementValueOrCommaList
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationRule());
}
set(
$current,
"value",
lv_value_7_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValueOrCommaList");
afterParserOrEnumRuleCall();
}
)
)
)?
otherlv_8=')'
{
newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2());
}
)?
)
;
// Entry rule entryRuleXAnnotationElementValuePair
entryRuleXAnnotationElementValuePair returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule()); }
iv_ruleXAnnotationElementValuePair=ruleXAnnotationElementValuePair
{ $current=$iv_ruleXAnnotationElementValuePair.current; }
EOF;
// Rule XAnnotationElementValuePair
ruleXAnnotationElementValuePair returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
((
(
(
ruleValidID
)
)
'='
)
)=>
(
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXAnnotationElementValuePairRule());
}
}
{
newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0());
}
ruleValidID
{
afterParserOrEnumRuleCall();
}
)
)
otherlv_1='='
{
newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1());
}
)
)
(
(
{
newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0());
}
lv_value_2_0=ruleXAnnotationElementValue
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationElementValuePairRule());
}
set(
$current,
"value",
lv_value_2_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValue");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleXAnnotationElementValueOrCommaList
entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule()); }
iv_ruleXAnnotationElementValueOrCommaList=ruleXAnnotationElementValueOrCommaList
{ $current=$iv_ruleXAnnotationElementValueOrCommaList.current; }
EOF;
// Rule XAnnotationElementValueOrCommaList
ruleXAnnotationElementValueOrCommaList returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
((
(
)
'#'
'['
)
)=>
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0(),
$current);
}
)
otherlv_1='#'
{
newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1());
}
otherlv_2='['
{
newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2());
}
)
)
(
(
(
{
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
}
lv_elements_3_0=ruleXAnnotationOrExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
}
add(
$current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
}
lv_elements_5_0=ruleXAnnotationOrExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
}
add(
$current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
otherlv_6=']'
{
newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2());
}
)
|
(
{
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0());
}
this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression
{
$current = $this_XAnnotationOrExpression_7.current;
afterParserOrEnumRuleCall();
}
(
(
{
$current = forceCreateModelElementAndAdd(
grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0(),
$current);
}
)
(
otherlv_9=','
{
newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0());
}
lv_elements_10_0=ruleXAnnotationOrExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
}
add(
$current,
"elements",
lv_elements_10_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
)
)
)+
)?
)
)
;
// Entry rule entryRuleXAnnotationElementValue
entryRuleXAnnotationElementValue returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXAnnotationElementValueRule()); }
iv_ruleXAnnotationElementValue=ruleXAnnotationElementValue
{ $current=$iv_ruleXAnnotationElementValue.current; }
EOF;
// Rule XAnnotationElementValue
ruleXAnnotationElementValue returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
((
(
)
'#'
'['
)
)=>
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0(),
$current);
}
)
otherlv_1='#'
{
newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1());
}
otherlv_2='['
{
newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2());
}
)
)
(
(
(
{
newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
}
lv_elements_3_0=ruleXAnnotationOrExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
}
add(
$current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
}
lv_elements_5_0=ruleXAnnotationOrExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
}
add(
$current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
otherlv_6=']'
{
newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2());
}
)
|
{
newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1());
}
this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression
{
$current = $this_XAnnotationOrExpression_7.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleXAnnotationOrExpression
entryRuleXAnnotationOrExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule()); }
iv_ruleXAnnotationOrExpression=ruleXAnnotationOrExpression
{ $current=$iv_ruleXAnnotationOrExpression.current; }
EOF;
// Rule XAnnotationOrExpression
ruleXAnnotationOrExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0());
}
this_XAnnotation_0=ruleXAnnotation
{
$current = $this_XAnnotation_0.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1());
}
this_XExpression_1=ruleXExpression
{
$current = $this_XExpression_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleXExpression
entryRuleXExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXExpressionRule()); }
iv_ruleXExpression=ruleXExpression
{ $current=$iv_ruleXExpression.current; }
EOF;
// Rule XExpression
ruleXExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
{
newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
}
this_XAssignment_0=ruleXAssignment
{
$current = $this_XAssignment_0.current;
afterParserOrEnumRuleCall();
}
;
// Entry rule entryRuleXAssignment
entryRuleXAssignment returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXAssignmentRule()); }
iv_ruleXAssignment=ruleXAssignment
{ $current=$iv_ruleXAssignment.current; }
EOF;
// Rule XAssignment
ruleXAssignment returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXAssignmentRule());
}
}
{
newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
}
ruleFeatureCallID
{
afterParserOrEnumRuleCall();
}
)
)
{
newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2());
}
ruleOpSingleAssign
{
afterParserOrEnumRuleCall();
}
(
(
{
newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0());
}
lv_value_3_0=ruleXAssignment
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAssignmentRule());
}
set(
$current,
"value",
lv_value_3_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
{
newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0());
}
this_XOrExpression_4=ruleXOrExpression
{
$current = $this_XOrExpression_4.current;
afterParserOrEnumRuleCall();
}
(
(
((
(
)
(
(
ruleOpMultiAssign
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXAssignmentRule());
}
}
{
newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
}
ruleOpMultiAssign
{
afterParserOrEnumRuleCall();
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0());
}
lv_rightOperand_7_0=ruleXAssignment
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAssignmentRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_7_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
)
)
)?
)
)
;
// Entry rule entryRuleOpSingleAssign
entryRuleOpSingleAssign returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpSingleAssignRule()); }
iv_ruleOpSingleAssign=ruleOpSingleAssign
{ $current=$iv_ruleOpSingleAssign.current.getText(); }
EOF;
// Rule OpSingleAssign
ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
kw='='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword());
}
;
// Entry rule entryRuleOpMultiAssign
entryRuleOpMultiAssign returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpMultiAssignRule()); }
iv_ruleOpMultiAssign=ruleOpMultiAssign
{ $current=$iv_ruleOpMultiAssign.current.getText(); }
EOF;
// Rule OpMultiAssign
ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='+='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0());
}
|
kw='-='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1());
}
|
kw='*='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2());
}
|
kw='/='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3());
}
|
kw='%='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4());
}
|
(
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0());
}
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1());
}
kw='='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2());
}
)
|
(
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0());
}
(
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1());
}
)?
kw='>='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2());
}
)
)
;
// Entry rule entryRuleXOrExpression
entryRuleXOrExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXOrExpressionRule()); }
iv_ruleXOrExpression=ruleXOrExpression
{ $current=$iv_ruleXOrExpression.current; }
EOF;
// Rule XOrExpression
ruleXOrExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0());
}
this_XAndExpression_0=ruleXAndExpression
{
$current = $this_XAndExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
((
(
)
(
(
ruleOpOr
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXOrExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
ruleOpOr
{
afterParserOrEnumRuleCall();
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0());
}
lv_rightOperand_3_0=ruleXAndExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXOrExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XAndExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleOpOr
entryRuleOpOr returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpOrRule()); }
iv_ruleOpOr=ruleOpOr
{ $current=$iv_ruleOpOr.current.getText(); }
EOF;
// Rule OpOr
ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
kw='||'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
}
;
// Entry rule entryRuleXAndExpression
entryRuleXAndExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXAndExpressionRule()); }
iv_ruleXAndExpression=ruleXAndExpression
{ $current=$iv_ruleXAndExpression.current; }
EOF;
// Rule XAndExpression
ruleXAndExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
}
this_XEqualityExpression_0=ruleXEqualityExpression
{
$current = $this_XEqualityExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
((
(
)
(
(
ruleOpAnd
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXAndExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
ruleOpAnd
{
afterParserOrEnumRuleCall();
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
}
lv_rightOperand_3_0=ruleXEqualityExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XEqualityExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleOpAnd
entryRuleOpAnd returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpAndRule()); }
iv_ruleOpAnd=ruleOpAnd
{ $current=$iv_ruleOpAnd.current.getText(); }
EOF;
// Rule OpAnd
ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
kw='&&'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
}
;
// Entry rule entryRuleXEqualityExpression
entryRuleXEqualityExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXEqualityExpressionRule()); }
iv_ruleXEqualityExpression=ruleXEqualityExpression
{ $current=$iv_ruleXEqualityExpression.current; }
EOF;
// Rule XEqualityExpression
ruleXEqualityExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
}
this_XRelationalExpression_0=ruleXRelationalExpression
{
$current = $this_XRelationalExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
((
(
)
(
(
ruleOpEquality
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXEqualityExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
ruleOpEquality
{
afterParserOrEnumRuleCall();
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
}
lv_rightOperand_3_0=ruleXRelationalExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XRelationalExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleOpEquality
entryRuleOpEquality returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpEqualityRule()); }
iv_ruleOpEquality=ruleOpEquality
{ $current=$iv_ruleOpEquality.current.getText(); }
EOF;
// Rule OpEquality
ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='=='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
}
|
kw='!='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
}
|
kw='==='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
}
|
kw='!=='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
}
)
;
// Entry rule entryRuleXRelationalExpression
entryRuleXRelationalExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXRelationalExpressionRule()); }
iv_ruleXRelationalExpression=ruleXRelationalExpression
{ $current=$iv_ruleXRelationalExpression.current; }
EOF;
// Rule XRelationalExpression
ruleXRelationalExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0());
}
this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression
{
$current = $this_XOtherOperatorExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
(
((
(
)
'instanceof'
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
$current);
}
)
otherlv_2='instanceof'
{
newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
}
)
)
(
(
{
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
}
lv_type_3_0=ruleJvmTypeReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
}
set(
$current,
"type",
lv_type_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
(
((
(
)
(
(
ruleOpCompare
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXRelationalExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
}
ruleOpCompare
{
afterParserOrEnumRuleCall();
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
}
lv_rightOperand_6_0=ruleXOtherOperatorExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_6_0,
"org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression");
afterParserOrEnumRuleCall();
}
)
)
)
)*
)
;
// Entry rule entryRuleOpCompare
entryRuleOpCompare returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpCompareRule()); }
iv_ruleOpCompare=ruleOpCompare
{ $current=$iv_ruleOpCompare.current.getText(); }
EOF;
// Rule OpCompare
ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='>='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
}
|
(
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
}
kw='='
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1());
}
)
|
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
}
|
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
}
)
;
// Entry rule entryRuleXOtherOperatorExpression
entryRuleXOtherOperatorExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); }
iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression
{ $current=$iv_ruleXOtherOperatorExpression.current; }
EOF;
// Rule XOtherOperatorExpression
ruleXOtherOperatorExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
}
this_XAdditiveExpression_0=ruleXAdditiveExpression
{
$current = $this_XAdditiveExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
((
(
)
(
(
ruleOpOther
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
ruleOpOther
{
afterParserOrEnumRuleCall();
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
}
lv_rightOperand_3_0=ruleXAdditiveExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XAdditiveExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleOpOther
entryRuleOpOther returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpOtherRule()); }
iv_ruleOpOther=ruleOpOther
{ $current=$iv_ruleOpOther.current.getText(); }
EOF;
// Rule OpOther
ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='->'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
}
|
kw='..<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
}
|
(
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
}
kw='..'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1());
}
)
|
kw='..'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
}
|
kw='=>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
}
|
(
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
}
(
(
((
'>'
'>'
)
)=>
(
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0());
}
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1());
}
)
)
|
kw='>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
}
)
)
|
(
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
}
(
(
((
'<'
'<'
)
)=>
(
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0());
}
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1());
}
)
)
|
kw='<'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
}
|
kw='=>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
}
)
)
|
kw='<>'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
}
|
kw='?:'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
}
)
;
// Entry rule entryRuleXAdditiveExpression
entryRuleXAdditiveExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); }
iv_ruleXAdditiveExpression=ruleXAdditiveExpression
{ $current=$iv_ruleXAdditiveExpression.current; }
EOF;
// Rule XAdditiveExpression
ruleXAdditiveExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
}
this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression
{
$current = $this_XMultiplicativeExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
((
(
)
(
(
ruleOpAdd
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXAdditiveExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
ruleOpAdd
{
afterParserOrEnumRuleCall();
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
}
lv_rightOperand_3_0=ruleXMultiplicativeExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleOpAdd
entryRuleOpAdd returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpAddRule()); }
iv_ruleOpAdd=ruleOpAdd
{ $current=$iv_ruleOpAdd.current.getText(); }
EOF;
// Rule OpAdd
ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='+'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
}
|
kw='-'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
}
)
;
// Entry rule entryRuleXMultiplicativeExpression
entryRuleXMultiplicativeExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); }
iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression
{ $current=$iv_ruleXMultiplicativeExpression.current; }
EOF;
// Rule XMultiplicativeExpression
ruleXMultiplicativeExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
}
this_XUnaryOperation_0=ruleXUnaryOperation
{
$current = $this_XUnaryOperation_0.current;
afterParserOrEnumRuleCall();
}
(
(
((
(
)
(
(
ruleOpMulti
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule());
}
}
{
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
ruleOpMulti
{
afterParserOrEnumRuleCall();
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
}
lv_rightOperand_3_0=ruleXUnaryOperation
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule());
}
set(
$current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XUnaryOperation");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleOpMulti
entryRuleOpMulti returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpMultiRule()); }
iv_ruleOpMulti=ruleOpMulti
{ $current=$iv_ruleOpMulti.current.getText(); }
EOF;
// Rule OpMulti
ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='*'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
}
|
kw='**'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1());
}
|
kw='/'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2());
}
|
kw='%'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3());
}
)
;
// Entry rule entryRuleXUnaryOperation
entryRuleXUnaryOperation returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXUnaryOperationRule()); }
iv_ruleXUnaryOperation=ruleXUnaryOperation
{ $current=$iv_ruleXUnaryOperation.current; }
EOF;
// Rule XUnaryOperation
ruleXUnaryOperation returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXUnaryOperationRule());
}
}
{
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
}
ruleOpUnary
{
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0());
}
lv_operand_2_0=ruleXUnaryOperation
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXUnaryOperationRule());
}
set(
$current,
"operand",
lv_operand_2_0,
"org.eclipse.xtext.xbase.Xbase.XUnaryOperation");
afterParserOrEnumRuleCall();
}
)
)
)
|
{
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1());
}
this_XCastedExpression_3=ruleXCastedExpression
{
$current = $this_XCastedExpression_3.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleOpUnary
entryRuleOpUnary returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpUnaryRule()); }
iv_ruleOpUnary=ruleOpUnary
{ $current=$iv_ruleOpUnary.current.getText(); }
EOF;
// Rule OpUnary
ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='!'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0());
}
|
kw='-'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
}
|
kw='+'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2());
}
)
;
// Entry rule entryRuleXCastedExpression
entryRuleXCastedExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXCastedExpressionRule()); }
iv_ruleXCastedExpression=ruleXCastedExpression
{ $current=$iv_ruleXCastedExpression.current; }
EOF;
// Rule XCastedExpression
ruleXCastedExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0());
}
this_XPostfixOperation_0=ruleXPostfixOperation
{
$current = $this_XPostfixOperation_0.current;
afterParserOrEnumRuleCall();
}
(
(
((
(
)
'as'
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(),
$current);
}
)
otherlv_2='as'
{
newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
}
)
)
(
(
{
newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0());
}
lv_type_3_0=ruleJvmTypeReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXCastedExpressionRule());
}
set(
$current,
"type",
lv_type_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleXPostfixOperation
entryRuleXPostfixOperation returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXPostfixOperationRule()); }
iv_ruleXPostfixOperation=ruleXPostfixOperation
{ $current=$iv_ruleXPostfixOperation.current; }
EOF;
// Rule XPostfixOperation
ruleXPostfixOperation returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0());
}
this_XMemberFeatureCall_0=ruleXMemberFeatureCall
{
$current = $this_XMemberFeatureCall_0.current;
afterParserOrEnumRuleCall();
}
(
((
(
)
(
(
ruleOpPostfix
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXPostfixOperationRule());
}
}
{
newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0());
}
ruleOpPostfix
{
afterParserOrEnumRuleCall();
}
)
)
)
)?
)
;
// Entry rule entryRuleOpPostfix
entryRuleOpPostfix returns [String current=null]:
{ newCompositeNode(grammarAccess.getOpPostfixRule()); }
iv_ruleOpPostfix=ruleOpPostfix
{ $current=$iv_ruleOpPostfix.current.getText(); }
EOF;
// Rule OpPostfix
ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
kw='++'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0());
}
|
kw='--'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1());
}
)
;
// Entry rule entryRuleXMemberFeatureCall
entryRuleXMemberFeatureCall returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); }
iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall
{ $current=$iv_ruleXMemberFeatureCall.current; }
EOF;
// Rule XMemberFeatureCall
ruleXMemberFeatureCall returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0());
}
this_XPrimaryExpression_0=ruleXPrimaryExpression
{
$current = $this_XPrimaryExpression_0.current;
afterParserOrEnumRuleCall();
}
(
(
(
((
(
)
(
'.'
|
(
(
'::'
)
)
)
(
(
ruleFeatureCallID
)
)
ruleOpSingleAssign
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(),
$current);
}
)
(
otherlv_2='.'
{
newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
}
|
(
(
lv_explicitStatic_3_0='::'
{
newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed($current, "explicitStatic", true, "::");
}
)
)
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
}
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0());
}
ruleFeatureCallID
{
afterParserOrEnumRuleCall();
}
)
)
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3());
}
ruleOpSingleAssign
{
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0());
}
lv_value_6_0=ruleXAssignment
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
set(
$current,
"value",
lv_value_6_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
(
((
(
)
(
'.'
|
(
(
'?.'
)
)
|
(
(
'::'
)
)
)
)
)=>
(
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(),
$current);
}
)
(
otherlv_8='.'
{
newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
}
|
(
(
lv_nullSafe_9_0='?.'
{
newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed($current, "nullSafe", true, "?.");
}
)
)
|
(
(
lv_explicitStatic_10_0='::'
{
newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed($current, "explicitStatic", true, "::");
}
)
)
)
)
)
(
otherlv_11='<'
{
newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0());
}
lv_typeArguments_12_0=ruleJvmArgumentTypeReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
$current,
"typeArguments",
lv_typeArguments_12_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_13=','
{
newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0());
}
lv_typeArguments_14_0=ruleJvmArgumentTypeReference
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
$current,
"typeArguments",
lv_typeArguments_14_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
)
)
)*
otherlv_15='>'
{
newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
}
)?
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
}
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0());
}
ruleIdOrSuper
{
afterParserOrEnumRuleCall();
}
)
)
(
(
((
'('
)
)=>
(
lv_explicitOperationCall_17_0='('
{
newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed($current, "explicitOperationCall", true, "(");
}
)
)
(
(
((
(
)
(
(
(
ruleJvmFormalParameter
)
)
(
','
(
(
ruleJvmFormalParameter
)
)
)*
)?
(
(
'|'
)
)
)
)=>
(
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0());
}
lv_memberCallArguments_18_0=ruleXShortClosure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
$current,
"memberCallArguments",
lv_memberCallArguments_18_0,
"org.eclipse.xtext.xbase.Xbase.XShortClosure");
afterParserOrEnumRuleCall();
}
)
)
|
(
(
(
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0());
}
lv_memberCallArguments_19_0=ruleXExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
$current,
"memberCallArguments",
lv_memberCallArguments_19_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_20=','
{
newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0());
}
lv_memberCallArguments_21_0=ruleXExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
$current,
"memberCallArguments",
lv_memberCallArguments_21_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)
)?
otherlv_22=')'
{
newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
}
)?
(
((
(
)
'['
)
)=>
(
{
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0());
}
lv_memberCallArguments_23_0=ruleXClosure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
$current,
"memberCallArguments",
lv_memberCallArguments_23_0,
"org.eclipse.xtext.xbase.Xbase.XClosure");
afterParserOrEnumRuleCall();
}
)
)?
)
)*
)
;
// Entry rule entryRuleXPrimaryExpression
entryRuleXPrimaryExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); }
iv_ruleXPrimaryExpression=ruleXPrimaryExpression
{ $current=$iv_ruleXPrimaryExpression.current; }
EOF;
// Rule XPrimaryExpression
ruleXPrimaryExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0());
}
this_XConstructorCall_0=ruleXConstructorCall
{
$current = $this_XConstructorCall_0.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1());
}
this_XBlockExpression_1=ruleXBlockExpression
{
$current = $this_XBlockExpression_1.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2());
}
this_XSwitchExpression_2=ruleXSwitchExpression
{
$current = $this_XSwitchExpression_2.current;
afterParserOrEnumRuleCall();
}
|
(
((
(
)
'synchronized'
'('
)
)=>
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3());
}
this_XSynchronizedExpression_3=ruleXSynchronizedExpression
{
$current = $this_XSynchronizedExpression_3.current;
afterParserOrEnumRuleCall();
}
)
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4());
}
this_XFeatureCall_4=ruleXFeatureCall
{
$current = $this_XFeatureCall_4.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5());
}
this_XLiteral_5=ruleXLiteral
{
$current = $this_XLiteral_5.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6());
}
this_XIfExpression_6=ruleXIfExpression
{
$current = $this_XIfExpression_6.current;
afterParserOrEnumRuleCall();
}
|
(
((
(
)
'for'
'('
(
(
ruleJvmFormalParameter
)
)
':'
)
)=>
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7());
}
this_XForLoopExpression_7=ruleXForLoopExpression
{
$current = $this_XForLoopExpression_7.current;
afterParserOrEnumRuleCall();
}
)
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8());
}
this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression
{
$current = $this_XBasicForLoopExpression_8.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9());
}
this_XWhileExpression_9=ruleXWhileExpression
{
$current = $this_XWhileExpression_9.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10());
}
this_XDoWhileExpression_10=ruleXDoWhileExpression
{
$current = $this_XDoWhileExpression_10.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11());
}
this_XThrowExpression_11=ruleXThrowExpression
{
$current = $this_XThrowExpression_11.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12());
}
this_XReturnExpression_12=ruleXReturnExpression
{
$current = $this_XReturnExpression_12.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13());
}
this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression
{
$current = $this_XTryCatchFinallyExpression_13.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14());
}
this_XParenthesizedExpression_14=ruleXParenthesizedExpression
{
$current = $this_XParenthesizedExpression_14.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleXLiteral
entryRuleXLiteral returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXLiteralRule()); }
iv_ruleXLiteral=ruleXLiteral
{ $current=$iv_ruleXLiteral.current; }
EOF;
// Rule XLiteral
ruleXLiteral returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0());
}
this_XCollectionLiteral_0=ruleXCollectionLiteral
{
$current = $this_XCollectionLiteral_0.current;
afterParserOrEnumRuleCall();
}
|
(
((
(
)
'['
)
)=>
{
newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1());
}
this_XClosure_1=ruleXClosure
{
$current = $this_XClosure_1.current;
afterParserOrEnumRuleCall();
}
)
|
{
newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2());
}
this_XBooleanLiteral_2=ruleXBooleanLiteral
{
$current = $this_XBooleanLiteral_2.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3());
}
this_XNumberLiteral_3=ruleXNumberLiteral
{
$current = $this_XNumberLiteral_3.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4());
}
this_XNullLiteral_4=ruleXNullLiteral
{
$current = $this_XNullLiteral_4.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5());
}
this_XStringLiteral_5=ruleXStringLiteral
{
$current = $this_XStringLiteral_5.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6());
}
this_XTypeLiteral_6=ruleXTypeLiteral
{
$current = $this_XTypeLiteral_6.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleXCollectionLiteral
entryRuleXCollectionLiteral returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXCollectionLiteralRule()); }
iv_ruleXCollectionLiteral=ruleXCollectionLiteral
{ $current=$iv_ruleXCollectionLiteral.current; }
EOF;
// Rule XCollectionLiteral
ruleXCollectionLiteral returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0());
}
this_XSetLiteral_0=ruleXSetLiteral
{
$current = $this_XSetLiteral_0.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1());
}
this_XListLiteral_1=ruleXListLiteral
{
$current = $this_XListLiteral_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleXSetLiteral
entryRuleXSetLiteral returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXSetLiteralRule()); }
iv_ruleXSetLiteral=ruleXSetLiteral
{ $current=$iv_ruleXSetLiteral.current; }
EOF;
// Rule XSetLiteral
ruleXSetLiteral returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(),
$current);
}
)
otherlv_1='#'
{
newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
}
otherlv_2='{'
{
newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
}
(
(
(
{
newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
}
lv_elements_3_0=ruleXExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
}
add(
$current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
}
lv_elements_5_0=ruleXExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
}
add(
$current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
otherlv_6='}'
{
newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4());
}
)
;
// Entry rule entryRuleXListLiteral
entryRuleXListLiteral returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXListLiteralRule()); }
iv_ruleXListLiteral=ruleXListLiteral
{ $current=$iv_ruleXListLiteral.current; }
EOF;
// Rule XListLiteral
ruleXListLiteral returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(),
$current);
}
)
otherlv_1='#'
{
newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1());
}
otherlv_2='['
{
newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2());
}
(
(
(
{
newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
}
lv_elements_3_0=ruleXExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXListLiteralRule());
}
add(
$current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_4=','
{
newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
}
lv_elements_5_0=ruleXExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXListLiteralRule());
}
add(
$current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
otherlv_6=']'
{
newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4());
}
)
;
// Entry rule entryRuleXClosure
entryRuleXClosure returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXClosureRule()); }
iv_ruleXClosure=ruleXClosure
{ $current=$iv_ruleXClosure.current; }
EOF;
// Rule XClosure
ruleXClosure returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
((
(
)
'['
)
)=>
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(),
$current);
}
)
otherlv_1='['
{
newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1());
}
)
)
(
((
(
(
(
ruleJvmFormalParameter
)
)
(
','
(
(
ruleJvmFormalParameter
)
)
)*
)?
(
(
'|'
)
)
)
)=>
(
(
(
(
{
newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0());
}
lv_declaredFormalParameters_2_0=ruleJvmFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXClosureRule());
}
add(
$current,
"declaredFormalParameters",
lv_declaredFormalParameters_2_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0());
}
lv_declaredFormalParameters_4_0=ruleJvmFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXClosureRule());
}
add(
$current,
"declaredFormalParameters",
lv_declaredFormalParameters_4_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
(
(
lv_explicitSyntax_5_0='|'
{
newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXClosureRule());
}
setWithLastConsumed($current, "explicitSyntax", true, "|");
}
)
)
)
)?
(
(
{
newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0());
}
lv_expression_6_0=ruleXExpressionInClosure
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXClosureRule());
}
set(
$current,
"expression",
lv_expression_6_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionInClosure");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=']'
{
newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3());
}
)
;
// Entry rule entryRuleXExpressionInClosure
entryRuleXExpressionInClosure returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXExpressionInClosureRule()); }
iv_ruleXExpressionInClosure=ruleXExpressionInClosure
{ $current=$iv_ruleXExpressionInClosure.current; }
EOF;
// Rule XExpressionInClosure
ruleXExpressionInClosure returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(),
$current);
}
)
(
(
(
{
newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0());
}
lv_expressions_1_0=ruleXExpressionOrVarDeclaration
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule());
}
add(
$current,
"expressions",
lv_expressions_1_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2=';'
{
newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
}
)?
)*
)
;
// Entry rule entryRuleXShortClosure
entryRuleXShortClosure returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXShortClosureRule()); }
iv_ruleXShortClosure=ruleXShortClosure
{ $current=$iv_ruleXShortClosure.current; }
EOF;
// Rule XShortClosure
ruleXShortClosure returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
((
(
)
(
(
(
ruleJvmFormalParameter
)
)
(
','
(
(
ruleJvmFormalParameter
)
)
)*
)?
(
(
'|'
)
)
)
)=>
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(),
$current);
}
)
(
(
(
{
newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0());
}
lv_declaredFormalParameters_1_0=ruleJvmFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
add(
$current,
"declaredFormalParameters",
lv_declaredFormalParameters_1_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2=','
{
newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0());
}
lv_declaredFormalParameters_3_0=ruleJvmFormalParameter
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
add(
$current,
"declaredFormalParameters",
lv_declaredFormalParameters_3_0,
"org.eclipse.xtext.xbase.Xbase.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
)
)
)*
)?
(
(
lv_explicitSyntax_4_0='|'
{
newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getXShortClosureRule());
}
setWithLastConsumed($current, "explicitSyntax", true, "|");
}
)
)
)
)
(
(
{
newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0());
}
lv_expression_5_0=ruleXExpression
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
set(
$current,
"expression",
lv_expression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleXParenthesizedExpression
entryRuleXParenthesizedExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); }
iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression
{ $current=$iv_ruleXParenthesizedExpression.current; }
EOF;
// Rule XParenthesizedExpression
ruleXParenthesizedExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='('
{
newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
}
{
newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1());
}
this_XExpression_1=ruleXExpression
{
$current = $this_XExpression_1.current;
afterParserOrEnumRuleCall();
}
otherlv_2=')'
{
newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
}
)
;
// Entry rule entryRuleXIfExpression
entryRuleXIfExpression returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getXIfExpressionRule()); }
iv_ruleXIfExpression=ruleXIfExpression
{ $current=$iv_ruleXIfExpression.current; }
EOF;
// Rule XIfExpression
ruleXIfExpression returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
$current = forceCreateModelElement(
grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(),
$current);
}
)
otherlv_1='if'
{
newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1());
}
otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2());