mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-15 00:08:55 +00:00
[eclipse/xtext-core#1093] workaround for missing return keywords in serialization
Signed-off-by: Christian Dietrich <christian.dietrich@itemis.de>
This commit is contained in:
parent
459602b791
commit
5534248b7f
14 changed files with 4918 additions and 5688 deletions
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2019 itemis AG (http://www.itemis.eu) and others.
|
||||
* Copyright (c) 2019, 2020 itemis AG (http://www.itemis.eu) and others.
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0.
|
||||
|
@ -27,10 +27,9 @@ public class XtextSerializationTokensTest extends AbstractXtextTests {
|
|||
this.with(new XtextStandaloneSetup());
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testParserRuleReturnsToken() throws Exception {
|
||||
this.serializeAndCheckTokens(
|
||||
serializeAndCheckTokens(
|
||||
"grammar org.eclipse.xtext.serializer.XtextSerializationTokensTestLanguage with org.eclipse.xtext.common.Terminals\n" +
|
||||
"\n" +
|
||||
"import \"http://www.eclipse.org/emf/2002/Ecore\" as ecore\n" +
|
||||
|
@ -41,9 +40,8 @@ public class XtextSerializationTokensTest extends AbstractXtextTests {
|
|||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testParserRuleGreaterSignToken() throws Exception {
|
||||
this.serializeAndCheckTokens(
|
||||
serializeAndCheckTokens(
|
||||
"grammar org.eclipse.xtext.serializer.XtextSerializationTokensTestLanguage with org.eclipse.xtext.common.Terminals\n" +
|
||||
"\n" +
|
||||
"import \"http://www.eclipse.org/emf/2002/Ecore\" as ecore\n" +
|
||||
|
|
|
@ -71,12 +71,11 @@ public class XtextParser extends AbstractContentAssistParser {
|
|||
builder.put(grammarAccess.getAnnotationAccess().getGroup(), "rule__Annotation__Group__0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getGroup(), "rule__ParserRule__Group__0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getGroup_1_0(), "rule__ParserRule__Group_1_0__0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getGroup_1_0_2_1(), "rule__ParserRule__Group_1_0_2_1__0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getGroup_1_1(), "rule__ParserRule__Group_1_1__0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getGroup_1_1_1(), "rule__ParserRule__Group_1_1_1__0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getGroup_2(), "rule__ParserRule__Group_2__0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getGroup_2_2(), "rule__ParserRule__Group_2_2__0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getGroup_2_2_1(), "rule__ParserRule__Group_2_2_1__0");
|
||||
builder.put(grammarAccess.getReturnsCauseAccess().getGroup(), "rule__ReturnsCause__Group__0");
|
||||
builder.put(grammarAccess.getRuleNameAndParamsAccess().getGroup(), "rule__RuleNameAndParams__Group__0");
|
||||
builder.put(grammarAccess.getRuleNameAndParamsAccess().getGroup_1(), "rule__RuleNameAndParams__Group_1__0");
|
||||
builder.put(grammarAccess.getRuleNameAndParamsAccess().getGroup_1_1(), "rule__RuleNameAndParams__Group_1_1__0");
|
||||
|
@ -125,7 +124,6 @@ public class XtextParser extends AbstractContentAssistParser {
|
|||
builder.put(grammarAccess.getTerminalRuleAccess().getGroup(), "rule__TerminalRule__Group__0");
|
||||
builder.put(grammarAccess.getTerminalRuleAccess().getGroup_2_0(), "rule__TerminalRule__Group_2_0__0");
|
||||
builder.put(grammarAccess.getTerminalRuleAccess().getGroup_2_1(), "rule__TerminalRule__Group_2_1__0");
|
||||
builder.put(grammarAccess.getTerminalRuleAccess().getGroup_2_1_1(), "rule__TerminalRule__Group_2_1_1__0");
|
||||
builder.put(grammarAccess.getTerminalAlternativesAccess().getGroup(), "rule__TerminalAlternatives__Group__0");
|
||||
builder.put(grammarAccess.getTerminalAlternativesAccess().getGroup_1(), "rule__TerminalAlternatives__Group_1__0");
|
||||
builder.put(grammarAccess.getTerminalAlternativesAccess().getGroup_1_1(), "rule__TerminalAlternatives__Group_1_1__0");
|
||||
|
@ -140,7 +138,6 @@ public class XtextParser extends AbstractContentAssistParser {
|
|||
builder.put(grammarAccess.getCharacterRangeAccess().getGroup(), "rule__CharacterRange__Group__0");
|
||||
builder.put(grammarAccess.getCharacterRangeAccess().getGroup_1(), "rule__CharacterRange__Group_1__0");
|
||||
builder.put(grammarAccess.getEnumRuleAccess().getGroup(), "rule__EnumRule__Group__0");
|
||||
builder.put(grammarAccess.getEnumRuleAccess().getGroup_3(), "rule__EnumRule__Group_3__0");
|
||||
builder.put(grammarAccess.getEnumLiteralsAccess().getGroup(), "rule__EnumLiterals__Group__0");
|
||||
builder.put(grammarAccess.getEnumLiteralsAccess().getGroup_1(), "rule__EnumLiterals__Group_1__0");
|
||||
builder.put(grammarAccess.getEnumLiteralsAccess().getGroup_1_1(), "rule__EnumLiterals__Group_1_1__0");
|
||||
|
@ -163,12 +160,11 @@ public class XtextParser extends AbstractContentAssistParser {
|
|||
builder.put(grammarAccess.getParserRuleAccess().getAnnotationsAssignment_0(), "rule__ParserRule__AnnotationsAssignment_0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getFragmentAssignment_1_0_0(), "rule__ParserRule__FragmentAssignment_1_0_0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getWildcardAssignment_1_0_2_0(), "rule__ParserRule__WildcardAssignment_1_0_2_0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getTypeAssignment_1_0_2_1_1(), "rule__ParserRule__TypeAssignment_1_0_2_1_1");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getTypeAssignment_1_1_1_1(), "rule__ParserRule__TypeAssignment_1_1_1_1");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getDefinesHiddenTokensAssignment_2_0(), "rule__ParserRule__DefinesHiddenTokensAssignment_2_0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getHiddenTokensAssignment_2_2_0(), "rule__ParserRule__HiddenTokensAssignment_2_2_0");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getHiddenTokensAssignment_2_2_1_1(), "rule__ParserRule__HiddenTokensAssignment_2_2_1_1");
|
||||
builder.put(grammarAccess.getParserRuleAccess().getAlternativesAssignment_4(), "rule__ParserRule__AlternativesAssignment_4");
|
||||
builder.put(grammarAccess.getReturnsCauseAccess().getTypeAssignment_1(), "rule__ReturnsCause__TypeAssignment_1");
|
||||
builder.put(grammarAccess.getRuleNameAndParamsAccess().getNameAssignment_0(), "rule__RuleNameAndParams__NameAssignment_0");
|
||||
builder.put(grammarAccess.getRuleNameAndParamsAccess().getParametersAssignment_1_1_0(), "rule__RuleNameAndParams__ParametersAssignment_1_1_0");
|
||||
builder.put(grammarAccess.getRuleNameAndParamsAccess().getParametersAssignment_1_1_1_1(), "rule__RuleNameAndParams__ParametersAssignment_1_1_1_1");
|
||||
|
@ -220,7 +216,6 @@ public class XtextParser extends AbstractContentAssistParser {
|
|||
builder.put(grammarAccess.getTerminalRuleAccess().getFragmentAssignment_2_0_0(), "rule__TerminalRule__FragmentAssignment_2_0_0");
|
||||
builder.put(grammarAccess.getTerminalRuleAccess().getNameAssignment_2_0_1(), "rule__TerminalRule__NameAssignment_2_0_1");
|
||||
builder.put(grammarAccess.getTerminalRuleAccess().getNameAssignment_2_1_0(), "rule__TerminalRule__NameAssignment_2_1_0");
|
||||
builder.put(grammarAccess.getTerminalRuleAccess().getTypeAssignment_2_1_1_1(), "rule__TerminalRule__TypeAssignment_2_1_1_1");
|
||||
builder.put(grammarAccess.getTerminalRuleAccess().getAlternativesAssignment_4(), "rule__TerminalRule__AlternativesAssignment_4");
|
||||
builder.put(grammarAccess.getTerminalAlternativesAccess().getElementsAssignment_1_1_1(), "rule__TerminalAlternatives__ElementsAssignment_1_1_1");
|
||||
builder.put(grammarAccess.getTerminalGroupAccess().getElementsAssignment_1_1(), "rule__TerminalGroup__ElementsAssignment_1_1");
|
||||
|
@ -230,7 +225,6 @@ public class XtextParser extends AbstractContentAssistParser {
|
|||
builder.put(grammarAccess.getCharacterRangeAccess().getRightAssignment_1_2(), "rule__CharacterRange__RightAssignment_1_2");
|
||||
builder.put(grammarAccess.getEnumRuleAccess().getAnnotationsAssignment_0(), "rule__EnumRule__AnnotationsAssignment_0");
|
||||
builder.put(grammarAccess.getEnumRuleAccess().getNameAssignment_2(), "rule__EnumRule__NameAssignment_2");
|
||||
builder.put(grammarAccess.getEnumRuleAccess().getTypeAssignment_3_1(), "rule__EnumRule__TypeAssignment_3_1");
|
||||
builder.put(grammarAccess.getEnumRuleAccess().getAlternativesAssignment_5(), "rule__EnumRule__AlternativesAssignment_5");
|
||||
builder.put(grammarAccess.getEnumLiteralsAccess().getElementsAssignment_1_1_1(), "rule__EnumLiterals__ElementsAssignment_1_1_1");
|
||||
builder.put(grammarAccess.getEnumLiteralDeclarationAccess().getEnumLiteralAssignment_0(), "rule__EnumLiteralDeclaration__EnumLiteralAssignment_0");
|
||||
|
|
|
@ -250,6 +250,23 @@ finally {
|
|||
}
|
||||
|
||||
|
||||
// Rule ReturnsCause
|
||||
ruleReturnsCause
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getReturnsCauseAccess().getGroup()); }
|
||||
(rule__ReturnsCause__Group__0)
|
||||
{ after(grammarAccess.getReturnsCauseAccess().getGroup()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
|
||||
// Rule RuleNameAndParams
|
||||
ruleRuleNameAndParams
|
||||
@init {
|
||||
|
@ -1547,9 +1564,9 @@ rule__ParserRule__Alternatives_1_0_2
|
|||
)
|
||||
|
|
||||
(
|
||||
{ before(grammarAccess.getParserRuleAccess().getGroup_1_0_2_1()); }
|
||||
(rule__ParserRule__Group_1_0_2_1__0)?
|
||||
{ after(grammarAccess.getParserRuleAccess().getGroup_1_0_2_1()); }
|
||||
{ before(grammarAccess.getParserRuleAccess().getReturnsCauseParserRuleCall_1_0_2_1()); }
|
||||
(ruleReturnsCause)?
|
||||
{ after(grammarAccess.getParserRuleAccess().getReturnsCauseParserRuleCall_1_0_2_1()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
|
@ -3309,60 +3326,6 @@ finally {
|
|||
}
|
||||
|
||||
|
||||
rule__ParserRule__Group_1_0_2_1__0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__ParserRule__Group_1_0_2_1__0__Impl
|
||||
rule__ParserRule__Group_1_0_2_1__1
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__Group_1_0_2_1__0__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getParserRuleAccess().getReturnsKeyword_1_0_2_1_0()); }
|
||||
'returns'
|
||||
{ after(grammarAccess.getParserRuleAccess().getReturnsKeyword_1_0_2_1_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__Group_1_0_2_1__1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__ParserRule__Group_1_0_2_1__1__Impl
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__Group_1_0_2_1__1__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getParserRuleAccess().getTypeAssignment_1_0_2_1_1()); }
|
||||
(rule__ParserRule__TypeAssignment_1_0_2_1_1)
|
||||
{ after(grammarAccess.getParserRuleAccess().getTypeAssignment_1_0_2_1_1()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
|
||||
rule__ParserRule__Group_1_1__0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
|
@ -3407,63 +3370,9 @@ rule__ParserRule__Group_1_1__1__Impl
|
|||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getParserRuleAccess().getGroup_1_1_1()); }
|
||||
(rule__ParserRule__Group_1_1_1__0)?
|
||||
{ after(grammarAccess.getParserRuleAccess().getGroup_1_1_1()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
|
||||
rule__ParserRule__Group_1_1_1__0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__ParserRule__Group_1_1_1__0__Impl
|
||||
rule__ParserRule__Group_1_1_1__1
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__Group_1_1_1__0__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getParserRuleAccess().getReturnsKeyword_1_1_1_0()); }
|
||||
'returns'
|
||||
{ after(grammarAccess.getParserRuleAccess().getReturnsKeyword_1_1_1_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__Group_1_1_1__1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__ParserRule__Group_1_1_1__1__Impl
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__Group_1_1_1__1__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getParserRuleAccess().getTypeAssignment_1_1_1_1()); }
|
||||
(rule__ParserRule__TypeAssignment_1_1_1_1)
|
||||
{ after(grammarAccess.getParserRuleAccess().getTypeAssignment_1_1_1_1()); }
|
||||
{ before(grammarAccess.getParserRuleAccess().getReturnsCauseParserRuleCall_1_1_1()); }
|
||||
(ruleReturnsCause)?
|
||||
{ after(grammarAccess.getParserRuleAccess().getReturnsCauseParserRuleCall_1_1_1()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
|
@ -3687,6 +3596,60 @@ finally {
|
|||
}
|
||||
|
||||
|
||||
rule__ReturnsCause__Group__0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__ReturnsCause__Group__0__Impl
|
||||
rule__ReturnsCause__Group__1
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ReturnsCause__Group__0__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getReturnsCauseAccess().getReturnsKeyword_0()); }
|
||||
'returns'
|
||||
{ after(grammarAccess.getReturnsCauseAccess().getReturnsKeyword_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ReturnsCause__Group__1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__ReturnsCause__Group__1__Impl
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ReturnsCause__Group__1__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getReturnsCauseAccess().getTypeAssignment_1()); }
|
||||
(rule__ReturnsCause__TypeAssignment_1)
|
||||
{ after(grammarAccess.getReturnsCauseAccess().getTypeAssignment_1()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
|
||||
rule__RuleNameAndParams__Group__0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
|
@ -7087,63 +7050,9 @@ rule__TerminalRule__Group_2_1__1__Impl
|
|||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getTerminalRuleAccess().getGroup_2_1_1()); }
|
||||
(rule__TerminalRule__Group_2_1_1__0)?
|
||||
{ after(grammarAccess.getTerminalRuleAccess().getGroup_2_1_1()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
|
||||
rule__TerminalRule__Group_2_1_1__0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__TerminalRule__Group_2_1_1__0__Impl
|
||||
rule__TerminalRule__Group_2_1_1__1
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__TerminalRule__Group_2_1_1__0__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getTerminalRuleAccess().getReturnsKeyword_2_1_1_0()); }
|
||||
'returns'
|
||||
{ after(grammarAccess.getTerminalRuleAccess().getReturnsKeyword_2_1_1_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__TerminalRule__Group_2_1_1__1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__TerminalRule__Group_2_1_1__1__Impl
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__TerminalRule__Group_2_1_1__1__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getTerminalRuleAccess().getTypeAssignment_2_1_1_1()); }
|
||||
(rule__TerminalRule__TypeAssignment_2_1_1_1)
|
||||
{ after(grammarAccess.getTerminalRuleAccess().getTypeAssignment_2_1_1_1()); }
|
||||
{ before(grammarAccess.getTerminalRuleAccess().getReturnsCauseParserRuleCall_2_1_1()); }
|
||||
(ruleReturnsCause)?
|
||||
{ after(grammarAccess.getTerminalRuleAccess().getReturnsCauseParserRuleCall_2_1_1()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
|
@ -8020,9 +7929,9 @@ rule__EnumRule__Group__3__Impl
|
|||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getEnumRuleAccess().getGroup_3()); }
|
||||
(rule__EnumRule__Group_3__0)?
|
||||
{ after(grammarAccess.getEnumRuleAccess().getGroup_3()); }
|
||||
{ before(grammarAccess.getEnumRuleAccess().getReturnsCauseParserRuleCall_3()); }
|
||||
(ruleReturnsCause)?
|
||||
{ after(grammarAccess.getEnumRuleAccess().getReturnsCauseParserRuleCall_3()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
|
@ -8110,60 +8019,6 @@ finally {
|
|||
}
|
||||
|
||||
|
||||
rule__EnumRule__Group_3__0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__EnumRule__Group_3__0__Impl
|
||||
rule__EnumRule__Group_3__1
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__EnumRule__Group_3__0__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getEnumRuleAccess().getReturnsKeyword_3_0()); }
|
||||
'returns'
|
||||
{ after(grammarAccess.getEnumRuleAccess().getReturnsKeyword_3_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__EnumRule__Group_3__1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
rule__EnumRule__Group_3__1__Impl
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__EnumRule__Group_3__1__Impl
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getEnumRuleAccess().getTypeAssignment_3_1()); }
|
||||
(rule__EnumRule__TypeAssignment_3_1)
|
||||
{ after(grammarAccess.getEnumRuleAccess().getTypeAssignment_3_1()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
|
||||
rule__EnumLiterals__Group__0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
|
@ -8732,36 +8587,6 @@ finally {
|
|||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__TypeAssignment_1_0_2_1_1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getParserRuleAccess().getTypeTypeRefParserRuleCall_1_0_2_1_1_0()); }
|
||||
ruleTypeRef
|
||||
{ after(grammarAccess.getParserRuleAccess().getTypeTypeRefParserRuleCall_1_0_2_1_1_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__TypeAssignment_1_1_1_1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getParserRuleAccess().getTypeTypeRefParserRuleCall_1_1_1_1_0()); }
|
||||
ruleTypeRef
|
||||
{ after(grammarAccess.getParserRuleAccess().getTypeTypeRefParserRuleCall_1_1_1_1_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ParserRule__DefinesHiddenTokensAssignment_2_0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
|
@ -8834,6 +8659,21 @@ finally {
|
|||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__ReturnsCause__TypeAssignment_1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getReturnsCauseAccess().getTypeTypeRefParserRuleCall_1_0()); }
|
||||
ruleTypeRef
|
||||
{ after(grammarAccess.getReturnsCauseAccess().getTypeTypeRefParserRuleCall_1_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__RuleNameAndParams__NameAssignment_0
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
|
@ -9671,21 +9511,6 @@ finally {
|
|||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__TerminalRule__TypeAssignment_2_1_1_1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getTerminalRuleAccess().getTypeTypeRefParserRuleCall_2_1_1_1_0()); }
|
||||
ruleTypeRef
|
||||
{ after(grammarAccess.getTerminalRuleAccess().getTypeTypeRefParserRuleCall_2_1_1_1_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__TerminalRule__AlternativesAssignment_4
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
|
@ -9821,21 +9646,6 @@ finally {
|
|||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__EnumRule__TypeAssignment_3_1
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
}
|
||||
:
|
||||
(
|
||||
{ before(grammarAccess.getEnumRuleAccess().getTypeTypeRefParserRuleCall_3_1_0()); }
|
||||
ruleTypeRef
|
||||
{ after(grammarAccess.getEnumRuleAccess().getTypeTypeRefParserRuleCall_3_1_0()); }
|
||||
)
|
||||
;
|
||||
finally {
|
||||
restoreStackSize(stackSize);
|
||||
}
|
||||
|
||||
rule__EnumRule__AlternativesAssignment_5
|
||||
@init {
|
||||
int stackSize = keepStackSize();
|
||||
|
|
|
@ -899,10 +899,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_ID;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:9903:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
|
||||
// InternalXtext.g:9903:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
|
||||
// InternalXtext.g:9713:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
|
||||
// InternalXtext.g:9713:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
|
||||
{
|
||||
// InternalXtext.g:9903:11: ( '^' )?
|
||||
// InternalXtext.g:9713:11: ( '^' )?
|
||||
int alt1=2;
|
||||
int LA1_0 = input.LA(1);
|
||||
|
||||
|
@ -911,7 +911,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
switch (alt1) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9903:11: '^'
|
||||
// InternalXtext.g:9713:11: '^'
|
||||
{
|
||||
match('^');
|
||||
|
||||
|
@ -929,7 +929,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
recover(mse);
|
||||
throw mse;}
|
||||
|
||||
// InternalXtext.g:9903:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
|
||||
// InternalXtext.g:9713:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
|
||||
loop2:
|
||||
do {
|
||||
int alt2=2;
|
||||
|
@ -978,10 +978,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_INT;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:9905:10: ( ( '0' .. '9' )+ )
|
||||
// InternalXtext.g:9905:12: ( '0' .. '9' )+
|
||||
// InternalXtext.g:9715:10: ( ( '0' .. '9' )+ )
|
||||
// InternalXtext.g:9715:12: ( '0' .. '9' )+
|
||||
{
|
||||
// InternalXtext.g:9905:12: ( '0' .. '9' )+
|
||||
// InternalXtext.g:9715:12: ( '0' .. '9' )+
|
||||
int cnt3=0;
|
||||
loop3:
|
||||
do {
|
||||
|
@ -995,7 +995,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt3) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9905:13: '0' .. '9'
|
||||
// InternalXtext.g:9715:13: '0' .. '9'
|
||||
{
|
||||
matchRange('0','9');
|
||||
|
||||
|
@ -1027,10 +1027,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_STRING;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:9907:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
|
||||
// InternalXtext.g:9907:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
|
||||
// InternalXtext.g:9717:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
|
||||
// InternalXtext.g:9717:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
|
||||
{
|
||||
// InternalXtext.g:9907:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
|
||||
// InternalXtext.g:9717:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
|
||||
int alt6=2;
|
||||
int LA6_0 = input.LA(1);
|
||||
|
||||
|
@ -1048,10 +1048,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
switch (alt6) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9907:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
|
||||
// InternalXtext.g:9717:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
|
||||
{
|
||||
match('\"');
|
||||
// InternalXtext.g:9907:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
|
||||
// InternalXtext.g:9717:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
|
||||
loop4:
|
||||
do {
|
||||
int alt4=3;
|
||||
|
@ -1067,7 +1067,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt4) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9907:21: '\\\\' .
|
||||
// InternalXtext.g:9717:21: '\\\\' .
|
||||
{
|
||||
match('\\');
|
||||
matchAny();
|
||||
|
@ -1075,7 +1075,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
break;
|
||||
case 2 :
|
||||
// InternalXtext.g:9907:28: ~ ( ( '\\\\' | '\"' ) )
|
||||
// InternalXtext.g:9717:28: ~ ( ( '\\\\' | '\"' ) )
|
||||
{
|
||||
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
|
||||
input.consume();
|
||||
|
@ -1100,10 +1100,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
break;
|
||||
case 2 :
|
||||
// InternalXtext.g:9907:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
|
||||
// InternalXtext.g:9717:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
|
||||
{
|
||||
match('\'');
|
||||
// InternalXtext.g:9907:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
|
||||
// InternalXtext.g:9717:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
|
||||
loop5:
|
||||
do {
|
||||
int alt5=3;
|
||||
|
@ -1119,7 +1119,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt5) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9907:54: '\\\\' .
|
||||
// InternalXtext.g:9717:54: '\\\\' .
|
||||
{
|
||||
match('\\');
|
||||
matchAny();
|
||||
|
@ -1127,7 +1127,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
break;
|
||||
case 2 :
|
||||
// InternalXtext.g:9907:61: ~ ( ( '\\\\' | '\\'' ) )
|
||||
// InternalXtext.g:9717:61: ~ ( ( '\\\\' | '\\'' ) )
|
||||
{
|
||||
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
|
||||
input.consume();
|
||||
|
@ -1170,12 +1170,12 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_ML_COMMENT;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:9909:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
|
||||
// InternalXtext.g:9909:19: '/*' ( options {greedy=false; } : . )* '*/'
|
||||
// InternalXtext.g:9719:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
|
||||
// InternalXtext.g:9719:19: '/*' ( options {greedy=false; } : . )* '*/'
|
||||
{
|
||||
match("/*");
|
||||
|
||||
// InternalXtext.g:9909:24: ( options {greedy=false; } : . )*
|
||||
// InternalXtext.g:9719:24: ( options {greedy=false; } : . )*
|
||||
loop7:
|
||||
do {
|
||||
int alt7=2;
|
||||
|
@ -1200,7 +1200,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt7) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9909:52: .
|
||||
// InternalXtext.g:9719:52: .
|
||||
{
|
||||
matchAny();
|
||||
|
||||
|
@ -1230,12 +1230,12 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_SL_COMMENT;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:9911:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
|
||||
// InternalXtext.g:9911:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
|
||||
// InternalXtext.g:9721:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
|
||||
// InternalXtext.g:9721:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
|
||||
{
|
||||
match("//");
|
||||
|
||||
// InternalXtext.g:9911:24: (~ ( ( '\\n' | '\\r' ) ) )*
|
||||
// InternalXtext.g:9721:24: (~ ( ( '\\n' | '\\r' ) ) )*
|
||||
loop8:
|
||||
do {
|
||||
int alt8=2;
|
||||
|
@ -1248,7 +1248,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt8) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9911:24: ~ ( ( '\\n' | '\\r' ) )
|
||||
// InternalXtext.g:9721:24: ~ ( ( '\\n' | '\\r' ) )
|
||||
{
|
||||
if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
|
||||
input.consume();
|
||||
|
@ -1268,7 +1268,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
} while (true);
|
||||
|
||||
// InternalXtext.g:9911:40: ( ( '\\r' )? '\\n' )?
|
||||
// InternalXtext.g:9721:40: ( ( '\\r' )? '\\n' )?
|
||||
int alt10=2;
|
||||
int LA10_0 = input.LA(1);
|
||||
|
||||
|
@ -1277,9 +1277,9 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
switch (alt10) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9911:41: ( '\\r' )? '\\n'
|
||||
// InternalXtext.g:9721:41: ( '\\r' )? '\\n'
|
||||
{
|
||||
// InternalXtext.g:9911:41: ( '\\r' )?
|
||||
// InternalXtext.g:9721:41: ( '\\r' )?
|
||||
int alt9=2;
|
||||
int LA9_0 = input.LA(1);
|
||||
|
||||
|
@ -1288,7 +1288,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
switch (alt9) {
|
||||
case 1 :
|
||||
// InternalXtext.g:9911:41: '\\r'
|
||||
// InternalXtext.g:9721:41: '\\r'
|
||||
{
|
||||
match('\r');
|
||||
|
||||
|
@ -1320,10 +1320,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_WS;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:9913:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
|
||||
// InternalXtext.g:9913:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
// InternalXtext.g:9723:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
|
||||
// InternalXtext.g:9723:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
{
|
||||
// InternalXtext.g:9913:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
// InternalXtext.g:9723:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
int cnt11=0;
|
||||
loop11:
|
||||
do {
|
||||
|
@ -1377,8 +1377,8 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_ANY_OTHER;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:9915:16: ( . )
|
||||
// InternalXtext.g:9915:18: .
|
||||
// InternalXtext.g:9725:16: ( . )
|
||||
// InternalXtext.g:9725:18: .
|
||||
{
|
||||
matchAny();
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -636,29 +636,17 @@ ruleParserRule returns [EObject current=null]
|
|||
)
|
||||
|
|
||||
(
|
||||
otherlv_4='returns'
|
||||
{
|
||||
newLeafNode(otherlv_4, grammarAccess.getParserRuleAccess().getReturnsKeyword_1_0_2_1_0());
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getParserRuleRule());
|
||||
}
|
||||
newCompositeNode(grammarAccess.getParserRuleAccess().getReturnsCauseParserRuleCall_1_0_2_1());
|
||||
}
|
||||
this_ReturnsCause_4=ruleReturnsCause[$current]
|
||||
{
|
||||
$current = $this_ReturnsCause_4.current;
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getParserRuleAccess().getTypeTypeRefParserRuleCall_1_0_2_1_1_0());
|
||||
}
|
||||
lv_type_5_0=ruleTypeRef
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getParserRuleRule());
|
||||
}
|
||||
set(
|
||||
$current,
|
||||
"type",
|
||||
lv_type_5_0,
|
||||
"org.eclipse.xtext.Xtext.TypeRef");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)?
|
||||
)
|
||||
)
|
||||
|
@ -670,56 +658,44 @@ ruleParserRule returns [EObject current=null]
|
|||
}
|
||||
newCompositeNode(grammarAccess.getParserRuleAccess().getRuleNameAndParamsParserRuleCall_1_1_0());
|
||||
}
|
||||
this_RuleNameAndParams_6=ruleRuleNameAndParams[$current]
|
||||
this_RuleNameAndParams_5=ruleRuleNameAndParams[$current]
|
||||
{
|
||||
$current = $this_RuleNameAndParams_6.current;
|
||||
$current = $this_RuleNameAndParams_5.current;
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
(
|
||||
otherlv_7='returns'
|
||||
{
|
||||
newLeafNode(otherlv_7, grammarAccess.getParserRuleAccess().getReturnsKeyword_1_1_1_0());
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getParserRuleRule());
|
||||
}
|
||||
newCompositeNode(grammarAccess.getParserRuleAccess().getReturnsCauseParserRuleCall_1_1_1());
|
||||
}
|
||||
this_ReturnsCause_6=ruleReturnsCause[$current]
|
||||
{
|
||||
$current = $this_ReturnsCause_6.current;
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getParserRuleAccess().getTypeTypeRefParserRuleCall_1_1_1_1_0());
|
||||
}
|
||||
lv_type_8_0=ruleTypeRef
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getParserRuleRule());
|
||||
}
|
||||
set(
|
||||
$current,
|
||||
"type",
|
||||
lv_type_8_0,
|
||||
"org.eclipse.xtext.Xtext.TypeRef");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)?
|
||||
)
|
||||
)
|
||||
(
|
||||
(
|
||||
(
|
||||
lv_definesHiddenTokens_9_0='hidden'
|
||||
lv_definesHiddenTokens_7_0='hidden'
|
||||
{
|
||||
newLeafNode(lv_definesHiddenTokens_9_0, grammarAccess.getParserRuleAccess().getDefinesHiddenTokensHiddenKeyword_2_0_0());
|
||||
newLeafNode(lv_definesHiddenTokens_7_0, grammarAccess.getParserRuleAccess().getDefinesHiddenTokensHiddenKeyword_2_0_0());
|
||||
}
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getParserRuleRule());
|
||||
}
|
||||
setWithLastConsumed($current, "definesHiddenTokens", lv_definesHiddenTokens_9_0 != null, "hidden");
|
||||
setWithLastConsumed($current, "definesHiddenTokens", lv_definesHiddenTokens_7_0 != null, "hidden");
|
||||
}
|
||||
)
|
||||
)
|
||||
otherlv_10='('
|
||||
otherlv_8='('
|
||||
{
|
||||
newLeafNode(otherlv_10, grammarAccess.getParserRuleAccess().getLeftParenthesisKeyword_2_1());
|
||||
newLeafNode(otherlv_8, grammarAccess.getParserRuleAccess().getLeftParenthesisKeyword_2_1());
|
||||
}
|
||||
(
|
||||
(
|
||||
|
@ -739,9 +715,9 @@ ruleParserRule returns [EObject current=null]
|
|||
)
|
||||
)
|
||||
(
|
||||
otherlv_12=','
|
||||
otherlv_10=','
|
||||
{
|
||||
newLeafNode(otherlv_12, grammarAccess.getParserRuleAccess().getCommaKeyword_2_2_1_0());
|
||||
newLeafNode(otherlv_10, grammarAccess.getParserRuleAccess().getCommaKeyword_2_2_1_0());
|
||||
}
|
||||
(
|
||||
(
|
||||
|
@ -761,21 +737,21 @@ ruleParserRule returns [EObject current=null]
|
|||
)
|
||||
)*
|
||||
)?
|
||||
otherlv_14=')'
|
||||
otherlv_12=')'
|
||||
{
|
||||
newLeafNode(otherlv_14, grammarAccess.getParserRuleAccess().getRightParenthesisKeyword_2_3());
|
||||
newLeafNode(otherlv_12, grammarAccess.getParserRuleAccess().getRightParenthesisKeyword_2_3());
|
||||
}
|
||||
)?
|
||||
otherlv_15=':'
|
||||
otherlv_13=':'
|
||||
{
|
||||
newLeafNode(otherlv_15, grammarAccess.getParserRuleAccess().getColonKeyword_3());
|
||||
newLeafNode(otherlv_13, grammarAccess.getParserRuleAccess().getColonKeyword_3());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getParserRuleAccess().getAlternativesAlternativesParserRuleCall_4_0());
|
||||
}
|
||||
lv_alternatives_16_0=ruleAlternatives
|
||||
lv_alternatives_14_0=ruleAlternatives
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getParserRuleRule());
|
||||
|
@ -783,20 +759,56 @@ ruleParserRule returns [EObject current=null]
|
|||
set(
|
||||
$current,
|
||||
"alternatives",
|
||||
lv_alternatives_16_0,
|
||||
lv_alternatives_14_0,
|
||||
"org.eclipse.xtext.Xtext.Alternatives");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
otherlv_17=';'
|
||||
otherlv_15=';'
|
||||
{
|
||||
newLeafNode(otherlv_17, grammarAccess.getParserRuleAccess().getSemicolonKeyword_5());
|
||||
newLeafNode(otherlv_15, grammarAccess.getParserRuleAccess().getSemicolonKeyword_5());
|
||||
}
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
// Rule ReturnsCause
|
||||
ruleReturnsCause[EObject in_current] returns [EObject current=in_current]
|
||||
@init {
|
||||
enterRule();
|
||||
}
|
||||
@after {
|
||||
leaveRule();
|
||||
}:
|
||||
(
|
||||
otherlv_0='returns'
|
||||
{
|
||||
newLeafNode(otherlv_0, grammarAccess.getReturnsCauseAccess().getReturnsKeyword_0());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getReturnsCauseAccess().getTypeTypeRefParserRuleCall_1_0());
|
||||
}
|
||||
lv_type_1_0=ruleTypeRef
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getReturnsCauseRule());
|
||||
}
|
||||
set(
|
||||
$current,
|
||||
"type",
|
||||
lv_type_1_0,
|
||||
"org.eclipse.xtext.Xtext.TypeRef");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
// Rule RuleNameAndParams
|
||||
ruleRuleNameAndParams[EObject in_current] returns [EObject current=in_current]
|
||||
@init {
|
||||
|
@ -2939,42 +2951,30 @@ ruleTerminalRule returns [EObject current=null]
|
|||
)
|
||||
)
|
||||
(
|
||||
otherlv_5='returns'
|
||||
{
|
||||
newLeafNode(otherlv_5, grammarAccess.getTerminalRuleAccess().getReturnsKeyword_2_1_1_0());
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getTerminalRuleRule());
|
||||
}
|
||||
newCompositeNode(grammarAccess.getTerminalRuleAccess().getReturnsCauseParserRuleCall_2_1_1());
|
||||
}
|
||||
this_ReturnsCause_5=ruleReturnsCause[$current]
|
||||
{
|
||||
$current = $this_ReturnsCause_5.current;
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getTerminalRuleAccess().getTypeTypeRefParserRuleCall_2_1_1_1_0());
|
||||
}
|
||||
lv_type_6_0=ruleTypeRef
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getTerminalRuleRule());
|
||||
}
|
||||
set(
|
||||
$current,
|
||||
"type",
|
||||
lv_type_6_0,
|
||||
"org.eclipse.xtext.Xtext.TypeRef");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)?
|
||||
)
|
||||
)
|
||||
otherlv_7=':'
|
||||
otherlv_6=':'
|
||||
{
|
||||
newLeafNode(otherlv_7, grammarAccess.getTerminalRuleAccess().getColonKeyword_3());
|
||||
newLeafNode(otherlv_6, grammarAccess.getTerminalRuleAccess().getColonKeyword_3());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getTerminalRuleAccess().getAlternativesTerminalAlternativesParserRuleCall_4_0());
|
||||
}
|
||||
lv_alternatives_8_0=ruleTerminalAlternatives
|
||||
lv_alternatives_7_0=ruleTerminalAlternatives
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getTerminalRuleRule());
|
||||
|
@ -2982,15 +2982,15 @@ ruleTerminalRule returns [EObject current=null]
|
|||
set(
|
||||
$current,
|
||||
"alternatives",
|
||||
lv_alternatives_8_0,
|
||||
lv_alternatives_7_0,
|
||||
"org.eclipse.xtext.Xtext.TerminalAlternatives");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
otherlv_9=';'
|
||||
otherlv_8=';'
|
||||
{
|
||||
newLeafNode(otherlv_9, grammarAccess.getTerminalRuleAccess().getSemicolonKeyword_5());
|
||||
newLeafNode(otherlv_8, grammarAccess.getTerminalRuleAccess().getSemicolonKeyword_5());
|
||||
}
|
||||
)
|
||||
;
|
||||
|
@ -3581,40 +3581,28 @@ ruleEnumRule returns [EObject current=null]
|
|||
)
|
||||
)
|
||||
(
|
||||
otherlv_3='returns'
|
||||
{
|
||||
newLeafNode(otherlv_3, grammarAccess.getEnumRuleAccess().getReturnsKeyword_3_0());
|
||||
if ($current==null) {
|
||||
$current = createModelElement(grammarAccess.getEnumRuleRule());
|
||||
}
|
||||
newCompositeNode(grammarAccess.getEnumRuleAccess().getReturnsCauseParserRuleCall_3());
|
||||
}
|
||||
this_ReturnsCause_3=ruleReturnsCause[$current]
|
||||
{
|
||||
$current = $this_ReturnsCause_3.current;
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getEnumRuleAccess().getTypeTypeRefParserRuleCall_3_1_0());
|
||||
}
|
||||
lv_type_4_0=ruleTypeRef
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getEnumRuleRule());
|
||||
}
|
||||
set(
|
||||
$current,
|
||||
"type",
|
||||
lv_type_4_0,
|
||||
"org.eclipse.xtext.Xtext.TypeRef");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
)?
|
||||
otherlv_5=':'
|
||||
otherlv_4=':'
|
||||
{
|
||||
newLeafNode(otherlv_5, grammarAccess.getEnumRuleAccess().getColonKeyword_4());
|
||||
newLeafNode(otherlv_4, grammarAccess.getEnumRuleAccess().getColonKeyword_4());
|
||||
}
|
||||
(
|
||||
(
|
||||
{
|
||||
newCompositeNode(grammarAccess.getEnumRuleAccess().getAlternativesEnumLiteralsParserRuleCall_5_0());
|
||||
}
|
||||
lv_alternatives_6_0=ruleEnumLiterals
|
||||
lv_alternatives_5_0=ruleEnumLiterals
|
||||
{
|
||||
if ($current==null) {
|
||||
$current = createModelElementForParent(grammarAccess.getEnumRuleRule());
|
||||
|
@ -3622,15 +3610,15 @@ ruleEnumRule returns [EObject current=null]
|
|||
set(
|
||||
$current,
|
||||
"alternatives",
|
||||
lv_alternatives_6_0,
|
||||
lv_alternatives_5_0,
|
||||
"org.eclipse.xtext.Xtext.EnumLiterals");
|
||||
afterParserOrEnumRuleCall();
|
||||
}
|
||||
)
|
||||
)
|
||||
otherlv_7=';'
|
||||
otherlv_6=';'
|
||||
{
|
||||
newLeafNode(otherlv_7, grammarAccess.getEnumRuleAccess().getSemicolonKeyword_6());
|
||||
newLeafNode(otherlv_6, grammarAccess.getEnumRuleAccess().getSemicolonKeyword_6());
|
||||
}
|
||||
)
|
||||
;
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
'->'=43
|
||||
'.'=17
|
||||
'..'=49
|
||||
':'=25
|
||||
':'=24
|
||||
'::'=29
|
||||
';'=26
|
||||
';'=25
|
||||
'<'=27
|
||||
'='=35
|
||||
'=>'=42
|
||||
|
@ -31,7 +31,7 @@
|
|||
'grammar'=11
|
||||
'hidden'=14
|
||||
'import'=20
|
||||
'returns'=24
|
||||
'returns'=26
|
||||
'terminal'=47
|
||||
'true'=39
|
||||
'with'=12
|
||||
|
|
|
@ -346,11 +346,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = T__24;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:24:7: ( 'returns' )
|
||||
// InternalXtext.g:24:9: 'returns'
|
||||
// InternalXtext.g:24:7: ( ':' )
|
||||
// InternalXtext.g:24:9: ':'
|
||||
{
|
||||
match("returns");
|
||||
|
||||
match(':');
|
||||
|
||||
}
|
||||
|
||||
|
@ -367,10 +366,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = T__25;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:25:7: ( ':' )
|
||||
// InternalXtext.g:25:9: ':'
|
||||
// InternalXtext.g:25:7: ( ';' )
|
||||
// InternalXtext.g:25:9: ';'
|
||||
{
|
||||
match(':');
|
||||
match(';');
|
||||
|
||||
}
|
||||
|
||||
|
@ -387,10 +386,11 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = T__26;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:26:7: ( ';' )
|
||||
// InternalXtext.g:26:9: ';'
|
||||
// InternalXtext.g:26:7: ( 'returns' )
|
||||
// InternalXtext.g:26:9: 'returns'
|
||||
{
|
||||
match(';');
|
||||
match("returns");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -899,10 +899,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_ID;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:3759:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
|
||||
// InternalXtext.g:3759:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
|
||||
// InternalXtext.g:3747:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
|
||||
// InternalXtext.g:3747:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
|
||||
{
|
||||
// InternalXtext.g:3759:11: ( '^' )?
|
||||
// InternalXtext.g:3747:11: ( '^' )?
|
||||
int alt1=2;
|
||||
int LA1_0 = input.LA(1);
|
||||
|
||||
|
@ -911,7 +911,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
switch (alt1) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3759:11: '^'
|
||||
// InternalXtext.g:3747:11: '^'
|
||||
{
|
||||
match('^');
|
||||
|
||||
|
@ -929,7 +929,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
recover(mse);
|
||||
throw mse;}
|
||||
|
||||
// InternalXtext.g:3759:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
|
||||
// InternalXtext.g:3747:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
|
||||
loop2:
|
||||
do {
|
||||
int alt2=2;
|
||||
|
@ -978,10 +978,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_INT;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:3761:10: ( ( '0' .. '9' )+ )
|
||||
// InternalXtext.g:3761:12: ( '0' .. '9' )+
|
||||
// InternalXtext.g:3749:10: ( ( '0' .. '9' )+ )
|
||||
// InternalXtext.g:3749:12: ( '0' .. '9' )+
|
||||
{
|
||||
// InternalXtext.g:3761:12: ( '0' .. '9' )+
|
||||
// InternalXtext.g:3749:12: ( '0' .. '9' )+
|
||||
int cnt3=0;
|
||||
loop3:
|
||||
do {
|
||||
|
@ -995,7 +995,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt3) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3761:13: '0' .. '9'
|
||||
// InternalXtext.g:3749:13: '0' .. '9'
|
||||
{
|
||||
matchRange('0','9');
|
||||
|
||||
|
@ -1027,10 +1027,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_STRING;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:3763:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
|
||||
// InternalXtext.g:3763:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
|
||||
// InternalXtext.g:3751:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
|
||||
// InternalXtext.g:3751:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
|
||||
{
|
||||
// InternalXtext.g:3763:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
|
||||
// InternalXtext.g:3751:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
|
||||
int alt6=2;
|
||||
int LA6_0 = input.LA(1);
|
||||
|
||||
|
@ -1048,10 +1048,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
switch (alt6) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3763:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
|
||||
// InternalXtext.g:3751:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
|
||||
{
|
||||
match('\"');
|
||||
// InternalXtext.g:3763:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
|
||||
// InternalXtext.g:3751:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
|
||||
loop4:
|
||||
do {
|
||||
int alt4=3;
|
||||
|
@ -1067,7 +1067,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt4) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3763:21: '\\\\' .
|
||||
// InternalXtext.g:3751:21: '\\\\' .
|
||||
{
|
||||
match('\\');
|
||||
matchAny();
|
||||
|
@ -1075,7 +1075,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
break;
|
||||
case 2 :
|
||||
// InternalXtext.g:3763:28: ~ ( ( '\\\\' | '\"' ) )
|
||||
// InternalXtext.g:3751:28: ~ ( ( '\\\\' | '\"' ) )
|
||||
{
|
||||
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
|
||||
input.consume();
|
||||
|
@ -1100,10 +1100,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
break;
|
||||
case 2 :
|
||||
// InternalXtext.g:3763:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
|
||||
// InternalXtext.g:3751:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
|
||||
{
|
||||
match('\'');
|
||||
// InternalXtext.g:3763:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
|
||||
// InternalXtext.g:3751:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
|
||||
loop5:
|
||||
do {
|
||||
int alt5=3;
|
||||
|
@ -1119,7 +1119,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt5) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3763:54: '\\\\' .
|
||||
// InternalXtext.g:3751:54: '\\\\' .
|
||||
{
|
||||
match('\\');
|
||||
matchAny();
|
||||
|
@ -1127,7 +1127,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
break;
|
||||
case 2 :
|
||||
// InternalXtext.g:3763:61: ~ ( ( '\\\\' | '\\'' ) )
|
||||
// InternalXtext.g:3751:61: ~ ( ( '\\\\' | '\\'' ) )
|
||||
{
|
||||
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
|
||||
input.consume();
|
||||
|
@ -1170,12 +1170,12 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_ML_COMMENT;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:3765:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
|
||||
// InternalXtext.g:3765:19: '/*' ( options {greedy=false; } : . )* '*/'
|
||||
// InternalXtext.g:3753:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
|
||||
// InternalXtext.g:3753:19: '/*' ( options {greedy=false; } : . )* '*/'
|
||||
{
|
||||
match("/*");
|
||||
|
||||
// InternalXtext.g:3765:24: ( options {greedy=false; } : . )*
|
||||
// InternalXtext.g:3753:24: ( options {greedy=false; } : . )*
|
||||
loop7:
|
||||
do {
|
||||
int alt7=2;
|
||||
|
@ -1200,7 +1200,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt7) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3765:52: .
|
||||
// InternalXtext.g:3753:52: .
|
||||
{
|
||||
matchAny();
|
||||
|
||||
|
@ -1230,12 +1230,12 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_SL_COMMENT;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:3767:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
|
||||
// InternalXtext.g:3767:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
|
||||
// InternalXtext.g:3755:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
|
||||
// InternalXtext.g:3755:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
|
||||
{
|
||||
match("//");
|
||||
|
||||
// InternalXtext.g:3767:24: (~ ( ( '\\n' | '\\r' ) ) )*
|
||||
// InternalXtext.g:3755:24: (~ ( ( '\\n' | '\\r' ) ) )*
|
||||
loop8:
|
||||
do {
|
||||
int alt8=2;
|
||||
|
@ -1248,7 +1248,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
switch (alt8) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3767:24: ~ ( ( '\\n' | '\\r' ) )
|
||||
// InternalXtext.g:3755:24: ~ ( ( '\\n' | '\\r' ) )
|
||||
{
|
||||
if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
|
||||
input.consume();
|
||||
|
@ -1268,7 +1268,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
} while (true);
|
||||
|
||||
// InternalXtext.g:3767:40: ( ( '\\r' )? '\\n' )?
|
||||
// InternalXtext.g:3755:40: ( ( '\\r' )? '\\n' )?
|
||||
int alt10=2;
|
||||
int LA10_0 = input.LA(1);
|
||||
|
||||
|
@ -1277,9 +1277,9 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
switch (alt10) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3767:41: ( '\\r' )? '\\n'
|
||||
// InternalXtext.g:3755:41: ( '\\r' )? '\\n'
|
||||
{
|
||||
// InternalXtext.g:3767:41: ( '\\r' )?
|
||||
// InternalXtext.g:3755:41: ( '\\r' )?
|
||||
int alt9=2;
|
||||
int LA9_0 = input.LA(1);
|
||||
|
||||
|
@ -1288,7 +1288,7 @@ public class InternalXtextLexer extends Lexer {
|
|||
}
|
||||
switch (alt9) {
|
||||
case 1 :
|
||||
// InternalXtext.g:3767:41: '\\r'
|
||||
// InternalXtext.g:3755:41: '\\r'
|
||||
{
|
||||
match('\r');
|
||||
|
||||
|
@ -1320,10 +1320,10 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_WS;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:3769:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
|
||||
// InternalXtext.g:3769:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
// InternalXtext.g:3757:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
|
||||
// InternalXtext.g:3757:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
{
|
||||
// InternalXtext.g:3769:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
// InternalXtext.g:3757:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
int cnt11=0;
|
||||
loop11:
|
||||
do {
|
||||
|
@ -1377,8 +1377,8 @@ public class InternalXtextLexer extends Lexer {
|
|||
try {
|
||||
int _type = RULE_ANY_OTHER;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// InternalXtext.g:3771:16: ( . )
|
||||
// InternalXtext.g:3771:18: .
|
||||
// InternalXtext.g:3759:16: ( . )
|
||||
// InternalXtext.g:3759:18: .
|
||||
{
|
||||
matchAny();
|
||||
|
||||
|
@ -1734,21 +1734,21 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
protected DFA12 dfa12 = new DFA12(this);
|
||||
static final String DFA12_eotS =
|
||||
"\1\uffff\2\53\1\uffff\1\53\2\uffff\1\62\2\53\1\uffff\1\53\1\uffff\1\53\1\73\5\uffff\1\102\1\104\1\uffff\1\107\1\53\1\uffff\1\53\1\uffff\1\50\2\uffff\2\53\1\50\2\uffff\3\50\2\uffff\2\53\1\uffff\1\53\1\uffff\1\53\4\uffff\1\133\1\53\1\uffff\2\53\1\uffff\1\53\16\uffff\1\53\1\uffff\2\53\4\uffff\2\53\5\uffff\4\53\1\uffff\7\53\1\160\3\53\1\164\6\53\1\173\1\53\1\uffff\1\175\2\53\1\uffff\3\53\1\u0083\2\53\1\uffff\1\53\1\uffff\2\53\1\u0089\1\u008a\1\53\1\uffff\3\53\1\u008f\1\53\2\uffff\1\53\1\u0092\1\u0093\1\53\1\uffff\1\u0095\1\u0096\2\uffff\1\u0097\3\uffff";
|
||||
"\1\uffff\2\53\1\uffff\1\53\2\uffff\1\62\2\53\1\uffff\1\53\1\uffff\1\72\1\uffff\1\53\4\uffff\1\102\1\104\1\uffff\1\107\1\53\1\uffff\1\53\1\uffff\1\50\2\uffff\2\53\1\50\2\uffff\3\50\2\uffff\2\53\1\uffff\1\53\1\uffff\1\53\4\uffff\1\133\1\53\1\uffff\2\53\4\uffff\1\53\13\uffff\1\53\1\uffff\2\53\4\uffff\2\53\5\uffff\4\53\1\uffff\7\53\1\160\3\53\1\164\6\53\1\173\1\53\1\uffff\1\175\2\53\1\uffff\3\53\1\u0083\2\53\1\uffff\1\53\1\uffff\2\53\1\u0089\1\u008a\1\53\1\uffff\3\53\1\u008f\1\53\2\uffff\1\53\1\u0092\1\u0093\1\53\1\uffff\1\u0095\1\u0096\2\uffff\1\u0097\3\uffff";
|
||||
static final String DFA12_eofS =
|
||||
"\u0098\uffff";
|
||||
static final String DFA12_minS =
|
||||
"\1\0\1\145\1\151\1\uffff\1\151\2\uffff\1\56\1\163\1\155\1\uffff\1\141\1\uffff\1\145\1\72\5\uffff\2\75\1\uffff\1\76\1\165\1\uffff\1\145\1\uffff\1\76\2\uffff\1\117\1\156\1\101\2\uffff\2\0\1\52\2\uffff\1\141\1\156\1\uffff\1\164\1\uffff\1\144\4\uffff\1\60\1\160\1\uffff\1\141\1\154\1\uffff\1\164\16\uffff\1\162\1\uffff\1\165\1\162\4\uffff\1\106\1\165\5\uffff\1\155\1\145\1\150\1\144\1\uffff\1\157\1\147\1\163\1\165\1\162\1\145\1\155\1\60\2\155\1\162\1\60\1\145\1\162\1\155\1\145\1\162\1\145\1\60\1\151\1\uffff\1\60\2\141\1\uffff\1\156\1\164\1\145\1\60\2\156\1\uffff\1\156\1\uffff\1\162\1\164\2\60\1\156\1\uffff\1\163\1\164\1\141\1\60\1\145\2\uffff\1\164\2\60\1\154\1\uffff\2\60\2\uffff\1\60\3\uffff";
|
||||
"\1\0\1\145\1\151\1\uffff\1\151\2\uffff\1\56\1\163\1\155\1\uffff\1\141\1\uffff\1\72\1\uffff\1\145\4\uffff\2\75\1\uffff\1\76\1\165\1\uffff\1\145\1\uffff\1\76\2\uffff\1\117\1\156\1\101\2\uffff\2\0\1\52\2\uffff\1\141\1\156\1\uffff\1\164\1\uffff\1\144\4\uffff\1\60\1\160\1\uffff\1\141\1\154\4\uffff\1\164\13\uffff\1\162\1\uffff\1\165\1\162\4\uffff\1\106\1\165\5\uffff\1\155\1\145\1\150\1\144\1\uffff\1\157\1\147\1\163\1\165\1\162\1\145\1\155\1\60\2\155\1\162\1\60\1\145\1\162\1\155\1\145\1\162\1\145\1\60\1\151\1\uffff\1\60\2\141\1\uffff\1\156\1\164\1\145\1\60\2\156\1\uffff\1\156\1\uffff\1\162\1\164\2\60\1\156\1\uffff\1\163\1\164\1\141\1\60\1\145\2\uffff\1\164\2\60\1\154\1\uffff\2\60\2\uffff\1\60\3\uffff";
|
||||
static final String DFA12_maxS =
|
||||
"\1\uffff\1\162\1\151\1\uffff\1\151\2\uffff\1\56\1\163\1\155\1\uffff\1\162\1\uffff\1\145\1\72\5\uffff\2\75\1\uffff\1\76\1\165\1\uffff\1\162\1\uffff\1\76\2\uffff\1\117\1\156\1\172\2\uffff\2\uffff\1\57\2\uffff\1\141\1\156\1\uffff\1\164\1\uffff\1\144\4\uffff\1\172\1\160\1\uffff\1\141\1\154\1\uffff\1\164\16\uffff\1\162\1\uffff\1\165\1\162\4\uffff\1\106\1\165\5\uffff\1\155\1\145\1\150\1\144\1\uffff\1\157\1\147\1\163\1\165\1\162\1\145\1\155\1\172\2\155\1\162\1\172\1\145\1\162\1\155\1\145\1\162\1\145\1\172\1\151\1\uffff\1\172\2\141\1\uffff\1\156\1\164\1\145\1\172\2\156\1\uffff\1\156\1\uffff\1\162\1\164\2\172\1\156\1\uffff\1\163\1\164\1\141\1\172\1\145\2\uffff\1\164\2\172\1\154\1\uffff\2\172\2\uffff\1\172\3\uffff";
|
||||
"\1\uffff\1\162\1\151\1\uffff\1\151\2\uffff\1\56\1\163\1\155\1\uffff\1\162\1\uffff\1\72\1\uffff\1\145\4\uffff\2\75\1\uffff\1\76\1\165\1\uffff\1\162\1\uffff\1\76\2\uffff\1\117\1\156\1\172\2\uffff\2\uffff\1\57\2\uffff\1\141\1\156\1\uffff\1\164\1\uffff\1\144\4\uffff\1\172\1\160\1\uffff\1\141\1\154\4\uffff\1\164\13\uffff\1\162\1\uffff\1\165\1\162\4\uffff\1\106\1\165\5\uffff\1\155\1\145\1\150\1\144\1\uffff\1\157\1\147\1\163\1\165\1\162\1\145\1\155\1\172\2\155\1\162\1\172\1\145\1\162\1\155\1\145\1\162\1\145\1\172\1\151\1\uffff\1\172\2\141\1\uffff\1\156\1\164\1\145\1\172\2\156\1\uffff\1\156\1\uffff\1\162\1\164\2\172\1\156\1\uffff\1\163\1\164\1\141\1\172\1\145\2\uffff\1\164\2\172\1\154\1\uffff\2\172\2\uffff\1\172\3\uffff";
|
||||
static final String DFA12_acceptS =
|
||||
"\3\uffff\1\3\1\uffff\1\5\1\6\3\uffff\1\13\1\uffff\1\15\2\uffff\1\20\1\21\1\22\1\24\1\25\2\uffff\1\30\2\uffff\1\34\1\uffff\1\37\1\uffff\1\43\1\44\3\uffff\1\51\1\52\3\uffff\1\56\1\57\2\uffff\1\51\1\uffff\1\3\1\uffff\1\5\1\6\1\47\1\7\2\uffff\1\13\2\uffff\1\15\1\uffff\1\23\1\17\1\20\1\21\1\22\1\24\1\25\1\42\1\26\1\32\1\27\1\30\1\40\1\31\1\uffff\1\34\2\uffff\1\37\1\41\1\43\1\44\2\uffff\1\52\1\53\1\54\1\55\1\56\4\uffff\1\11\24\uffff\1\46\3\uffff\1\2\6\uffff\1\35\1\uffff\1\50\5\uffff\1\36\5\uffff\1\4\1\12\4\uffff\1\1\2\uffff\1\16\1\33\1\uffff\1\10\1\14\1\45";
|
||||
"\3\uffff\1\3\1\uffff\1\5\1\6\3\uffff\1\13\1\uffff\1\15\1\uffff\1\17\1\uffff\1\21\1\22\1\24\1\25\2\uffff\1\30\2\uffff\1\34\1\uffff\1\37\1\uffff\1\43\1\44\3\uffff\1\51\1\52\3\uffff\1\56\1\57\2\uffff\1\51\1\uffff\1\3\1\uffff\1\5\1\6\1\47\1\7\2\uffff\1\13\2\uffff\1\15\1\23\1\16\1\17\1\uffff\1\21\1\22\1\24\1\25\1\42\1\26\1\32\1\27\1\30\1\40\1\31\1\uffff\1\34\2\uffff\1\37\1\41\1\43\1\44\2\uffff\1\52\1\53\1\54\1\55\1\56\4\uffff\1\11\24\uffff\1\46\3\uffff\1\2\6\uffff\1\35\1\uffff\1\50\5\uffff\1\36\5\uffff\1\4\1\12\4\uffff\1\1\2\uffff\1\20\1\33\1\uffff\1\10\1\14\1\45";
|
||||
static final String DFA12_specialS =
|
||||
"\1\1\43\uffff\1\0\1\2\162\uffff}>";
|
||||
static final String[] DFA12_transitionS = DFA12_transitionS_.DFA12_transitionS;
|
||||
private static final class DFA12_transitionS_ {
|
||||
static final String[] DFA12_transitionS = {
|
||||
"\11\50\2\47\2\50\1\47\22\50\1\47\1\33\1\44\3\50\1\23\1\45\1\5\1\6\1\14\1\25\1\3\1\34\1\7\1\46\12\43\1\16\1\17\1\20\1\27\1\21\1\24\1\12\4\42\1\37\25\42\1\35\1\50\1\36\1\41\1\42\1\50\1\10\1\42\1\30\1\42\1\40\1\13\1\1\1\4\1\11\10\42\1\15\1\42\1\32\2\42\1\2\3\42\1\26\1\22\1\31\uff82\50",
|
||||
"\11\50\2\47\2\50\1\47\22\50\1\47\1\33\1\44\3\50\1\23\1\45\1\5\1\6\1\14\1\25\1\3\1\34\1\7\1\46\12\43\1\15\1\16\1\20\1\27\1\21\1\24\1\12\4\42\1\37\25\42\1\35\1\50\1\36\1\41\1\42\1\50\1\10\1\42\1\30\1\42\1\40\1\13\1\1\1\4\1\11\10\42\1\17\1\42\1\32\2\42\1\2\3\42\1\26\1\22\1\31\uff82\50",
|
||||
"\1\52\14\uffff\1\51",
|
||||
"\1\54",
|
||||
"",
|
||||
|
@ -1762,8 +1762,8 @@ public class InternalXtextLexer extends Lexer {
|
|||
"\1\67\20\uffff\1\66",
|
||||
"",
|
||||
"\1\71",
|
||||
"\1\72",
|
||||
"",
|
||||
"\1\74",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
@ -1805,6 +1805,9 @@ public class InternalXtextLexer extends Lexer {
|
|||
"\1\135",
|
||||
"\1\136",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\1\137",
|
||||
"",
|
||||
"",
|
||||
|
@ -1817,9 +1820,6 @@ public class InternalXtextLexer extends Lexer {
|
|||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\1\140",
|
||||
"",
|
||||
"\1\141",
|
||||
|
@ -1977,11 +1977,11 @@ public class InternalXtextLexer extends Lexer {
|
|||
|
||||
else if ( (LA12_0=='*') ) {s = 12;}
|
||||
|
||||
else if ( (LA12_0=='r') ) {s = 13;}
|
||||
else if ( (LA12_0==':') ) {s = 13;}
|
||||
|
||||
else if ( (LA12_0==':') ) {s = 14;}
|
||||
else if ( (LA12_0==';') ) {s = 14;}
|
||||
|
||||
else if ( (LA12_0==';') ) {s = 15;}
|
||||
else if ( (LA12_0=='r') ) {s = 15;}
|
||||
|
||||
else if ( (LA12_0=='<') ) {s = 16;}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -181,7 +181,7 @@ public class XtextSemanticSequencer extends AbstractDelegatingSemanticSequencer
|
|||
sequence_EnumLiteralDeclaration(context, (EnumLiteralDeclaration) semanticObject);
|
||||
return;
|
||||
case XtextPackage.ENUM_RULE:
|
||||
sequence_EnumRule(context, (EnumRule) semanticObject);
|
||||
sequence_EnumRule_ReturnsCause(context, (EnumRule) semanticObject);
|
||||
return;
|
||||
case XtextPackage.GENERATED_METAMODEL:
|
||||
sequence_GeneratedMetamodel(context, (GeneratedMetamodel) semanticObject);
|
||||
|
@ -293,7 +293,7 @@ public class XtextSemanticSequencer extends AbstractDelegatingSemanticSequencer
|
|||
sequence_ParameterReference(context, (ParameterReference) semanticObject);
|
||||
return;
|
||||
case XtextPackage.PARSER_RULE:
|
||||
sequence_ParserRule_RuleNameAndParams(context, (ParserRule) semanticObject);
|
||||
sequence_ParserRule_ReturnsCause_RuleNameAndParams(context, (ParserRule) semanticObject);
|
||||
return;
|
||||
case XtextPackage.REFERENCED_METAMODEL:
|
||||
sequence_ReferencedMetamodel(context, (ReferencedMetamodel) semanticObject);
|
||||
|
@ -342,7 +342,7 @@ public class XtextSemanticSequencer extends AbstractDelegatingSemanticSequencer
|
|||
}
|
||||
else break;
|
||||
case XtextPackage.TERMINAL_RULE:
|
||||
sequence_TerminalRule(context, (TerminalRule) semanticObject);
|
||||
sequence_ReturnsCause_TerminalRule(context, (TerminalRule) semanticObject);
|
||||
return;
|
||||
case XtextPackage.TYPE_REF:
|
||||
sequence_TypeRef(context, (TypeRef) semanticObject);
|
||||
|
@ -791,7 +791,7 @@ public class XtextSemanticSequencer extends AbstractDelegatingSemanticSequencer
|
|||
* Constraint:
|
||||
* (annotations+=Annotation* name=ValidID type=TypeRef? alternatives=EnumLiterals)
|
||||
*/
|
||||
protected void sequence_EnumRule(ISerializationContext context, EnumRule semanticObject) {
|
||||
protected void sequence_EnumRule_ReturnsCause(ISerializationContext context, EnumRule semanticObject) {
|
||||
genericSequencer.createSequence(context, semanticObject);
|
||||
}
|
||||
|
||||
|
@ -1016,12 +1016,12 @@ public class XtextSemanticSequencer extends AbstractDelegatingSemanticSequencer
|
|||
* fragment?='fragment'?
|
||||
* name=ValidID
|
||||
* (parameters+=Parameter parameters+=Parameter*)?
|
||||
* (wildcard?='*' | type=TypeRef | type=TypeRef)?
|
||||
* (wildcard?='*' | type=TypeRef)?
|
||||
* (definesHiddenTokens?='hidden' (hiddenTokens+=[AbstractRule|RuleID] hiddenTokens+=[AbstractRule|RuleID]*)?)?
|
||||
* alternatives=Alternatives
|
||||
* )
|
||||
*/
|
||||
protected void sequence_ParserRule_RuleNameAndParams(ISerializationContext context, ParserRule semanticObject) {
|
||||
protected void sequence_ParserRule_ReturnsCause_RuleNameAndParams(ISerializationContext context, ParserRule semanticObject) {
|
||||
genericSequencer.createSequence(context, semanticObject);
|
||||
}
|
||||
|
||||
|
@ -1075,6 +1075,19 @@ public class XtextSemanticSequencer extends AbstractDelegatingSemanticSequencer
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Contexts:
|
||||
* AbstractRule returns TerminalRule
|
||||
* TerminalRule returns TerminalRule
|
||||
*
|
||||
* Constraint:
|
||||
* (annotations+=Annotation* ((fragment?='fragment' name=ValidID) | (name=ValidID type=TypeRef?)) alternatives=TerminalAlternatives)
|
||||
*/
|
||||
protected void sequence_ReturnsCause_TerminalRule(ISerializationContext context, TerminalRule semanticObject) {
|
||||
genericSequencer.createSequence(context, semanticObject);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Contexts:
|
||||
* RuleCall returns RuleCall
|
||||
|
@ -1164,19 +1177,6 @@ public class XtextSemanticSequencer extends AbstractDelegatingSemanticSequencer
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Contexts:
|
||||
* AbstractRule returns TerminalRule
|
||||
* TerminalRule returns TerminalRule
|
||||
*
|
||||
* Constraint:
|
||||
* (annotations+=Annotation* ((fragment?='fragment' name=ValidID) | (name=ValidID type=TypeRef?)) alternatives=TerminalAlternatives)
|
||||
*/
|
||||
protected void sequence_TerminalRule(ISerializationContext context, TerminalRule semanticObject) {
|
||||
genericSequencer.createSequence(context, semanticObject);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Contexts:
|
||||
* TerminalAlternatives returns UntilToken
|
||||
|
|
|
@ -234,7 +234,6 @@ public class XtextSyntacticSequencer extends AbstractSyntacticSequencer {
|
|||
* ('<' '>')?
|
||||
*
|
||||
* This ambiguous syntax occurs at:
|
||||
* name=ValidID (ambiguity) 'returns' type=TypeRef
|
||||
* name=ValidID (ambiguity) wildcard?='*'
|
||||
*/
|
||||
protected void emit_RuleNameAndParams___LessThanSignKeyword_1_0_GreaterThanSignKeyword_1_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
|
||||
|
|
|
@ -113,7 +113,8 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//GrammarID
|
||||
public RuleCall getUsedGrammarsGrammarGrammarIDParserRuleCall_2_2_1_0_1() { return cUsedGrammarsGrammarGrammarIDParserRuleCall_2_2_1_0_1; }
|
||||
|
||||
//(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (',' hiddenTokens+=[AbstractRule|RuleID])*)? ')')?
|
||||
//(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (',' hiddenTokens+=[AbstractRule|RuleID])*)? ')')
|
||||
//?
|
||||
public Group getGroup_3() { return cGroup_3; }
|
||||
|
||||
//definesHiddenTokens?='hidden'
|
||||
|
@ -373,16 +374,10 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
private final Alternatives cAlternatives_1_0_2 = (Alternatives)cGroup_1_0.eContents().get(2);
|
||||
private final Assignment cWildcardAssignment_1_0_2_0 = (Assignment)cAlternatives_1_0_2.eContents().get(0);
|
||||
private final Keyword cWildcardAsteriskKeyword_1_0_2_0_0 = (Keyword)cWildcardAssignment_1_0_2_0.eContents().get(0);
|
||||
private final Group cGroup_1_0_2_1 = (Group)cAlternatives_1_0_2.eContents().get(1);
|
||||
private final Keyword cReturnsKeyword_1_0_2_1_0 = (Keyword)cGroup_1_0_2_1.eContents().get(0);
|
||||
private final Assignment cTypeAssignment_1_0_2_1_1 = (Assignment)cGroup_1_0_2_1.eContents().get(1);
|
||||
private final RuleCall cTypeTypeRefParserRuleCall_1_0_2_1_1_0 = (RuleCall)cTypeAssignment_1_0_2_1_1.eContents().get(0);
|
||||
private final RuleCall cReturnsCauseParserRuleCall_1_0_2_1 = (RuleCall)cAlternatives_1_0_2.eContents().get(1);
|
||||
private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
|
||||
private final RuleCall cRuleNameAndParamsParserRuleCall_1_1_0 = (RuleCall)cGroup_1_1.eContents().get(0);
|
||||
private final Group cGroup_1_1_1 = (Group)cGroup_1_1.eContents().get(1);
|
||||
private final Keyword cReturnsKeyword_1_1_1_0 = (Keyword)cGroup_1_1_1.eContents().get(0);
|
||||
private final Assignment cTypeAssignment_1_1_1_1 = (Assignment)cGroup_1_1_1.eContents().get(1);
|
||||
private final RuleCall cTypeTypeRefParserRuleCall_1_1_1_1_0 = (RuleCall)cTypeAssignment_1_1_1_1.eContents().get(0);
|
||||
private final RuleCall cReturnsCauseParserRuleCall_1_1_1 = (RuleCall)cGroup_1_1.eContents().get(1);
|
||||
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
|
||||
private final Assignment cDefinesHiddenTokensAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
|
||||
private final Keyword cDefinesHiddenTokensHiddenKeyword_2_0_0 = (Keyword)cDefinesHiddenTokensAssignment_2_0.eContents().get(0);
|
||||
|
@ -403,15 +398,15 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
|
||||
|
||||
//ParserRule:
|
||||
// annotations+=Annotation* (^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ('returns' type=TypeRef)?) |
|
||||
// RuleNameAndParams ('returns' type=TypeRef)?) (definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (
|
||||
// ',' hiddenTokens+=[AbstractRule|RuleID])*)? ')')? ':'
|
||||
// annotations+=Annotation* (^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ReturnsCause?) |
|
||||
// RuleNameAndParams ReturnsCause?) (definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (','
|
||||
// hiddenTokens+=[AbstractRule|RuleID])*)? ')')? ':'
|
||||
// alternatives=Alternatives
|
||||
// ';';
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//annotations+=Annotation* (^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ('returns' type=TypeRef)?) |
|
||||
//RuleNameAndParams ('returns' type=TypeRef)?) (definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (','
|
||||
//annotations+=Annotation* (^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ReturnsCause?) |
|
||||
//RuleNameAndParams ReturnsCause?) (definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (','
|
||||
//hiddenTokens+=[AbstractRule|RuleID])*)? ')')? ':'
|
||||
//alternatives=Alternatives
|
||||
//';'
|
||||
|
@ -423,11 +418,10 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//Annotation
|
||||
public RuleCall getAnnotationsAnnotationParserRuleCall_0_0() { return cAnnotationsAnnotationParserRuleCall_0_0; }
|
||||
|
||||
//(^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ('returns' type=TypeRef)?) | RuleNameAndParams ('returns'
|
||||
//type=TypeRef)?)
|
||||
//(^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ReturnsCause?) | RuleNameAndParams ReturnsCause?)
|
||||
public Alternatives getAlternatives_1() { return cAlternatives_1; }
|
||||
|
||||
//^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ('returns' type=TypeRef)?)
|
||||
//^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ReturnsCause?)
|
||||
public Group getGroup_1_0() { return cGroup_1_0; }
|
||||
|
||||
//^fragment?='fragment'
|
||||
|
@ -439,7 +433,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//RuleNameAndParams
|
||||
public RuleCall getRuleNameAndParamsParserRuleCall_1_0_1() { return cRuleNameAndParamsParserRuleCall_1_0_1; }
|
||||
|
||||
//(wildcard?='*' | ('returns' type=TypeRef)?)
|
||||
//(wildcard?='*' | ReturnsCause?)
|
||||
public Alternatives getAlternatives_1_0_2() { return cAlternatives_1_0_2; }
|
||||
|
||||
//wildcard?='*'
|
||||
|
@ -448,37 +442,20 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//'*'
|
||||
public Keyword getWildcardAsteriskKeyword_1_0_2_0_0() { return cWildcardAsteriskKeyword_1_0_2_0_0; }
|
||||
|
||||
//('returns' type=TypeRef)?
|
||||
public Group getGroup_1_0_2_1() { return cGroup_1_0_2_1; }
|
||||
//ReturnsCause?
|
||||
public RuleCall getReturnsCauseParserRuleCall_1_0_2_1() { return cReturnsCauseParserRuleCall_1_0_2_1; }
|
||||
|
||||
//'returns'
|
||||
public Keyword getReturnsKeyword_1_0_2_1_0() { return cReturnsKeyword_1_0_2_1_0; }
|
||||
|
||||
//type=TypeRef
|
||||
public Assignment getTypeAssignment_1_0_2_1_1() { return cTypeAssignment_1_0_2_1_1; }
|
||||
|
||||
//TypeRef
|
||||
public RuleCall getTypeTypeRefParserRuleCall_1_0_2_1_1_0() { return cTypeTypeRefParserRuleCall_1_0_2_1_1_0; }
|
||||
|
||||
//RuleNameAndParams ('returns' type=TypeRef)?
|
||||
//RuleNameAndParams ReturnsCause?
|
||||
public Group getGroup_1_1() { return cGroup_1_1; }
|
||||
|
||||
//RuleNameAndParams
|
||||
public RuleCall getRuleNameAndParamsParserRuleCall_1_1_0() { return cRuleNameAndParamsParserRuleCall_1_1_0; }
|
||||
|
||||
//('returns' type=TypeRef)?
|
||||
public Group getGroup_1_1_1() { return cGroup_1_1_1; }
|
||||
//ReturnsCause?
|
||||
public RuleCall getReturnsCauseParserRuleCall_1_1_1() { return cReturnsCauseParserRuleCall_1_1_1; }
|
||||
|
||||
//'returns'
|
||||
public Keyword getReturnsKeyword_1_1_1_0() { return cReturnsKeyword_1_1_1_0; }
|
||||
|
||||
//type=TypeRef
|
||||
public Assignment getTypeAssignment_1_1_1_1() { return cTypeAssignment_1_1_1_1; }
|
||||
|
||||
//TypeRef
|
||||
public RuleCall getTypeTypeRefParserRuleCall_1_1_1_1_0() { return cTypeTypeRefParserRuleCall_1_1_1_1_0; }
|
||||
|
||||
//(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (',' hiddenTokens+=[AbstractRule|RuleID])*)? ')')?
|
||||
//(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (',' hiddenTokens+=[AbstractRule|RuleID])*)? ')')
|
||||
//?
|
||||
public Group getGroup_2() { return cGroup_2; }
|
||||
|
||||
//definesHiddenTokens?='hidden'
|
||||
|
@ -532,6 +509,29 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//';'
|
||||
public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
|
||||
}
|
||||
public class ReturnsCauseElements extends AbstractParserRuleElementFinder {
|
||||
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.xtext.Xtext.ReturnsCause");
|
||||
private final Group cGroup = (Group)rule.eContents().get(0);
|
||||
private final Keyword cReturnsKeyword_0 = (Keyword)cGroup.eContents().get(0);
|
||||
private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
|
||||
private final RuleCall cTypeTypeRefParserRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0);
|
||||
|
||||
//fragment ReturnsCause*:
|
||||
// 'returns' type=TypeRef;
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//'returns' type=TypeRef
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
||||
//'returns'
|
||||
public Keyword getReturnsKeyword_0() { return cReturnsKeyword_0; }
|
||||
|
||||
//type=TypeRef
|
||||
public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
|
||||
|
||||
//TypeRef
|
||||
public RuleCall getTypeTypeRefParserRuleCall_1_0() { return cTypeTypeRefParserRuleCall_1_0; }
|
||||
}
|
||||
public class RuleNameAndParamsElements extends AbstractParserRuleElementFinder {
|
||||
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.xtext.Xtext.RuleNameAndParams");
|
||||
private final Group cGroup = (Group)rule.eContents().get(1);
|
||||
|
@ -1786,10 +1786,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1);
|
||||
private final Assignment cNameAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0);
|
||||
private final RuleCall cNameValidIDParserRuleCall_2_1_0_0 = (RuleCall)cNameAssignment_2_1_0.eContents().get(0);
|
||||
private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1);
|
||||
private final Keyword cReturnsKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0);
|
||||
private final Assignment cTypeAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1);
|
||||
private final RuleCall cTypeTypeRefParserRuleCall_2_1_1_1_0 = (RuleCall)cTypeAssignment_2_1_1_1.eContents().get(0);
|
||||
private final RuleCall cReturnsCauseParserRuleCall_2_1_1 = (RuleCall)cGroup_2_1.eContents().get(1);
|
||||
private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3);
|
||||
private final Assignment cAlternativesAssignment_4 = (Assignment)cGroup.eContents().get(4);
|
||||
private final RuleCall cAlternativesTerminalAlternativesParserRuleCall_4_0 = (RuleCall)cAlternativesAssignment_4.eContents().get(0);
|
||||
|
@ -1797,13 +1794,13 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
|
||||
//TerminalRule:
|
||||
// annotations+=Annotation*
|
||||
// 'terminal' (^fragment?='fragment' name=ValidID | name=ValidID ('returns' type=TypeRef)?) ':'
|
||||
// 'terminal' (^fragment?='fragment' name=ValidID | name=ValidID ReturnsCause?) ':'
|
||||
// alternatives=TerminalAlternatives
|
||||
// ';';
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//annotations+=Annotation*
|
||||
//'terminal' (^fragment?='fragment' name=ValidID | name=ValidID ('returns' type=TypeRef)?) ':'
|
||||
//'terminal' (^fragment?='fragment' name=ValidID | name=ValidID ReturnsCause?) ':'
|
||||
//alternatives=TerminalAlternatives
|
||||
//';'
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
@ -1817,7 +1814,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//'terminal'
|
||||
public Keyword getTerminalKeyword_1() { return cTerminalKeyword_1; }
|
||||
|
||||
//(^fragment?='fragment' name=ValidID | name=ValidID ('returns' type=TypeRef)?)
|
||||
//(^fragment?='fragment' name=ValidID | name=ValidID ReturnsCause?)
|
||||
public Alternatives getAlternatives_2() { return cAlternatives_2; }
|
||||
|
||||
//^fragment?='fragment' name=ValidID
|
||||
|
@ -1835,7 +1832,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//ValidID
|
||||
public RuleCall getNameValidIDParserRuleCall_2_0_1_0() { return cNameValidIDParserRuleCall_2_0_1_0; }
|
||||
|
||||
//name=ValidID ('returns' type=TypeRef)?
|
||||
//name=ValidID ReturnsCause?
|
||||
public Group getGroup_2_1() { return cGroup_2_1; }
|
||||
|
||||
//name=ValidID
|
||||
|
@ -1844,17 +1841,8 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//ValidID
|
||||
public RuleCall getNameValidIDParserRuleCall_2_1_0_0() { return cNameValidIDParserRuleCall_2_1_0_0; }
|
||||
|
||||
//('returns' type=TypeRef)?
|
||||
public Group getGroup_2_1_1() { return cGroup_2_1_1; }
|
||||
|
||||
//'returns'
|
||||
public Keyword getReturnsKeyword_2_1_1_0() { return cReturnsKeyword_2_1_1_0; }
|
||||
|
||||
//type=TypeRef
|
||||
public Assignment getTypeAssignment_2_1_1_1() { return cTypeAssignment_2_1_1_1; }
|
||||
|
||||
//TypeRef
|
||||
public RuleCall getTypeTypeRefParserRuleCall_2_1_1_1_0() { return cTypeTypeRefParserRuleCall_2_1_1_1_0; }
|
||||
//ReturnsCause?
|
||||
public RuleCall getReturnsCauseParserRuleCall_2_1_1() { return cReturnsCauseParserRuleCall_2_1_1; }
|
||||
|
||||
//':'
|
||||
public Keyword getColonKeyword_3() { return cColonKeyword_3; }
|
||||
|
@ -2178,10 +2166,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
private final Keyword cEnumKeyword_1 = (Keyword)cGroup.eContents().get(1);
|
||||
private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
|
||||
private final RuleCall cNameValidIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
|
||||
private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
|
||||
private final Keyword cReturnsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
|
||||
private final Assignment cTypeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
|
||||
private final RuleCall cTypeTypeRefParserRuleCall_3_1_0 = (RuleCall)cTypeAssignment_3_1.eContents().get(0);
|
||||
private final RuleCall cReturnsCauseParserRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
|
||||
private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
|
||||
private final Assignment cAlternativesAssignment_5 = (Assignment)cGroup.eContents().get(5);
|
||||
private final RuleCall cAlternativesEnumLiteralsParserRuleCall_5_0 = (RuleCall)cAlternativesAssignment_5.eContents().get(0);
|
||||
|
@ -2189,13 +2174,13 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
|
||||
//EnumRule:
|
||||
// annotations+=Annotation*
|
||||
// 'enum' name=ValidID ('returns' type=TypeRef)? ':'
|
||||
// 'enum' name=ValidID ReturnsCause? ':'
|
||||
// alternatives=EnumLiterals
|
||||
// ';';
|
||||
@Override public ParserRule getRule() { return rule; }
|
||||
|
||||
//annotations+=Annotation*
|
||||
//'enum' name=ValidID ('returns' type=TypeRef)? ':'
|
||||
//'enum' name=ValidID ReturnsCause? ':'
|
||||
//alternatives=EnumLiterals
|
||||
//';'
|
||||
public Group getGroup() { return cGroup; }
|
||||
|
@ -2215,17 +2200,8 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
//ValidID
|
||||
public RuleCall getNameValidIDParserRuleCall_2_0() { return cNameValidIDParserRuleCall_2_0; }
|
||||
|
||||
//('returns' type=TypeRef)?
|
||||
public Group getGroup_3() { return cGroup_3; }
|
||||
|
||||
//'returns'
|
||||
public Keyword getReturnsKeyword_3_0() { return cReturnsKeyword_3_0; }
|
||||
|
||||
//type=TypeRef
|
||||
public Assignment getTypeAssignment_3_1() { return cTypeAssignment_3_1; }
|
||||
|
||||
//TypeRef
|
||||
public RuleCall getTypeTypeRefParserRuleCall_3_1_0() { return cTypeTypeRefParserRuleCall_3_1_0; }
|
||||
//ReturnsCause?
|
||||
public RuleCall getReturnsCauseParserRuleCall_3() { return cReturnsCauseParserRuleCall_3; }
|
||||
|
||||
//':'
|
||||
public Keyword getColonKeyword_4() { return cColonKeyword_4; }
|
||||
|
@ -2327,6 +2303,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
private final ReferencedMetamodelElements pReferencedMetamodel;
|
||||
private final AnnotationElements pAnnotation;
|
||||
private final ParserRuleElements pParserRule;
|
||||
private final ReturnsCauseElements pReturnsCause;
|
||||
private final RuleNameAndParamsElements pRuleNameAndParams;
|
||||
private final ParameterElements pParameter;
|
||||
private final TypeRefElements pTypeRef;
|
||||
|
@ -2394,6 +2371,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
this.pReferencedMetamodel = new ReferencedMetamodelElements();
|
||||
this.pAnnotation = new AnnotationElements();
|
||||
this.pParserRule = new ParserRuleElements();
|
||||
this.pReturnsCause = new ReturnsCauseElements();
|
||||
this.pRuleNameAndParams = new RuleNameAndParamsElements();
|
||||
this.pParameter = new ParameterElements();
|
||||
this.pTypeRef = new TypeRefElements();
|
||||
|
@ -2554,9 +2532,9 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
}
|
||||
|
||||
//ParserRule:
|
||||
// annotations+=Annotation* (^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ('returns' type=TypeRef)?) |
|
||||
// RuleNameAndParams ('returns' type=TypeRef)?) (definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (
|
||||
// ',' hiddenTokens+=[AbstractRule|RuleID])*)? ')')? ':'
|
||||
// annotations+=Annotation* (^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ReturnsCause?) |
|
||||
// RuleNameAndParams ReturnsCause?) (definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (','
|
||||
// hiddenTokens+=[AbstractRule|RuleID])*)? ')')? ':'
|
||||
// alternatives=Alternatives
|
||||
// ';';
|
||||
public ParserRuleElements getParserRuleAccess() {
|
||||
|
@ -2567,6 +2545,16 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
return getParserRuleAccess().getRule();
|
||||
}
|
||||
|
||||
//fragment ReturnsCause*:
|
||||
// 'returns' type=TypeRef;
|
||||
public ReturnsCauseElements getReturnsCauseAccess() {
|
||||
return pReturnsCause;
|
||||
}
|
||||
|
||||
public ParserRule getReturnsCauseRule() {
|
||||
return getReturnsCauseAccess().getRule();
|
||||
}
|
||||
|
||||
//fragment RuleNameAndParams returns ParserRule:
|
||||
// name=ValidID ('<' (parameters+=Parameter (',' parameters+=Parameter)*)? '>')?;
|
||||
public RuleNameAndParamsElements getRuleNameAndParamsAccess() {
|
||||
|
@ -2914,7 +2902,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
|
||||
//TerminalRule:
|
||||
// annotations+=Annotation*
|
||||
// 'terminal' (^fragment?='fragment' name=ValidID | name=ValidID ('returns' type=TypeRef)?) ':'
|
||||
// 'terminal' (^fragment?='fragment' name=ValidID | name=ValidID ReturnsCause?) ':'
|
||||
// alternatives=TerminalAlternatives
|
||||
// ';';
|
||||
public TerminalRuleElements getTerminalRuleAccess() {
|
||||
|
@ -3038,7 +3026,7 @@ public class XtextGrammarAccess extends AbstractElementFinder.AbstractGrammarEle
|
|||
|
||||
//EnumRule:
|
||||
// annotations+=Annotation*
|
||||
// 'enum' name=ValidID ('returns' type=TypeRef)? ':'
|
||||
// 'enum' name=ValidID ReturnsCause? ':'
|
||||
// alternatives=EnumLiterals
|
||||
// ';';
|
||||
public EnumRuleElements getEnumRuleAccess() {
|
||||
|
|
|
@ -47,14 +47,16 @@ Annotation returns Annotation:
|
|||
ParserRule :
|
||||
(annotations += Annotation)*
|
||||
(
|
||||
^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ('returns' type=TypeRef)?)
|
||||
| RuleNameAndParams ('returns' type=TypeRef)?
|
||||
^fragment?='fragment' RuleNameAndParams (wildcard?='*' | ReturnsCause?)
|
||||
| RuleNameAndParams ReturnsCause?
|
||||
)
|
||||
(definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule|RuleID] (',' hiddenTokens+=[AbstractRule|RuleID])*)? ')')? ':'
|
||||
alternatives=Alternatives
|
||||
';'
|
||||
;
|
||||
|
||||
fragment ReturnsCause*:('returns' type=TypeRef);
|
||||
|
||||
fragment RuleNameAndParams returns ParserRule:
|
||||
name=ValidID ('<' (parameters+=Parameter (',' parameters+=Parameter)*)? '>')?
|
||||
;
|
||||
|
@ -207,7 +209,7 @@ PredicatedGroup returns Group:
|
|||
|
||||
TerminalRule :
|
||||
(annotations += Annotation)*
|
||||
'terminal' (^fragment?='fragment' name=ValidID | name=ValidID ('returns' type=TypeRef)?) ':'
|
||||
'terminal' (^fragment?='fragment' name=ValidID | name=ValidID ReturnsCause?) ':'
|
||||
alternatives=TerminalAlternatives
|
||||
';'
|
||||
;
|
||||
|
@ -259,7 +261,7 @@ CharacterRange returns AbstractElement:
|
|||
|
||||
EnumRule:
|
||||
(annotations += Annotation)*
|
||||
'enum' name=ValidID ('returns' type=TypeRef)? ':'
|
||||
'enum' name=ValidID ReturnsCause? ':'
|
||||
alternatives=EnumLiterals
|
||||
';'
|
||||
;
|
||||
|
|
Loading…
Reference in a new issue