aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorszarnekow2009-01-29 04:40:49 (EST)
committersefftinge2009-01-29 04:40:49 (EST)
commitd8e3ea8f56c0bb4159f27453b269c7ac1c79318b (patch)
tree57365397b9c87539fc3c843381bfc2cf65ecf389
parent39e0a9eaa5e1736c10e182c06a669c4547b9c2d6 (diff)
downloadorg.eclipse.xtext-d8e3ea8f56c0bb4159f27453b269c7ac1c79318b.zip
org.eclipse.xtext-d8e3ea8f56c0bb4159f27453b269c7ac1c79318b.tar.gz
org.eclipse.xtext-d8e3ea8f56c0bb4159f27453b269c7ac1c79318b.tar.bz2
fixes and tests for dynamic hidden token handling with antlr and packrat parser
-rw-r--r--examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/domainmodel.ecore2
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/AbstractHiddenTerminalsTestLanguageRuntimeConfig.java95
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.ecore40
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi219
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageStandaloneSetup.java51
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/IHiddenTerminalsTestLanguage.java23
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.ecore8
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi28
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/HiddenTerminalsTestLanguageAntlrTokenFileProvider.java15
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/HiddenTerminalsTestLanguageParser.java43
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g679
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.tokens14
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguageLexer.java687
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguageParser.java1383
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage__.g41
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g18
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguageParser.java1099
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguageDelimiters.java20
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguagePackratParser.java22
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguageParserConfiguration.java185
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/XtextTerminalsTestLanguageParserConfiguration.java4
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageANY_OTHERConsumer.java38
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageHidingHiddensConsumer.java133
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageInheritingHiddensCallConsumer.java105
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageInheritingHiddensConsumer.java243
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageML_COMMENTConsumer.java66
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageModelConsumer.java155
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageOverridingHiddensCallConsumer.java148
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageOverridingHiddensConsumer.java190
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageSL_COMMENTConsumer.java117
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWSConsumer.java70
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWithHiddensConsumer.java126
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWithoutHiddensConsumer.java196
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/XtextTerminalsTestLanguageParserRuleConsumer.java85
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/HiddenTerminalsTestLanguageParseTreeConstructor.java1438
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/XtextTerminalsTestLanguageParseTreeConstructor.java124
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageGrammarAccess.java563
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageMetamodelAccess.java53
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageResourceFactory.java28
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/XtextTerminalsTestLanguageGrammarAccess.java60
-rwxr-xr-xtests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GenerateAllTestGrammars.java5
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.java15
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xtext44
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageChecks.chk7
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageRuntimeConfig.java58
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddensTest.java170
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/PackratHiddensTest.java29
-rw-r--r--tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext4
48 files changed, 8247 insertions, 699 deletions
diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/domainmodel.ecore b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/domainmodel.ecore
index 9f2974c..6d74b1d 100644
--- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/domainmodel.ecore
+++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/domainmodel.ecore
@@ -34,10 +34,10 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="//TypedElement"/>
<eClassifiers xsi:type="ecore:EClass" name="TypedElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="//TypeRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name">
<eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="//TypeRef" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeRef">
<eStructuralFeatures xsi:type="ecore:EReference" name="referenced" eType="//Type"/>
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/AbstractHiddenTerminalsTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/AbstractHiddenTerminalsTestLanguageRuntimeConfig.java
new file mode 100644
index 0000000..faaf406
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/AbstractHiddenTerminalsTestLanguageRuntimeConfig.java
@@ -0,0 +1,95 @@
+package org.eclipse.xtext.parser.terminalrules;
+
+import java.util.Set;
+
+import org.eclipse.xtext.service.AbstractServiceRegistrationFactory;
+
+/**
+ * used to register components to be used at runtime.
+ */
+public abstract class AbstractHiddenTerminalsTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory {
+
+ protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() {
+ return org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageMetamodelAccess.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() {
+ return org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() {
+ return org.eclipse.xtext.parser.DefaultEcoreElementFactory.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.resource.IResourceFactory> getIResourceFactory() {
+ return org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageResourceFactory.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> getIParseTreeConstructor() {
+ return org.eclipse.xtext.parser.terminalrules.parsetree.reconstr.HiddenTerminalsTestLanguageParseTreeConstructor.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parsetree.reconstr.ITokenSerializer> getITokenSerializer() {
+ return org.eclipse.xtext.parsetree.reconstr.impl.WhitespacePreservingTokenSerializer.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parsetree.reconstr.ICrossReferenceSerializer> getICrossReferenceSerializer() {
+ return org.eclipse.xtext.parsetree.reconstr.impl.SimpleCrossReferenceSerializer.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parsetree.reconstr.ITransientValueService> getITransientValueService() {
+ return org.eclipse.xtext.parsetree.reconstr.impl.SimpleTransientValueService.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parser.antlr.IAntlrParser> getIAntlrParser() {
+ return org.eclipse.xtext.parser.terminalrules.parser.antlr.HiddenTerminalsTestLanguageParser.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> getITokenToStringConverter() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> getIAntlrTokenFileProvider() {
+ return org.eclipse.xtext.parser.terminalrules.parser.antlr.HiddenTerminalsTestLanguageAntlrTokenFileProvider.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parser.antlr.Lexer> getLexer() {
+ return org.eclipse.xtext.parser.terminalrules.parser.antlr.internal.InternalHiddenTerminalsTestLanguageLexer.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parser.packrat.IPackratParser> getIPackratParser() {
+ return org.eclipse.xtext.parser.terminalrules.parser.packrat.HiddenTerminalsTestLanguagePackratParser.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parser.packrat.IParseResultFactory> getIParseResultFactory() {
+ return org.eclipse.xtext.parser.packrat.ParseResultFactory.class;
+ }
+
+ protected Class<? extends org.eclipse.xtext.parser.ISwitchingParser> getISwitchingParser() {
+ return org.eclipse.xtext.parser.SwitchingParser.class;
+ }
+
+
+ public Set<IServiceRegistration> registrations() {
+ return scope(org.eclipse.xtext.parser.terminalrules.IHiddenTerminalsTestLanguage.SCOPE)
+ .with(org.eclipse.xtext.IMetamodelAccess.class, getIMetamodelAccess())
+ .with(org.eclipse.xtext.IGrammarAccess.class, getIGrammarAccess())
+ .with(org.eclipse.xtext.parser.IAstFactory.class, getIAstFactory())
+ .with(org.eclipse.xtext.resource.IResourceFactory.class, getIResourceFactory())
+ .with(org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor.class, getIParseTreeConstructor())
+ .with(org.eclipse.xtext.parsetree.reconstr.ITokenSerializer.class, getITokenSerializer())
+ .with(org.eclipse.xtext.parsetree.reconstr.ICrossReferenceSerializer.class, getICrossReferenceSerializer())
+ .with(org.eclipse.xtext.parsetree.reconstr.ITransientValueService.class, getITransientValueService())
+ .with(org.eclipse.xtext.parser.antlr.IAntlrParser.class, getIAntlrParser())
+ .with(org.eclipse.xtext.parser.ITokenToStringConverter.class, getITokenToStringConverter())
+ .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider())
+ .with(org.eclipse.xtext.parser.antlr.Lexer.class, getLexer())
+ .with(org.eclipse.xtext.parser.packrat.IPackratParser.class, getIPackratParser())
+ .with(org.eclipse.xtext.parser.packrat.IParseResultFactory.class, getIParseResultFactory())
+ .with(org.eclipse.xtext.parser.ISwitchingParser.class, getISwitchingParser())
+
+ .registrations();
+ }
+
+}
+
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.ecore
new file mode 100644
index 0000000..8b93482
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.ecore
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HiddenTerminalsTestLanguage" nsURI="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest" nsPrefix="HiddenTerminalsTestLanguage">
+ <eClassifiers xsi:type="ecore:EClass" name="Model">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid">
+ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="WithoutHiddens" eSuperTypes="//Model">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="spaces" unique="false" upperBound="-1">
+ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="WithHiddens" eSuperTypes="//Model"/>
+ <eClassifiers xsi:type="ecore:EClass" name="OverridingHiddens" eSuperTypes="//Model">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="called" eType="//OverridingHiddensCall" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OverridingHiddensCall">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="spaces" unique="false" upperBound="-1">
+ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid">
+ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InheritingHiddens" eSuperTypes="//Model">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="called" eType="//InheritingHiddensCall" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hidingCalled" eType="//HidingHiddens" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HidingHiddens">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="space">
+ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="called" eType="//InheritingHiddensCall" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InheritingHiddensCall">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid">
+ <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi
new file mode 100644
index 0000000..8f4d589
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
+ <idElements>org</idElements>
+ <idElements>eclipse</idElements>
+ <idElements>xtext</idElements>
+ <idElements>parser</idElements>
+ <idElements>terminalrules</idElements>
+ <idElements>HiddenTerminalsTestLanguage</idElements>
+ <superGrammarIdElements>NULL</superGrammarIdElements>
+ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
+ <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+ </metamodelDeclarations>
+ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="HiddenTerminalsTestLanguage">
+ <ePackage href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="Model">
+ <type metamodel="//@metamodelDeclarations.1">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#//Model"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <groups xsi:type="xtext:Alternatives">
+ <groups xsi:type="xtext:Alternatives">
+ <groups xsi:type="xtext:RuleCall" rule="//@rules.1"/>
+ <groups xsi:type="xtext:RuleCall" rule="//@rules.2"/>
+ </groups>
+ <groups xsi:type="xtext:RuleCall" rule="//@rules.3"/>
+ </groups>
+ <groups xsi:type="xtext:RuleCall" rule="//@rules.5"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="WithoutHiddens">
+ <type metamodel="//@metamodelDeclarations.1">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#//WithoutHiddens"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="without"/>
+ <abstractTokens xsi:type="xtext:Assignment" feature="spaces" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/>
+ </abstractTokens>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Keyword" value="hiddens"/>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Assignment" cardinality="?" feature="spaces" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/>
+ </abstractTokens>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Assignment" feature="valid" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value=";"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="WithHiddens" definesHiddenTokens="true" hiddenTokens="//@rules.10 //@rules.8 //@rules.9">
+ <type metamodel="//@metamodelDeclarations.1">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#//WithHiddens"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="with"/>
+ <abstractTokens xsi:type="xtext:Keyword" value="hiddens"/>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Assignment" feature="valid" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value=";"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="OverridingHiddens" definesHiddenTokens="true" hiddenTokens="//@rules.10 //@rules.8 //@rules.9">
+ <type metamodel="//@metamodelDeclarations.1">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#//OverridingHiddens"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="overriding"/>
+ <abstractTokens xsi:type="xtext:Keyword" value="hiddens"/>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Keyword" value="("/>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Assignment" feature="called" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.4"/>
+ </abstractTokens>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Keyword" value=")"/>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Assignment" feature="valid" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value=";"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="OverridingHiddensCall" definesHiddenTokens="true">
+ <type metamodel="//@metamodelDeclarations.1">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#//OverridingHiddensCall"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="call"/>
+ <abstractTokens xsi:type="xtext:Assignment" cardinality="?" feature="spaces" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/>
+ </abstractTokens>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Assignment" feature="valid" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value=";"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InheritingHiddens" definesHiddenTokens="true" hiddenTokens="//@rules.10 //@rules.8 //@rules.9">
+ <type metamodel="//@metamodelDeclarations.1">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#//InheritingHiddens"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="inheriting"/>
+ <abstractTokens xsi:type="xtext:Keyword" value="hiddens"/>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Keyword" value="("/>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Alternatives">
+ <groups xsi:type="xtext:Assignment" feature="called" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.7"/>
+ </groups>
+ <groups xsi:type="xtext:Assignment" feature="hidingCalled" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.6"/>
+ </groups>
+ </abstractTokens>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Keyword" value=")"/>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Assignment" feature="valid" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value=";"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="HidingHiddens" definesHiddenTokens="true">
+ <type metamodel="//@metamodelDeclarations.1">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#//HidingHiddens"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="hiding"/>
+ <abstractTokens xsi:type="xtext:Assignment" feature="space" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/>
+ </abstractTokens>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Assignment" feature="called" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.7"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InheritingHiddensCall">
+ <type metamodel="//@metamodelDeclarations.1">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest#//InheritingHiddensCall"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="call"/>
+ <abstractTokens xsi:type="xtext:Assignment" feature="valid" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value=";"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ML_COMMENT" terminal="true">
+ <type metamodel="//@metamodelDeclarations.0">
+ <type xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="/*"/>
+ <abstractTokens xsi:type="xtext:UpToToken">
+ <terminal xsi:type="xtext:Keyword" value="*/"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SL_COMMENT" terminal="true">
+ <type metamodel="//@metamodelDeclarations.0">
+ <type xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Group">
+ <abstractTokens xsi:type="xtext:Keyword" value="//"/>
+ <abstractTokens xsi:type="xtext:NegatedToken" cardinality="*">
+ <terminal xsi:type="xtext:Alternatives">
+ <groups xsi:type="xtext:Keyword" value="&#xA;"/>
+ <groups xsi:type="xtext:Keyword" value="&#xD;"/>
+ </terminal>
+ </abstractTokens>
+ </abstractTokens>
+ <abstractTokens xsi:type="xtext:Group" cardinality="?">
+ <abstractTokens xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
+ <abstractTokens xsi:type="xtext:Keyword" value="&#xA;"/>
+ </abstractTokens>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="WS" terminal="true">
+ <type metamodel="//@metamodelDeclarations.0">
+ <type xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives" cardinality="+">
+ <groups xsi:type="xtext:Alternatives">
+ <groups xsi:type="xtext:Alternatives">
+ <groups xsi:type="xtext:Keyword" value=" "/>
+ <groups xsi:type="xtext:Keyword" value="&#x9;"/>
+ </groups>
+ <groups xsi:type="xtext:Keyword" value="&#xD;"/>
+ </groups>
+ <groups xsi:type="xtext:Keyword" value="&#xA;"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ANY_OTHER" terminal="true">
+ <type metamodel="//@metamodelDeclarations.0">
+ <type xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Wildcard" isWildcard="true"/>
+ </rules>
+</xtext:Grammar>
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageStandaloneSetup.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageStandaloneSetup.java
new file mode 100644
index 0000000..339f0a0
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageStandaloneSetup.java
@@ -0,0 +1,51 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.EcoreUtil2;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.resource.IResourceFactory;
+import org.eclipse.xtext.service.IServiceScope;
+import org.eclipse.xtext.service.ServiceRegistry;
+import org.eclipse.xtext.service.IServiceRegistrationFactory.IServiceRegistration;
+
+import org.eclipse.xtext.parser.terminalrules.IHiddenTerminalsTestLanguage;
+
+public abstract class HiddenTerminalsTestLanguageStandaloneSetup {
+
+ private static boolean isInitialized = false;
+
+ public synchronized static void doSetup() {
+ if(!isInitialized) {
+
+ for (IServiceRegistration reg : new org.eclipse.xtext.parser.terminalrules.HiddenTerminalsTestLanguageRuntimeConfig().registrations()) {
+ ServiceRegistry.registerFactory(reg.scope(), reg.serviceFactory(), reg.priority());
+ }
+
+ // register resource factory to EMF
+ IResourceFactory resourceFactory = new org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageResourceFactory();
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("hiddenterminalstestlanguage", resourceFactory);
+
+
+ // initialize EPackages
+
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest")) {
+ EPackage HiddenTerminalsTestLanguage = EcoreUtil2.loadEPackage(
+ "classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.ecore",
+ HiddenTerminalsTestLanguageStandaloneSetup.class.getClassLoader());
+ if (HiddenTerminalsTestLanguage == null)
+ throw new IllegalStateException(
+ "Couldn't load EPackage from 'classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.ecore'");
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest", HiddenTerminalsTestLanguage);
+ }
+
+ isInitialized = true;
+ }
+ }
+
+ public static IServiceScope getServiceScope() {
+ return org.eclipse.xtext.parser.terminalrules.IHiddenTerminalsTestLanguage.SCOPE;
+ }
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/IHiddenTerminalsTestLanguage.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/IHiddenTerminalsTestLanguage.java
new file mode 100644
index 0000000..3386923
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/IHiddenTerminalsTestLanguage.java
@@ -0,0 +1,23 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules;
+
+import org.eclipse.xtext.service.IServiceScope;
+import org.eclipse.xtext.service.ServiceScopeFactory;
+
+public interface IHiddenTerminalsTestLanguage {
+
+ /**
+ * the unique identifier of this language.
+ * To be used to get the language descriptor and related services from the registry.
+ * Within ILanguageServices it is encouraged to use dependency injection instead
+ * of directly accessing the ServiceRegistry
+ */
+ public static final String ID = "org.eclipse.xtext.parser.terminalrules.HiddenTerminalsTestLanguage";
+ public static final String NAME = "HiddenTerminalsTestLanguage";
+ public static final String NAMESPACE = "org.eclipse.xtext.parser.terminalrules";
+ public static final String[] FILE_EXTENSIONS = new String[]{"hiddenterminalstestlanguage"};
+ public static final IServiceScope SCOPE = ServiceScopeFactory.createScope(ID, null);
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.ecore
index 64ced3d..3b7c01d 100644
--- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.ecore
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.ecore
@@ -14,18 +14,18 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="rules" unique="false" upperBound="-1" eType="//AbstractRule" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractRule">
- <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="//TypeRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name">
<eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="//TypeRef" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractMetamodelDeclaration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="ePackage">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
- </eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="alias">
<eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ePackage">
+ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GeneratedMetamodel" eSuperTypes="//AbstractMetamodelDeclaration">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name">
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi
index 632ba42..2e1909c 100644
--- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi
@@ -190,22 +190,12 @@
<abstractTokens xsi:type="xtext:Group" cardinality="?">
<abstractTokens xsi:type="xtext:Group">
<abstractTokens xsi:type="xtext:Group">
- <abstractTokens xsi:type="xtext:Group">
- <abstractTokens xsi:type="xtext:Assignment" feature="definesHiddenTokens" operator="?=">
- <terminal xsi:type="xtext:Keyword" value="hidden"/>
- </abstractTokens>
- <abstractTokens xsi:type="xtext:Keyword" value="("/>
- </abstractTokens>
- <abstractTokens xsi:type="xtext:Assignment" feature="hiddenTokens" operator="+=">
- <terminal xsi:type="xtext:CrossReference" rule="//@rules.29">
- <type metamodel="//@metamodelDeclarations.0">
- <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/XtextTerminalsTestLanguage#//AbstractRule"/>
- </type>
- </terminal>
+ <abstractTokens xsi:type="xtext:Assignment" feature="definesHiddenTokens" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="hidden"/>
</abstractTokens>
+ <abstractTokens xsi:type="xtext:Keyword" value="("/>
</abstractTokens>
- <abstractTokens xsi:type="xtext:Group" cardinality="*">
- <abstractTokens xsi:type="xtext:Keyword" value=","/>
+ <abstractTokens xsi:type="xtext:Group" cardinality="?">
<abstractTokens xsi:type="xtext:Assignment" feature="hiddenTokens" operator="+=">
<terminal xsi:type="xtext:CrossReference" rule="//@rules.29">
<type metamodel="//@metamodelDeclarations.0">
@@ -213,6 +203,16 @@
</type>
</terminal>
</abstractTokens>
+ <abstractTokens xsi:type="xtext:Group" cardinality="*">
+ <abstractTokens xsi:type="xtext:Keyword" value=","/>
+ <abstractTokens xsi:type="xtext:Assignment" feature="hiddenTokens" operator="+=">
+ <terminal xsi:type="xtext:CrossReference" rule="//@rules.29">
+ <type metamodel="//@metamodelDeclarations.0">
+ <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/XtextTerminalsTestLanguage#//AbstractRule"/>
+ </type>
+ </terminal>
+ </abstractTokens>
+ </abstractTokens>
</abstractTokens>
</abstractTokens>
<abstractTokens xsi:type="xtext:Keyword" value=")"/>
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/HiddenTerminalsTestLanguageAntlrTokenFileProvider.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/HiddenTerminalsTestLanguageAntlrTokenFileProvider.java
new file mode 100644
index 0000000..95aefd1
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/HiddenTerminalsTestLanguageAntlrTokenFileProvider.java
@@ -0,0 +1,15 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class HiddenTerminalsTestLanguageAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = HiddenTerminalsTestLanguageAntlrTokenFileProvider.class.getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.tokens");
+ }
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/HiddenTerminalsTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/HiddenTerminalsTestLanguageParser.java
new file mode 100644
index 0000000..432a84a
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/HiddenTerminalsTestLanguageParser.java
@@ -0,0 +1,43 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.antlr;
+
+import org.antlr.runtime.ANTLRInputStream;
+import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
+import org.eclipse.xtext.parser.IParseResult;
+import org.eclipse.xtext.parser.ParseException;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.service.Inject;
+
+import org.eclipse.xtext.parser.terminalrules.parser.antlr.internal.InternalHiddenTerminalsTestLanguageLexer;
+import org.eclipse.xtext.parser.terminalrules.parser.antlr.internal.InternalHiddenTerminalsTestLanguageParser;
+
+public class HiddenTerminalsTestLanguageParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ protected AntlrTokenDefProvider antlrTokenDefProvider;
+
+ @Override
+ protected IParseResult parse(String ruleName, ANTLRInputStream in) {
+ InternalHiddenTerminalsTestLanguageLexer lexer = new InternalHiddenTerminalsTestLanguageLexer(in);
+ XtextTokenStream stream = new XtextTokenStream(lexer, antlrTokenDefProvider);
+ InternalHiddenTerminalsTestLanguageParser parser = new InternalHiddenTerminalsTestLanguageParser(
+ stream, getElementFactory(), grammarAccess.getGrammar());
+ parser.setTokenTypeMap(antlrTokenDefProvider.getTokenDefMap());
+ try {
+ if(ruleName != null) {
+ return parser.parse(ruleName);
+ } else {
+ return parser.parse();
+ }
+ } catch (Exception re) {
+ throw new ParseException(re.getMessage(),re);
+ }
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "Model";
+ }
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g
new file mode 100644
index 0000000..9852976
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g
@@ -0,0 +1,679 @@
+/*
+Generated with Xtext
+*/
+grammar InternalHiddenTerminalsTestLanguage;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+}
+
+@lexer::header {
+package org.eclipse.xtext.parser.terminalrules.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.xtext.parser.terminalrules.parser.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.xtext.parsetree.*;
+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.xtext.conversion.ValueConverterException;
+
+}
+
+@parser::members {
+
+ public InternalHiddenTerminalsTestLanguageParser(TokenStream input, IAstFactory factory, Grammar g) {
+ this(input);
+ this.factory = factory;
+ grammar = g;
+ }
+
+ @Override
+ protected InputStream getTokenFile() {
+ ClassLoader classLoader = InternalHiddenTerminalsTestLanguageParser.class.getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.tokens");
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "Model";
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+
+// Entry rule entryRuleModel
+entryRuleModel returns [EObject current=null] :
+ { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); }
+ iv_ruleModel=ruleModel
+ { $current=$iv_ruleModel.current; }
+ EOF
+;
+
+// Rule Model
+ruleModel returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ }:
+(((
+ {
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0/@alternatives/@groups.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode);
+ }
+ this_WithoutHiddens=ruleWithoutHiddens
+ {
+ $current = $this_WithoutHiddens.current;
+ currentNode = currentNode.getParent();
+ }
+
+ |
+ {
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0/@alternatives/@groups.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
+ }
+ this_WithHiddens=ruleWithHiddens
+ {
+ $current = $this_WithHiddens.current;
+ currentNode = currentNode.getParent();
+ }
+)
+ |
+ {
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0/@alternatives/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
+ }
+ this_OverridingHiddens=ruleOverridingHiddens
+ {
+ $current = $this_OverridingHiddens.current;
+ currentNode = currentNode.getParent();
+ }
+)
+ |
+ {
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode);
+ }
+ this_InheritingHiddens=ruleInheritingHiddens
+ {
+ $current = $this_InheritingHiddens.current;
+ currentNode = currentNode.getParent();
+ }
+);
+
+
+
+
+
+
+
+// Entry rule entryRuleWithoutHiddens
+entryRuleWithoutHiddens returns [EObject current=null] :
+ { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); }
+ iv_ruleWithoutHiddens=ruleWithoutHiddens
+ { $current=$iv_ruleWithoutHiddens.current; }
+ EOF
+;
+
+// Rule WithoutHiddens
+ruleWithoutHiddens returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ }:
+(((('without'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+ }
+(
+
+ lv_spaces=RULE_WS
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "spaces");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("WithoutHiddens");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.add($current, "spaces", lv_spaces, "WS", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+))'hiddens'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ }
+)(
+
+ lv_spaces=RULE_WS
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "spaces");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("WithoutHiddens");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.add($current, "spaces", lv_spaces, "WS", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)?)(
+
+ lv_valid=';'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("WithoutHiddens");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.set($current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+));
+
+
+
+
+
+
+
+// Entry rule entryRuleWithHiddens
+entryRuleWithHiddens returns [EObject current=null] :
+ { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.2" /* xtext::ParserRule */, currentNode); }
+ iv_ruleWithHiddens=ruleWithHiddens
+ { $current=$iv_ruleWithHiddens.current; }
+ EOF
+;
+
+// Rule WithHiddens
+ruleWithHiddens returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+ @after { resetLookahead();
+ myHiddenTokenState.restore();
+ }:
+(('with'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+ }
+'hiddens'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ }
+)(
+
+ lv_valid=';'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("WithHiddens");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.set($current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+));
+
+
+
+
+
+
+
+// Entry rule entryRuleOverridingHiddens
+entryRuleOverridingHiddens returns [EObject current=null] :
+ { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3" /* xtext::ParserRule */, currentNode); }
+ iv_ruleOverridingHiddens=ruleOverridingHiddens
+ { $current=$iv_ruleOverridingHiddens.current; }
+ EOF
+;
+
+// Rule OverridingHiddens
+ruleOverridingHiddens returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+ @after { resetLookahead();
+ myHiddenTokenState.restore();
+ }:
+((((('overriding'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+ }
+'hiddens'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ }
+)'('
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ }
+)(
+
+
+ {
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
+ }
+ lv_called=ruleOverridingHiddensCall
+ {
+ if ($current==null) {
+ $current = factory.create("OverridingHiddens");
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+
+ try {
+ factory.set($current, "called", lv_called, "OverridingHiddensCall", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+))')'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ }
+)(
+
+ lv_valid=';'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("OverridingHiddens");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.set($current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+));
+
+
+
+
+
+
+
+// Entry rule entryRuleOverridingHiddensCall
+entryRuleOverridingHiddensCall returns [EObject current=null] :
+ { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.4" /* xtext::ParserRule */, currentNode); }
+ iv_ruleOverridingHiddensCall=ruleOverridingHiddensCall
+ { $current=$iv_ruleOverridingHiddensCall.current; }
+ EOF
+;
+
+// Rule OverridingHiddensCall
+ruleOverridingHiddensCall returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { resetLookahead();
+ myHiddenTokenState.restore();
+ }:
+(('call'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+ }
+(
+
+ lv_spaces=RULE_WS
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "spaces");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("OverridingHiddensCall");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.add($current, "spaces", lv_spaces, "WS", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+)?)(
+
+ lv_valid=';'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("OverridingHiddensCall");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.set($current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+));
+
+
+
+
+
+
+
+// Entry rule entryRuleInheritingHiddens
+entryRuleInheritingHiddens returns [EObject current=null] :
+ { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5" /* xtext::ParserRule */, currentNode); }
+ iv_ruleInheritingHiddens=ruleInheritingHiddens
+ { $current=$iv_ruleInheritingHiddens.current; }
+ EOF
+;
+
+// Rule InheritingHiddens
+ruleInheritingHiddens returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+ @after { resetLookahead();
+ myHiddenTokenState.restore();
+ }:
+((((('inheriting'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+ }
+'hiddens'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ }
+)'('
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ }
+)((
+
+
+ {
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@groups.0/@terminal" /* xtext::RuleCall */, currentNode);
+ }
+ lv_called=ruleInheritingHiddensCall
+ {
+ if ($current==null) {
+ $current = factory.create("InheritingHiddens");
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+
+ try {
+ factory.set($current, "called", lv_called, "InheritingHiddensCall", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)
+ |(
+
+
+ {
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@groups.1/@terminal" /* xtext::RuleCall */, currentNode);
+ }
+ lv_hidingCalled=ruleHidingHiddens
+ {
+ if ($current==null) {
+ $current = factory.create("InheritingHiddens");
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+
+ try {
+ factory.set($current, "hidingCalled", lv_hidingCalled, "HidingHiddens", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+)))')'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ }
+)(
+
+ lv_valid=';'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("InheritingHiddens");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.set($current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+));
+
+
+
+
+
+
+
+// Entry rule entryRuleHidingHiddens
+entryRuleHidingHiddens returns [EObject current=null] :
+ { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.6" /* xtext::ParserRule */, currentNode); }
+ iv_ruleHidingHiddens=ruleHidingHiddens
+ { $current=$iv_ruleHidingHiddens.current; }
+ EOF
+;
+
+// Rule HidingHiddens
+ruleHidingHiddens returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { resetLookahead();
+ myHiddenTokenState.restore();
+ }:
+(('hiding'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+ }
+(
+
+ lv_space=RULE_WS
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "space");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("HidingHiddens");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.set($current, "space", lv_space, "WS", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+))(
+
+
+ {
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
+ }
+ lv_called=ruleInheritingHiddensCall
+ {
+ if ($current==null) {
+ $current = factory.create("HidingHiddens");
+ associateNodeWithAstElement(currentNode.getParent(), $current);
+ }
+
+ try {
+ factory.set($current, "called", lv_called, "InheritingHiddensCall", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+ }
+
+));
+
+
+
+
+
+
+
+// Entry rule entryRuleInheritingHiddensCall
+entryRuleInheritingHiddensCall returns [EObject current=null] :
+ { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.7" /* xtext::ParserRule */, currentNode); }
+ iv_ruleInheritingHiddensCall=ruleInheritingHiddensCall
+ { $current=$iv_ruleInheritingHiddensCall.current; }
+ EOF
+;
+
+// Rule InheritingHiddensCall
+ruleInheritingHiddensCall returns [EObject current=null]
+ @init { EObject temp=null; setCurrentLookahead(); resetLookahead();
+ }
+ @after { resetLookahead();
+ }:
+('call'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null);
+ }
+(
+
+ lv_valid=';'
+ {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+ }
+
+ {
+ if ($current==null) {
+ $current = factory.create("InheritingHiddensCall");
+ associateNodeWithAstElement(currentNode, $current);
+ }
+
+ try {
+ factory.set($current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ }
+
+));
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+
+
+RULE_WS : (((' '|'\t')|'\r')|'\n')+;
+
+
+
+RULE_ANY_OTHER : .;
+
+
+
+
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.tokens b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.tokens
new file mode 100644
index 0000000..41eaec6
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.tokens
@@ -0,0 +1,14 @@
+RULE_ML_COMMENT=5
+RULE_WS=4
+RULE_ANY_OTHER=7
+RULE_SL_COMMENT=6
+'('=13
+'hiddens'=9
+')'=14
+'hiding'=17
+'call'=15
+'without'=8
+'overriding'=12
+'with'=11
+'inheriting'=16
+';'=10
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguageLexer.java
new file mode 100644
index 0000000..f2d6f59
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguageLexer.java
@@ -0,0 +1,687 @@
+package org.eclipse.xtext.parser.terminalrules.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;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+public class InternalHiddenTerminalsTestLanguageLexer extends Lexer {
+ public static final int T10=10;
+ public static final int RULE_ML_COMMENT=5;
+ public static final int T14=14;
+ public static final int RULE_WS=4;
+ public static final int T11=11;
+ public static final int T9=9;
+ public static final int T15=15;
+ public static final int EOF=-1;
+ public static final int T17=17;
+ public static final int T12=12;
+ public static final int Tokens=18;
+ public static final int RULE_ANY_OTHER=7;
+ public static final int T16=16;
+ public static final int T8=8;
+ public static final int RULE_SL_COMMENT=6;
+ public static final int T13=13;
+ public InternalHiddenTerminalsTestLanguageLexer() {;}
+ public InternalHiddenTerminalsTestLanguageLexer(CharStream input) {
+ super(input);
+ }
+ public String getGrammarFileName() { return "../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g"; }
+
+ // $ANTLR start T8
+ public final void mT8() throws RecognitionException {
+ try {
+ int _type = T8;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:10:4: ( 'without' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:10:6: 'without'
+ {
+ match("without");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T8
+
+ // $ANTLR start T9
+ public final void mT9() throws RecognitionException {
+ try {
+ int _type = T9;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:11:4: ( 'hiddens' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:11:6: 'hiddens'
+ {
+ match("hiddens");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T9
+
+ // $ANTLR start T10
+ public final void mT10() throws RecognitionException {
+ try {
+ int _type = T10;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:12:5: ( ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:12:7: ';'
+ {
+ match(';');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T10
+
+ // $ANTLR start T11
+ public final void mT11() throws RecognitionException {
+ try {
+ int _type = T11;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:13:5: ( 'with' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:13:7: 'with'
+ {
+ match("with");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T11
+
+ // $ANTLR start T12
+ public final void mT12() throws RecognitionException {
+ try {
+ int _type = T12;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:14:5: ( 'overriding' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:14:7: 'overriding'
+ {
+ match("overriding");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T12
+
+ // $ANTLR start T13
+ public final void mT13() throws RecognitionException {
+ try {
+ int _type = T13;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:15:5: ( '(' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:15:7: '('
+ {
+ match('(');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T13
+
+ // $ANTLR start T14
+ public final void mT14() throws RecognitionException {
+ try {
+ int _type = T14;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:16:5: ( ')' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:16:7: ')'
+ {
+ match(')');
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T14
+
+ // $ANTLR start T15
+ public final void mT15() throws RecognitionException {
+ try {
+ int _type = T15;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:17:5: ( 'call' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:17:7: 'call'
+ {
+ match("call");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T15
+
+ // $ANTLR start T16
+ public final void mT16() throws RecognitionException {
+ try {
+ int _type = T16;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:18:5: ( 'inheriting' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:18:7: 'inheriting'
+ {
+ match("inheriting");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T16
+
+ // $ANTLR start T17
+ public final void mT17() throws RecognitionException {
+ try {
+ int _type = T17;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:19:5: ( 'hiding' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:19:7: 'hiding'
+ {
+ match("hiding");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end T17
+
+ // $ANTLR start RULE_ML_COMMENT
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:663:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:663:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:663:24: ( options {greedy=false; } : . )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='*') ) {
+ int LA1_1 = input.LA(2);
+
+ if ( (LA1_1=='/') ) {
+ alt1=2;
+ }
+ else if ( ((LA1_1>='\u0000' && LA1_1<='.')||(LA1_1>='0' && LA1_1<='\uFFFE')) ) {
+ alt1=1;
+ }
+
+
+ }
+ else if ( ((LA1_0>='\u0000' && LA1_0<=')')||(LA1_0>='+' && LA1_0<='\uFFFE')) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:663:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_ML_COMMENT
+
+ // $ANTLR start RULE_SL_COMMENT
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:667:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:667:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:667:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='\u0000' && LA2_0<='\t')||(LA2_0>='\u000B' && LA2_0<='\f')||(LA2_0>='\u000E' && LA2_0<='\uFFFE')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:667: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)<='\uFFFE') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:667:40: ( ( '\\r' )? '\\n' )?
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\n'||LA4_0=='\r') ) {
+ alt4=1;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:667:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:667:41: ( '\\r' )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='\r') ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:667:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_SL_COMMENT
+
+ // $ANTLR start RULE_WS
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:671:9: ( ( ( ( ' ' | '\\t' ) | '\\r' ) | '\\n' )+ )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:671:11: ( ( ( ' ' | '\\t' ) | '\\r' ) | '\\n' )+
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:671:11: ( ( ( ' ' | '\\t' ) | '\\r' ) | '\\n' )+
+ int cnt5=0;
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>='\t' && LA5_0<='\n')||LA5_0=='\r'||LA5_0==' ') ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse =
+ new MismatchedSetException(null,input);
+ recover(mse); throw mse;
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt5 >= 1 ) break loop5;
+ EarlyExitException eee =
+ new EarlyExitException(5, input);
+ throw eee;
+ }
+ cnt5++;
+ } while (true);
+
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_WS
+
+ // $ANTLR start RULE_ANY_OTHER
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:675:16: ( . )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:675:18: .
+ {
+ matchAny();
+
+ }
+
+ this.type = _type;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end RULE_ANY_OTHER
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:8: ( T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt6=14;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='w') ) {
+ int LA6_1 = input.LA(2);
+
+ if ( (LA6_1=='i') ) {
+ int LA6_12 = input.LA(3);
+
+ if ( (LA6_12=='t') ) {
+ int LA6_23 = input.LA(4);
+
+ if ( (LA6_23=='h') ) {
+ int LA6_25 = input.LA(5);
+
+ if ( (LA6_25=='o') ) {
+ alt6=1;
+ }
+ else {
+ alt6=4;}
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1:1: Tokens : ( T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );", 6, 23, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1:1: Tokens : ( T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );", 6, 12, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ alt6=14;}
+ }
+ else if ( (LA6_0=='h') ) {
+ int LA6_2 = input.LA(2);
+
+ if ( (LA6_2=='i') ) {
+ int LA6_13 = input.LA(3);
+
+ if ( (LA6_13=='d') ) {
+ int LA6_24 = input.LA(4);
+
+ if ( (LA6_24=='d') ) {
+ alt6=2;
+ }
+ else if ( (LA6_24=='i') ) {
+ alt6=10;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1:1: Tokens : ( T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );", 6, 24, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1:1: Tokens : ( T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );", 6, 13, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ alt6=14;}
+ }
+ else if ( (LA6_0==';') ) {
+ alt6=3;
+ }
+ else if ( (LA6_0=='o') ) {
+ int LA6_4 = input.LA(2);
+
+ if ( (LA6_4=='v') ) {
+ alt6=5;
+ }
+ else {
+ alt6=14;}
+ }
+ else if ( (LA6_0=='(') ) {
+ alt6=6;
+ }
+ else if ( (LA6_0==')') ) {
+ alt6=7;
+ }
+ else if ( (LA6_0=='c') ) {
+ int LA6_7 = input.LA(2);
+
+ if ( (LA6_7=='a') ) {
+ alt6=8;
+ }
+ else {
+ alt6=14;}
+ }
+ else if ( (LA6_0=='i') ) {
+ int LA6_8 = input.LA(2);
+
+ if ( (LA6_8=='n') ) {
+ alt6=9;
+ }
+ else {
+ alt6=14;}
+ }
+ else if ( (LA6_0=='/') ) {
+ switch ( input.LA(2) ) {
+ case '/':
+ {
+ alt6=12;
+ }
+ break;
+ case '*':
+ {
+ alt6=11;
+ }
+ break;
+ default:
+ alt6=14;}
+
+ }
+ else if ( ((LA6_0>='\t' && LA6_0<='\n')||LA6_0=='\r'||LA6_0==' ') ) {
+ alt6=13;
+ }
+ else if ( ((LA6_0>='\u0000' && LA6_0<='\b')||(LA6_0>='\u000B' && LA6_0<='\f')||(LA6_0>='\u000E' && LA6_0<='\u001F')||(LA6_0>='!' && LA6_0<='\'')||(LA6_0>='*' && LA6_0<='.')||(LA6_0>='0' && LA6_0<=':')||(LA6_0>='<' && LA6_0<='b')||(LA6_0>='d' && LA6_0<='g')||(LA6_0>='j' && LA6_0<='n')||(LA6_0>='p' && LA6_0<='v')||(LA6_0>='x' && LA6_0<='\uFFFE')) ) {
+ alt6=14;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("1:1: Tokens : ( T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:10: T8
+ {
+ mT8();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:13: T9
+ {
+ mT9();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:16: T10
+ {
+ mT10();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:20: T11
+ {
+ mT11();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:24: T12
+ {
+ mT12();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:28: T13
+ {
+ mT13();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:32: T14
+ {
+ mT14();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:36: T15
+ {
+ mT15();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:40: T16
+ {
+ mT16();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:44: T17
+ {
+ mT17();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:48: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:64: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:80: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:1:88: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+
+
+} \ No newline at end of file
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguageParser.java
new file mode 100644
index 0000000..bd4ee33
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguageParser.java
@@ -0,0 +1,1383 @@
+package org.eclipse.xtext.parser.terminalrules.parser.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.xtext.parsetree.*;
+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.xtext.conversion.ValueConverterException;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+public class InternalHiddenTerminalsTestLanguageParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_ANY_OTHER", "'without'", "'hiddens'", "';'", "'with'", "'overriding'", "'('", "')'", "'call'", "'inheriting'", "'hiding'"
+ };
+ public static final int RULE_ML_COMMENT=5;
+ public static final int RULE_WS=4;
+ public static final int EOF=-1;
+ public static final int RULE_ANY_OTHER=7;
+ public static final int RULE_SL_COMMENT=6;
+
+ public InternalHiddenTerminalsTestLanguageParser(TokenStream input) {
+ super(input);
+ }
+
+
+ public String[] getTokenNames() { return tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g"; }
+
+
+
+ public InternalHiddenTerminalsTestLanguageParser(TokenStream input, IAstFactory factory, Grammar g) {
+ this(input);
+ this.factory = factory;
+ grammar = g;
+ }
+
+ @Override
+ protected InputStream getTokenFile() {
+ ClassLoader classLoader = InternalHiddenTerminalsTestLanguageParser.class.getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.tokens");
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "Model";
+ }
+
+
+
+ // $ANTLR start entryRuleModel
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:68:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ;
+ public final EObject entryRuleModel() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleModel = null;
+
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:68:47: (iv_ruleModel= ruleModel EOF )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:69:2: iv_ruleModel= ruleModel EOF
+ {
+ currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode);
+ pushFollow(FOLLOW_ruleModel_in_entryRuleModel72);
+ iv_ruleModel=ruleModel();
+ _fsp--;
+
+ current =iv_ruleModel;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleModel82);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleModel
+
+
+ // $ANTLR start ruleModel
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:76:1: ruleModel returns [EObject current=null] : ( ( (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens ) | this_OverridingHiddens= ruleOverridingHiddens ) | this_InheritingHiddens= ruleInheritingHiddens ) ;
+ public final EObject ruleModel() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_WithoutHiddens = null;
+
+ EObject this_WithHiddens = null;
+
+ EObject this_OverridingHiddens = null;
+
+ EObject this_InheritingHiddens = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:80:6: ( ( ( (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens ) | this_OverridingHiddens= ruleOverridingHiddens ) | this_InheritingHiddens= ruleInheritingHiddens ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:81:1: ( ( (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens ) | this_OverridingHiddens= ruleOverridingHiddens ) | this_InheritingHiddens= ruleInheritingHiddens )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:81:1: ( ( (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens ) | this_OverridingHiddens= ruleOverridingHiddens ) | this_InheritingHiddens= ruleInheritingHiddens )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==8||(LA3_0>=11 && LA3_0<=12)) ) {
+ alt3=1;
+ }
+ else if ( (LA3_0==16) ) {
+ alt3=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("81:1: ( ( (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens ) | this_OverridingHiddens= ruleOverridingHiddens ) | this_InheritingHiddens= ruleInheritingHiddens )", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:81:2: ( (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens ) | this_OverridingHiddens= ruleOverridingHiddens )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:81:2: ( (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens ) | this_OverridingHiddens= ruleOverridingHiddens )
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==8||LA2_0==11) ) {
+ alt2=1;
+ }
+ else if ( (LA2_0==12) ) {
+ alt2=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("81:2: ( (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens ) | this_OverridingHiddens= ruleOverridingHiddens )", 2, 0, input);
+
+ throw nvae;
+ }
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:81:3: (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:81:3: (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==8) ) {
+ alt1=1;
+ }
+ else if ( (LA1_0==11) ) {
+ alt1=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("81:3: (this_WithoutHiddens= ruleWithoutHiddens | this_WithHiddens= ruleWithHiddens )", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:82:5: this_WithoutHiddens= ruleWithoutHiddens
+ {
+
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0/@alternatives/@groups.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode);
+
+ pushFollow(FOLLOW_ruleWithoutHiddens_in_ruleModel131);
+ this_WithoutHiddens=ruleWithoutHiddens();
+ _fsp--;
+
+
+ current = this_WithoutHiddens;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:92:5: this_WithHiddens= ruleWithHiddens
+ {
+
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0/@alternatives/@groups.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
+
+ pushFollow(FOLLOW_ruleWithHiddens_in_ruleModel158);
+ this_WithHiddens=ruleWithHiddens();
+ _fsp--;
+
+
+ current = this_WithHiddens;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:102:5: this_OverridingHiddens= ruleOverridingHiddens
+ {
+
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0/@alternatives/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
+
+ pushFollow(FOLLOW_ruleOverridingHiddens_in_ruleModel186);
+ this_OverridingHiddens=ruleOverridingHiddens();
+ _fsp--;
+
+
+ current = this_OverridingHiddens;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:112:5: this_InheritingHiddens= ruleInheritingHiddens
+ {
+
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.0/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode);
+
+ pushFollow(FOLLOW_ruleInheritingHiddens_in_ruleModel214);
+ this_InheritingHiddens=ruleInheritingHiddens();
+ _fsp--;
+
+
+ current = this_InheritingHiddens;
+ currentNode = currentNode.getParent();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ resetLookahead();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleModel
+
+
+ // $ANTLR start entryRuleWithoutHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:129:1: entryRuleWithoutHiddens returns [EObject current=null] : iv_ruleWithoutHiddens= ruleWithoutHiddens EOF ;
+ public final EObject entryRuleWithoutHiddens() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleWithoutHiddens = null;
+
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:129:56: (iv_ruleWithoutHiddens= ruleWithoutHiddens EOF )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:130:2: iv_ruleWithoutHiddens= ruleWithoutHiddens EOF
+ {
+ currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode);
+ pushFollow(FOLLOW_ruleWithoutHiddens_in_entryRuleWithoutHiddens248);
+ iv_ruleWithoutHiddens=ruleWithoutHiddens();
+ _fsp--;
+
+ current =iv_ruleWithoutHiddens;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleWithoutHiddens258);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleWithoutHiddens
+
+
+ // $ANTLR start ruleWithoutHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:137:1: ruleWithoutHiddens returns [EObject current=null] : ( ( ( ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens' ) (lv_spaces= RULE_WS )? ) (lv_valid= ';' ) ) ;
+ public final EObject ruleWithoutHiddens() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_spaces=null;
+ Token lv_valid=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:141:6: ( ( ( ( ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens' ) (lv_spaces= RULE_WS )? ) (lv_valid= ';' ) ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:1: ( ( ( ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens' ) (lv_spaces= RULE_WS )? ) (lv_valid= ';' ) )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:1: ( ( ( ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens' ) (lv_spaces= RULE_WS )? ) (lv_valid= ';' ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:2: ( ( ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens' ) (lv_spaces= RULE_WS )? ) (lv_valid= ';' )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:2: ( ( ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens' ) (lv_spaces= RULE_WS )? )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:3: ( ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens' ) (lv_spaces= RULE_WS )?
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:3: ( ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:4: ( 'without' (lv_spaces= RULE_WS ) ) 'hiddens'
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:4: ( 'without' (lv_spaces= RULE_WS ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:142:5: 'without' (lv_spaces= RULE_WS )
+ {
+ match(input,8,FOLLOW_8_in_ruleWithoutHiddens295);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:146:1: (lv_spaces= RULE_WS )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:148:6: lv_spaces= RULE_WS
+ {
+ lv_spaces=(Token)input.LT(1);
+ match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleWithoutHiddens316);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "spaces");
+
+
+ if (current==null) {
+ current = factory.create("WithoutHiddens");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.add(current, "spaces", lv_spaces, "WS", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+ match(input,9,FOLLOW_9_in_ruleWithoutHiddens337);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:170:2: (lv_spaces= RULE_WS )?
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==RULE_WS) ) {
+ alt4=1;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:172:6: lv_spaces= RULE_WS
+ {
+ lv_spaces=(Token)input.LT(1);
+ match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleWithoutHiddens359);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "spaces");
+
+
+ if (current==null) {
+ current = factory.create("WithoutHiddens");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.add(current, "spaces", lv_spaces, "WS", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:190:4: (lv_valid= ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:192:6: lv_valid= ';'
+ {
+ lv_valid=(Token)input.LT(1);
+ match(input,10,FOLLOW_10_in_ruleWithoutHiddens393);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+
+
+ if (current==null) {
+ current = factory.create("WithoutHiddens");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.set(current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleWithoutHiddens
+
+
+ // $ANTLR start entryRuleWithHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:219:1: entryRuleWithHiddens returns [EObject current=null] : iv_ruleWithHiddens= ruleWithHiddens EOF ;
+ public final EObject entryRuleWithHiddens() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleWithHiddens = null;
+
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:219:53: (iv_ruleWithHiddens= ruleWithHiddens EOF )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:220:2: iv_ruleWithHiddens= ruleWithHiddens EOF
+ {
+ currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.2" /* xtext::ParserRule */, currentNode);
+ pushFollow(FOLLOW_ruleWithHiddens_in_entryRuleWithHiddens440);
+ iv_ruleWithHiddens=ruleWithHiddens();
+ _fsp--;
+
+ current =iv_ruleWithHiddens;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleWithHiddens450);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleWithHiddens
+
+
+ // $ANTLR start ruleWithHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:227:1: ruleWithHiddens returns [EObject current=null] : ( ( 'with' 'hiddens' ) (lv_valid= ';' ) ) ;
+ public final EObject ruleWithHiddens() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_valid=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:233:6: ( ( ( 'with' 'hiddens' ) (lv_valid= ';' ) ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:234:1: ( ( 'with' 'hiddens' ) (lv_valid= ';' ) )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:234:1: ( ( 'with' 'hiddens' ) (lv_valid= ';' ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:234:2: ( 'with' 'hiddens' ) (lv_valid= ';' )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:234:2: ( 'with' 'hiddens' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:234:3: 'with' 'hiddens'
+ {
+ match(input,11,FOLLOW_11_in_ruleWithHiddens485);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+
+ match(input,9,FOLLOW_9_in_ruleWithHiddens494);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:242:2: (lv_valid= ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:244:6: lv_valid= ';'
+ {
+ lv_valid=(Token)input.LT(1);
+ match(input,10,FOLLOW_10_in_ruleWithHiddens516);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+
+
+ if (current==null) {
+ current = factory.create("WithHiddens");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.set(current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ myHiddenTokenState.restore();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleWithHiddens
+
+
+ // $ANTLR start entryRuleOverridingHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:271:1: entryRuleOverridingHiddens returns [EObject current=null] : iv_ruleOverridingHiddens= ruleOverridingHiddens EOF ;
+ public final EObject entryRuleOverridingHiddens() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleOverridingHiddens = null;
+
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:271:59: (iv_ruleOverridingHiddens= ruleOverridingHiddens EOF )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:272:2: iv_ruleOverridingHiddens= ruleOverridingHiddens EOF
+ {
+ currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3" /* xtext::ParserRule */, currentNode);
+ pushFollow(FOLLOW_ruleOverridingHiddens_in_entryRuleOverridingHiddens563);
+ iv_ruleOverridingHiddens=ruleOverridingHiddens();
+ _fsp--;
+
+ current =iv_ruleOverridingHiddens;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOverridingHiddens573);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleOverridingHiddens
+
+
+ // $ANTLR start ruleOverridingHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:279:1: ruleOverridingHiddens returns [EObject current=null] : ( ( ( ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall ) ) ')' ) (lv_valid= ';' ) ) ;
+ public final EObject ruleOverridingHiddens() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_valid=null;
+ EObject lv_called = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:285:6: ( ( ( ( ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall ) ) ')' ) (lv_valid= ';' ) ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:1: ( ( ( ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall ) ) ')' ) (lv_valid= ';' ) )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:1: ( ( ( ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall ) ) ')' ) (lv_valid= ';' ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:2: ( ( ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall ) ) ')' ) (lv_valid= ';' )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:2: ( ( ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall ) ) ')' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:3: ( ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall ) ) ')'
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:3: ( ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:4: ( ( 'overriding' 'hiddens' ) '(' ) (lv_called= ruleOverridingHiddensCall )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:4: ( ( 'overriding' 'hiddens' ) '(' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:5: ( 'overriding' 'hiddens' ) '('
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:5: ( 'overriding' 'hiddens' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:286:6: 'overriding' 'hiddens'
+ {
+ match(input,12,FOLLOW_12_in_ruleOverridingHiddens611);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+
+ match(input,9,FOLLOW_9_in_ruleOverridingHiddens620);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+
+
+ }
+
+ match(input,13,FOLLOW_13_in_ruleOverridingHiddens630);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:298:2: (lv_called= ruleOverridingHiddensCall )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:301:6: lv_called= ruleOverridingHiddensCall
+ {
+
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
+
+ pushFollow(FOLLOW_ruleOverridingHiddensCall_in_ruleOverridingHiddens665);
+ lv_called=ruleOverridingHiddensCall();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create("OverridingHiddens");
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+
+ try {
+ factory.set(current, "called", lv_called, "OverridingHiddensCall", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+ match(input,14,FOLLOW_14_in_ruleOverridingHiddens679);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:323:2: (lv_valid= ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:325:6: lv_valid= ';'
+ {
+ lv_valid=(Token)input.LT(1);
+ match(input,10,FOLLOW_10_in_ruleOverridingHiddens701);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+
+
+ if (current==null) {
+ current = factory.create("OverridingHiddens");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.set(current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ myHiddenTokenState.restore();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleOverridingHiddens
+
+
+ // $ANTLR start entryRuleOverridingHiddensCall
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:352:1: entryRuleOverridingHiddensCall returns [EObject current=null] : iv_ruleOverridingHiddensCall= ruleOverridingHiddensCall EOF ;
+ public final EObject entryRuleOverridingHiddensCall() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleOverridingHiddensCall = null;
+
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:352:63: (iv_ruleOverridingHiddensCall= ruleOverridingHiddensCall EOF )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:353:2: iv_ruleOverridingHiddensCall= ruleOverridingHiddensCall EOF
+ {
+ currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.4" /* xtext::ParserRule */, currentNode);
+ pushFollow(FOLLOW_ruleOverridingHiddensCall_in_entryRuleOverridingHiddensCall748);
+ iv_ruleOverridingHiddensCall=ruleOverridingHiddensCall();
+ _fsp--;
+
+ current =iv_ruleOverridingHiddensCall;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOverridingHiddensCall758);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleOverridingHiddensCall
+
+
+ // $ANTLR start ruleOverridingHiddensCall
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:360:1: ruleOverridingHiddensCall returns [EObject current=null] : ( ( 'call' (lv_spaces= RULE_WS )? ) (lv_valid= ';' ) ) ;
+ public final EObject ruleOverridingHiddensCall() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_spaces=null;
+ Token lv_valid=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:366:6: ( ( ( 'call' (lv_spaces= RULE_WS )? ) (lv_valid= ';' ) ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:367:1: ( ( 'call' (lv_spaces= RULE_WS )? ) (lv_valid= ';' ) )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:367:1: ( ( 'call' (lv_spaces= RULE_WS )? ) (lv_valid= ';' ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:367:2: ( 'call' (lv_spaces= RULE_WS )? ) (lv_valid= ';' )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:367:2: ( 'call' (lv_spaces= RULE_WS )? )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:367:3: 'call' (lv_spaces= RULE_WS )?
+ {
+ match(input,15,FOLLOW_15_in_ruleOverridingHiddensCall793);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:371:1: (lv_spaces= RULE_WS )?
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==RULE_WS) ) {
+ alt5=1;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:373:6: lv_spaces= RULE_WS
+ {
+ lv_spaces=(Token)input.LT(1);
+ match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleOverridingHiddensCall814);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "spaces");
+
+
+ if (current==null) {
+ current = factory.create("OverridingHiddensCall");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.add(current, "spaces", lv_spaces, "WS", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:391:4: (lv_valid= ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:393:6: lv_valid= ';'
+ {
+ lv_valid=(Token)input.LT(1);
+ match(input,10,FOLLOW_10_in_ruleOverridingHiddensCall848);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+
+
+ if (current==null) {
+ current = factory.create("OverridingHiddensCall");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.set(current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ myHiddenTokenState.restore();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleOverridingHiddensCall
+
+
+ // $ANTLR start entryRuleInheritingHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:420:1: entryRuleInheritingHiddens returns [EObject current=null] : iv_ruleInheritingHiddens= ruleInheritingHiddens EOF ;
+ public final EObject entryRuleInheritingHiddens() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInheritingHiddens = null;
+
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:420:59: (iv_ruleInheritingHiddens= ruleInheritingHiddens EOF )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:421:2: iv_ruleInheritingHiddens= ruleInheritingHiddens EOF
+ {
+ currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5" /* xtext::ParserRule */, currentNode);
+ pushFollow(FOLLOW_ruleInheritingHiddens_in_entryRuleInheritingHiddens895);
+ iv_ruleInheritingHiddens=ruleInheritingHiddens();
+ _fsp--;
+
+ current =iv_ruleInheritingHiddens;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInheritingHiddens905);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleInheritingHiddens
+
+
+ // $ANTLR start ruleInheritingHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:428:1: ruleInheritingHiddens returns [EObject current=null] : ( ( ( ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) ) ) ')' ) (lv_valid= ';' ) ) ;
+ public final EObject ruleInheritingHiddens() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_valid=null;
+ EObject lv_called = null;
+
+ EObject lv_hidingCalled = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:434:6: ( ( ( ( ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) ) ) ')' ) (lv_valid= ';' ) ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:1: ( ( ( ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) ) ) ')' ) (lv_valid= ';' ) )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:1: ( ( ( ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) ) ) ')' ) (lv_valid= ';' ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:2: ( ( ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) ) ) ')' ) (lv_valid= ';' )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:2: ( ( ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) ) ) ')' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:3: ( ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) ) ) ')'
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:3: ( ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:4: ( ( 'inheriting' 'hiddens' ) '(' ) ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:4: ( ( 'inheriting' 'hiddens' ) '(' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:5: ( 'inheriting' 'hiddens' ) '('
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:5: ( 'inheriting' 'hiddens' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:435:6: 'inheriting' 'hiddens'
+ {
+ match(input,16,FOLLOW_16_in_ruleInheritingHiddens943);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+
+ match(input,9,FOLLOW_9_in_ruleInheritingHiddens952);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+
+
+ }
+
+ match(input,13,FOLLOW_13_in_ruleInheritingHiddens962);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:447:2: ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==15) ) {
+ alt6=1;
+ }
+ else if ( (LA6_0==17) ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("447:2: ( (lv_called= ruleInheritingHiddensCall ) | (lv_hidingCalled= ruleHidingHiddens ) )", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:447:3: (lv_called= ruleInheritingHiddensCall )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:447:3: (lv_called= ruleInheritingHiddensCall )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:450:6: lv_called= ruleInheritingHiddensCall
+ {
+
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@groups.0/@terminal" /* xtext::RuleCall */, currentNode);
+
+ pushFollow(FOLLOW_ruleInheritingHiddensCall_in_ruleInheritingHiddens998);
+ lv_called=ruleInheritingHiddensCall();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create("InheritingHiddens");
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+
+ try {
+ factory.set(current, "called", lv_called, "InheritingHiddensCall", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:469:6: (lv_hidingCalled= ruleHidingHiddens )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:469:6: (lv_hidingCalled= ruleHidingHiddens )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:472:6: lv_hidingCalled= ruleHidingHiddens
+ {
+
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@groups.1/@terminal" /* xtext::RuleCall */, currentNode);
+
+ pushFollow(FOLLOW_ruleHidingHiddens_in_ruleInheritingHiddens1042);
+ lv_hidingCalled=ruleHidingHiddens();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create("InheritingHiddens");
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+
+ try {
+ factory.set(current, "hidingCalled", lv_hidingCalled, "HidingHiddens", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ match(input,14,FOLLOW_14_in_ruleInheritingHiddens1057);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:494:2: (lv_valid= ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:496:6: lv_valid= ';'
+ {
+ lv_valid=(Token)input.LT(1);
+ match(input,10,FOLLOW_10_in_ruleInheritingHiddens1079);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+
+
+ if (current==null) {
+ current = factory.create("InheritingHiddens");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.set(current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ myHiddenTokenState.restore();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleInheritingHiddens
+
+
+ // $ANTLR start entryRuleHidingHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:523:1: entryRuleHidingHiddens returns [EObject current=null] : iv_ruleHidingHiddens= ruleHidingHiddens EOF ;
+ public final EObject entryRuleHidingHiddens() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleHidingHiddens = null;
+
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:523:55: (iv_ruleHidingHiddens= ruleHidingHiddens EOF )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:524:2: iv_ruleHidingHiddens= ruleHidingHiddens EOF
+ {
+ currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.6" /* xtext::ParserRule */, currentNode);
+ pushFollow(FOLLOW_ruleHidingHiddens_in_entryRuleHidingHiddens1126);
+ iv_ruleHidingHiddens=ruleHidingHiddens();
+ _fsp--;
+
+ current =iv_ruleHidingHiddens;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleHidingHiddens1136);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleHidingHiddens
+
+
+ // $ANTLR start ruleHidingHiddens
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:531:1: ruleHidingHiddens returns [EObject current=null] : ( ( 'hiding' (lv_space= RULE_WS ) ) (lv_called= ruleInheritingHiddensCall ) ) ;
+ public final EObject ruleHidingHiddens() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_space=null;
+ EObject lv_called = null;
+
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:537:6: ( ( ( 'hiding' (lv_space= RULE_WS ) ) (lv_called= ruleInheritingHiddensCall ) ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:538:1: ( ( 'hiding' (lv_space= RULE_WS ) ) (lv_called= ruleInheritingHiddensCall ) )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:538:1: ( ( 'hiding' (lv_space= RULE_WS ) ) (lv_called= ruleInheritingHiddensCall ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:538:2: ( 'hiding' (lv_space= RULE_WS ) ) (lv_called= ruleInheritingHiddensCall )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:538:2: ( 'hiding' (lv_space= RULE_WS ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:538:3: 'hiding' (lv_space= RULE_WS )
+ {
+ match(input,17,FOLLOW_17_in_ruleHidingHiddens1171);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:542:1: (lv_space= RULE_WS )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:544:6: lv_space= RULE_WS
+ {
+ lv_space=(Token)input.LT(1);
+ match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleHidingHiddens1192);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "space");
+
+
+ if (current==null) {
+ current = factory.create("HidingHiddens");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.set(current, "space", lv_space, "WS", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:562:3: (lv_called= ruleInheritingHiddensCall )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:565:6: lv_called= ruleInheritingHiddensCall
+ {
+
+ currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
+
+ pushFollow(FOLLOW_ruleInheritingHiddensCall_in_ruleHidingHiddens1238);
+ lv_called=ruleInheritingHiddensCall();
+ _fsp--;
+
+
+ if (current==null) {
+ current = factory.create("HidingHiddens");
+ associateNodeWithAstElement(currentNode.getParent(), current);
+ }
+
+ try {
+ factory.set(current, "called", lv_called, "InheritingHiddensCall", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+ currentNode = currentNode.getParent();
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+ myHiddenTokenState.restore();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleHidingHiddens
+
+
+ // $ANTLR start entryRuleInheritingHiddensCall
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:592:1: entryRuleInheritingHiddensCall returns [EObject current=null] : iv_ruleInheritingHiddensCall= ruleInheritingHiddensCall EOF ;
+ public final EObject entryRuleInheritingHiddensCall() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInheritingHiddensCall = null;
+
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:592:63: (iv_ruleInheritingHiddensCall= ruleInheritingHiddensCall EOF )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:593:2: iv_ruleInheritingHiddensCall= ruleInheritingHiddensCall EOF
+ {
+ currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.7" /* xtext::ParserRule */, currentNode);
+ pushFollow(FOLLOW_ruleInheritingHiddensCall_in_entryRuleInheritingHiddensCall1277);
+ iv_ruleInheritingHiddensCall=ruleInheritingHiddensCall();
+ _fsp--;
+
+ current =iv_ruleInheritingHiddensCall;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInheritingHiddensCall1287);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end entryRuleInheritingHiddensCall
+
+
+ // $ANTLR start ruleInheritingHiddensCall
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:600:1: ruleInheritingHiddensCall returns [EObject current=null] : ( 'call' (lv_valid= ';' ) ) ;
+ public final EObject ruleInheritingHiddensCall() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_valid=null;
+
+ EObject temp=null; setCurrentLookahead(); resetLookahead();
+
+ try {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:604:6: ( ( 'call' (lv_valid= ';' ) ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:605:1: ( 'call' (lv_valid= ';' ) )
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:605:1: ( 'call' (lv_valid= ';' ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:605:2: 'call' (lv_valid= ';' )
+ {
+ match(input,15,FOLLOW_15_in_ruleInheritingHiddensCall1321);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null);
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:609:1: (lv_valid= ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g:611:6: lv_valid= ';'
+ {
+ lv_valid=(Token)input.LT(1);
+ match(input,10,FOLLOW_10_in_ruleInheritingHiddensCall1342);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.1/@terminal" /* xtext::Keyword */, "valid");
+
+
+ if (current==null) {
+ current = factory.create("InheritingHiddensCall");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ try {
+ factory.set(current, "valid", true, ";", currentNode);
+ } catch (ValueConverterException vce) {
+ handleValueConverterException(vce);
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ resetLookahead();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end ruleInheritingHiddensCall
+
+
+
+
+ public static final BitSet FOLLOW_ruleModel_in_entryRuleModel72 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleModel82 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWithoutHiddens_in_ruleModel131 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWithHiddens_in_ruleModel158 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOverridingHiddens_in_ruleModel186 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInheritingHiddens_in_ruleModel214 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWithoutHiddens_in_entryRuleWithoutHiddens248 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleWithoutHiddens258 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_8_in_ruleWithoutHiddens295 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleWithoutHiddens316 = new BitSet(new long[]{0x0000000000000200L});
+ public static final BitSet FOLLOW_9_in_ruleWithoutHiddens337 = new BitSet(new long[]{0x0000000000000410L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleWithoutHiddens359 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_10_in_ruleWithoutHiddens393 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWithHiddens_in_entryRuleWithHiddens440 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleWithHiddens450 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_11_in_ruleWithHiddens485 = new BitSet(new long[]{0x0000000000000200L});
+ public static final BitSet FOLLOW_9_in_ruleWithHiddens494 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_10_in_ruleWithHiddens516 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOverridingHiddens_in_entryRuleOverridingHiddens563 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleOverridingHiddens573 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_12_in_ruleOverridingHiddens611 = new BitSet(new long[]{0x0000000000000200L});
+ public static final BitSet FOLLOW_9_in_ruleOverridingHiddens620 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_13_in_ruleOverridingHiddens630 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_ruleOverridingHiddensCall_in_ruleOverridingHiddens665 = new BitSet(new long[]{0x0000000000004000L});
+ public static final BitSet FOLLOW_14_in_ruleOverridingHiddens679 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_10_in_ruleOverridingHiddens701 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOverridingHiddensCall_in_entryRuleOverridingHiddensCall748 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleOverridingHiddensCall758 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_15_in_ruleOverridingHiddensCall793 = new BitSet(new long[]{0x0000000000000410L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleOverridingHiddensCall814 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_10_in_ruleOverridingHiddensCall848 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInheritingHiddens_in_entryRuleInheritingHiddens895 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInheritingHiddens905 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_ruleInheritingHiddens943 = new BitSet(new long[]{0x0000000000000200L});
+ public static final BitSet FOLLOW_9_in_ruleInheritingHiddens952 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_13_in_ruleInheritingHiddens962 = new BitSet(new long[]{0x0000000000028000L});
+ public static final BitSet FOLLOW_ruleInheritingHiddensCall_in_ruleInheritingHiddens998 = new BitSet(new long[]{0x0000000000004000L});
+ public static final BitSet FOLLOW_ruleHidingHiddens_in_ruleInheritingHiddens1042 = new BitSet(new long[]{0x0000000000004000L});
+ public static final BitSet FOLLOW_14_in_ruleInheritingHiddens1057 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_10_in_ruleInheritingHiddens1079 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleHidingHiddens_in_entryRuleHidingHiddens1126 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleHidingHiddens1136 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_ruleHidingHiddens1171 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleHidingHiddens1192 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_ruleInheritingHiddensCall_in_ruleHidingHiddens1238 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInheritingHiddensCall_in_entryRuleInheritingHiddensCall1277 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInheritingHiddensCall1287 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_15_in_ruleInheritingHiddensCall1321 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_10_in_ruleInheritingHiddensCall1342 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage__.g
new file mode 100644
index 0000000..13c63bf
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage__.g
@@ -0,0 +1,41 @@
+lexer grammar InternalHiddenTerminalsTestLanguage;
+@header {
+package org.eclipse.xtext.parser.terminalrules.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;
+}
+
+T8 : 'without' ;
+T9 : 'hiddens' ;
+T10 : ';' ;
+T11 : 'with' ;
+T12 : 'overriding' ;
+T13 : '(' ;
+T14 : ')' ;
+T15 : 'call' ;
+T16 : 'inheriting' ;
+T17 : 'hiding' ;
+
+// $ANTLR src "../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g" 663
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+
+
+// $ANTLR src "../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g" 667
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+
+
+// $ANTLR src "../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g" 671
+RULE_WS : (((' '|'\t')|'\r')|'\n')+;
+
+
+
+// $ANTLR src "../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalHiddenTerminalsTestLanguage.g" 675
+RULE_ANY_OTHER : .;
+
+
+
+
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g
index 4072438..be42871 100644
--- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g
@@ -652,11 +652,11 @@ ruleParserRule returns [EObject current=null]
currentNode = currentNode.getParent();
}
-))?)(((((
+))?)((((
lv_definesHiddenTokens='hidden'
{
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::Keyword */, "definesHiddenTokens");
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::Keyword */, "definesHiddenTokens");
}
{
@@ -674,9 +674,9 @@ ruleParserRule returns [EObject current=null]
)'('
{
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
}
-)(
+)((
{
@@ -687,13 +687,13 @@ ruleParserRule returns [EObject current=null]
}
(
RULE_ID {
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "hiddenTokens");
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@terminal" /* xtext::CrossReference */, "hiddenTokens");
}
)
-))(','
+)(','
{
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null);
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null);
}
(
@@ -706,11 +706,11 @@ ruleParserRule returns [EObject current=null]
}
(
RULE_ID {
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "hiddenTokens");
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "hiddenTokens");
}
)
-))*)')'
+))*)?)')'
{
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1" /* xtext::Keyword */, null);
}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguageParser.java
index 5d71b70..8f66203 100644
--- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguageParser.java
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguageParser.java
@@ -1386,7 +1386,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// $ANTLR start ruleParserRule
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:605:1: ruleParserRule returns [EObject current=null] : ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) ;
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:605:1: ruleParserRule returns [EObject current=null] : ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) ;
public final EObject ruleParserRule() throws RecognitionException {
EObject current = null;
@@ -1400,20 +1400,20 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:609:6: ( ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:1: ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:609:6: ( ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:1: ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' )
{
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:1: ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:2: ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';'
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:1: ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:2: ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';'
{
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:2: ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:3: ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:2: ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:3: ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':' ) (lv_alternatives= ruleAlternatives )
{
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:3: ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':' )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:4: ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? ) ':'
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:3: ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:4: ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? ) ':'
{
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:4: ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )? )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:5: ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )?
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:4: ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )? )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:5: ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )?
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:5: ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:610:6: (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )?
@@ -1491,33 +1491,30 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:5: ( ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')' )?
- int alt16=2;
- int LA16_0 = input.LA(1);
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:5: ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')' )?
+ int alt17=2;
+ int LA17_0 = input.LA(1);
- if ( (LA16_0==23) ) {
- alt16=1;
+ if ( (LA17_0==23) ) {
+ alt17=1;
}
- switch (alt16) {
+ switch (alt17) {
case 1 :
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:6: ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* ) ')'
- {
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:6: ( ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )* )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:7: ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) ) ( ',' ( ( RULE_ID ) ) )*
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:6: ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? ) ')'
{
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:7: ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) ) )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:8: ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( RULE_ID ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:6: ( ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )? )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:7: ( (lv_definesHiddenTokens= 'hidden' ) '(' ) ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )?
{
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:8: ( (lv_definesHiddenTokens= 'hidden' ) '(' )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:9: (lv_definesHiddenTokens= 'hidden' ) '('
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:7: ( (lv_definesHiddenTokens= 'hidden' ) '(' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:8: (lv_definesHiddenTokens= 'hidden' ) '('
{
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:9: (lv_definesHiddenTokens= 'hidden' )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:655:8: (lv_definesHiddenTokens= 'hidden' )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:657:6: lv_definesHiddenTokens= 'hidden'
{
lv_definesHiddenTokens=(Token)input.LT(1);
- match(input,23,FOLLOW_23_in_ruleParserRule1432);
+ match(input,23,FOLLOW_23_in_ruleParserRule1431);
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::Keyword */, "definesHiddenTokens");
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::Keyword */, "definesHiddenTokens");
if (current==null) {
@@ -1534,92 +1531,106 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,24,FOLLOW_24_in_ruleParserRule1453);
+ match(input,24,FOLLOW_24_in_ruleParserRule1452);
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
}
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:679:2: ( ( RULE_ID ) )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:682:3: ( RULE_ID )
- {
-
- if (current==null) {
- current = factory.create("ParserRule");
- associateNodeWithAstElement(currentNode, current);
- }
-
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:688:1: ( RULE_ID )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:689:2: RULE_ID
- {
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleParserRule1478);
-
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "hiddenTokens");
-
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:679:2: ( ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )* )?
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+ if ( (LA16_0==RULE_ID) ) {
+ alt16=1;
}
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:679:3: ( ( RULE_ID ) ) ( ',' ( ( RULE_ID ) ) )*
+ {
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:679:3: ( ( RULE_ID ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:682:3: ( RULE_ID )
+ {
+ if (current==null) {
+ current = factory.create("ParserRule");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:688:1: ( RULE_ID )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:689:2: RULE_ID
+ {
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleParserRule1478);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@terminal" /* xtext::CrossReference */, "hiddenTokens");
+
- }
+ }
- }
+ }
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:694:3: ( ',' ( ( RULE_ID ) ) )*
- loop15:
- do {
- int alt15=2;
- int LA15_0 = input.LA(1);
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:694:2: ( ',' ( ( RULE_ID ) ) )*
+ loop15:
+ do {
+ int alt15=2;
+ int LA15_0 = input.LA(1);
- if ( (LA15_0==25) ) {
- alt15=1;
- }
+ if ( (LA15_0==25) ) {
+ alt15=1;
+ }
- switch (alt15) {
- case 1 :
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:694:4: ',' ( ( RULE_ID ) )
- {
- match(input,25,FOLLOW_25_in_ruleParserRule1493);
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:694:3: ',' ( ( RULE_ID ) )
+ {
+ match(input,25,FOLLOW_25_in_ruleParserRule1492);
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null);
-
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:698:1: ( ( RULE_ID ) )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:701:3: ( RULE_ID )
- {
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null);
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:698:1: ( ( RULE_ID ) )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:701:3: ( RULE_ID )
+ {
- if (current==null) {
- current = factory.create("ParserRule");
- associateNodeWithAstElement(currentNode, current);
- }
-
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:707:1: ( RULE_ID )
- // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:708:2: RULE_ID
- {
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleParserRule1517);
-
- createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "hiddenTokens");
-
+ if (current==null) {
+ current = factory.create("ParserRule");
+ associateNodeWithAstElement(currentNode, current);
+ }
+
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:707:1: ( RULE_ID )
+ // ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:708:2: RULE_ID
+ {
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleParserRule1516);
+
+ createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "hiddenTokens");
+
- }
+ }
- }
+ }
- }
- break;
+ }
+ break;
- default :
- break loop15;
- }
- } while (true);
+ default :
+ break loop15;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
}
- match(input,26,FOLLOW_26_in_ruleParserRule1533);
+ match(input,26,FOLLOW_26_in_ruleParserRule1534);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -1632,7 +1643,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,21,FOLLOW_21_in_ruleParserRule1545);
+ match(input,21,FOLLOW_21_in_ruleParserRule1546);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -1645,7 +1656,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAlternatives_in_ruleParserRule1580);
+ pushFollow(FOLLOW_ruleAlternatives_in_ruleParserRule1581);
lv_alternatives=ruleAlternatives();
_fsp--;
@@ -1668,7 +1679,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,22,FOLLOW_22_in_ruleParserRule1594);
+ match(input,22,FOLLOW_22_in_ruleParserRule1595);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -1706,12 +1717,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:756:2: iv_ruleTerminalRule= ruleTerminalRule EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.7" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleTerminalRule_in_entryRuleTerminalRule1629);
+ pushFollow(FOLLOW_ruleTerminalRule_in_entryRuleTerminalRule1630);
iv_ruleTerminalRule=ruleTerminalRule();
_fsp--;
current =iv_ruleTerminalRule;
- match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalRule1639);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalRule1640);
}
@@ -1765,7 +1776,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:770:6: lv_terminal= 'terminal'
{
lv_terminal=(Token)input.LT(1);
- match(input,27,FOLLOW_27_in_ruleTerminalRule1689);
+ match(input,27,FOLLOW_27_in_ruleTerminalRule1690);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::Keyword */, "terminal");
@@ -1788,7 +1799,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:790:6: lv_name= RULE_ID
{
lv_name=(Token)input.LT(1);
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTerminalRule1722);
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTerminalRule1723);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name");
@@ -1811,17 +1822,17 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:808:3: ( 'returns' (lv_type= ruleTypeRef ) )?
- int alt17=2;
- int LA17_0 = input.LA(1);
+ int alt18=2;
+ int LA18_0 = input.LA(1);
- if ( (LA17_0==20) ) {
- alt17=1;
+ if ( (LA18_0==20) ) {
+ alt18=1;
}
- switch (alt17) {
+ switch (alt18) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:808:4: 'returns' (lv_type= ruleTypeRef )
{
- match(input,20,FOLLOW_20_in_ruleTerminalRule1744);
+ match(input,20,FOLLOW_20_in_ruleTerminalRule1745);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null);
@@ -1831,7 +1842,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTypeRef_in_ruleTerminalRule1778);
+ pushFollow(FOLLOW_ruleTypeRef_in_ruleTerminalRule1779);
lv_type=ruleTypeRef();
_fsp--;
@@ -1860,7 +1871,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,21,FOLLOW_21_in_ruleTerminalRule1794);
+ match(input,21,FOLLOW_21_in_ruleTerminalRule1795);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -1873,7 +1884,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalAlternatives_in_ruleTerminalRule1829);
+ pushFollow(FOLLOW_ruleTerminalAlternatives_in_ruleTerminalRule1830);
lv_alternatives=ruleTerminalAlternatives();
_fsp--;
@@ -1896,7 +1907,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,22,FOLLOW_22_in_ruleTerminalRule1843);
+ match(input,22,FOLLOW_22_in_ruleTerminalRule1844);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -1934,12 +1945,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:872:2: iv_ruleTypeRef= ruleTypeRef EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.8" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleTypeRef_in_entryRuleTypeRef1878);
+ pushFollow(FOLLOW_ruleTypeRef_in_entryRuleTypeRef1879);
iv_ruleTypeRef=ruleTypeRef();
_fsp--;
current =iv_ruleTypeRef;
- match(input,EOF,FOLLOW_EOF_in_entryRuleTypeRef1888);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTypeRef1889);
}
@@ -1971,17 +1982,17 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:884:2: ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:884:2: ( ( ( RULE_ID ) ) '::' )?
- int alt18=2;
- int LA18_0 = input.LA(1);
+ int alt19=2;
+ int LA19_0 = input.LA(1);
- if ( (LA18_0==RULE_ID) ) {
- int LA18_1 = input.LA(2);
+ if ( (LA19_0==RULE_ID) ) {
+ int LA19_1 = input.LA(2);
- if ( (LA18_1==28) ) {
- alt18=1;
+ if ( (LA19_1==28) ) {
+ alt19=1;
}
}
- switch (alt18) {
+ switch (alt19) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:884:3: ( ( RULE_ID ) ) '::'
{
@@ -1997,7 +2008,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:893:1: ( RULE_ID )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:894:2: RULE_ID
{
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1938);
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1939);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::CrossReference */, "metamodel");
@@ -2007,7 +2018,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,28,FOLLOW_28_in_ruleTypeRef1951);
+ match(input,28,FOLLOW_28_in_ruleTypeRef1952);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -2029,7 +2040,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:912:1: ( RULE_ID )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:913:2: RULE_ID
{
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1977);
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1978);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "type");
@@ -2073,12 +2084,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:928:2: iv_ruleAlternatives= ruleAlternatives EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.9" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleAlternatives_in_entryRuleAlternatives2016);
+ pushFollow(FOLLOW_ruleAlternatives_in_entryRuleAlternatives2017);
iv_ruleAlternatives=ruleAlternatives();
_fsp--;
current =iv_ruleAlternatives;
- match(input,EOF,FOLLOW_EOF_in_entryRuleAlternatives2026);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAlternatives2027);
}
@@ -2117,7 +2128,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.9/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives2073);
+ pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives2074);
this_Group=ruleGroup();
_fsp--;
@@ -2126,17 +2137,17 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode = currentNode.getParent();
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:949:1: ( ( () '|' ) (lv_groups= ruleGroup ) )*
- loop19:
+ loop20:
do {
- int alt19=2;
- int LA19_0 = input.LA(1);
+ int alt20=2;
+ int LA20_0 = input.LA(1);
- if ( (LA19_0==29) ) {
- alt19=1;
+ if ( (LA20_0==29) ) {
+ alt20=1;
}
- switch (alt19) {
+ switch (alt20) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:949:2: ( () '|' ) (lv_groups= ruleGroup )
{
@@ -2164,7 +2175,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,29,FOLLOW_29_in_ruleAlternatives2092);
+ match(input,29,FOLLOW_29_in_ruleAlternatives2093);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.9/@alternatives/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -2177,7 +2188,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.9/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives2127);
+ pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives2128);
lv_groups=ruleGroup();
_fsp--;
@@ -2202,7 +2213,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
break;
default :
- break loop19;
+ break loop20;
}
} while (true);
@@ -2240,12 +2251,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1000:2: iv_ruleTerminalAlternatives= ruleTerminalAlternatives EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.10" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleTerminalAlternatives_in_entryRuleTerminalAlternatives2168);
+ pushFollow(FOLLOW_ruleTerminalAlternatives_in_entryRuleTerminalAlternatives2169);
iv_ruleTerminalAlternatives=ruleTerminalAlternatives();
_fsp--;
current =iv_ruleTerminalAlternatives;
- match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalAlternatives2178);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalAlternatives2179);
}
@@ -2284,7 +2295,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalGroup_in_ruleTerminalAlternatives2225);
+ pushFollow(FOLLOW_ruleTerminalGroup_in_ruleTerminalAlternatives2226);
this_TerminalGroup=ruleTerminalGroup();
_fsp--;
@@ -2293,17 +2304,17 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode = currentNode.getParent();
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1021:1: ( ( () '|' ) (lv_groups= ruleTerminalGroup ) )*
- loop20:
+ loop21:
do {
- int alt20=2;
- int LA20_0 = input.LA(1);
+ int alt21=2;
+ int LA21_0 = input.LA(1);
- if ( (LA20_0==29) ) {
- alt20=1;
+ if ( (LA21_0==29) ) {
+ alt21=1;
}
- switch (alt20) {
+ switch (alt21) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1021:2: ( () '|' ) (lv_groups= ruleTerminalGroup )
{
@@ -2331,7 +2342,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,29,FOLLOW_29_in_ruleTerminalAlternatives2244);
+ match(input,29,FOLLOW_29_in_ruleTerminalAlternatives2245);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -2344,7 +2355,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalGroup_in_ruleTerminalAlternatives2279);
+ pushFollow(FOLLOW_ruleTerminalGroup_in_ruleTerminalAlternatives2280);
lv_groups=ruleTerminalGroup();
_fsp--;
@@ -2369,7 +2380,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
break;
default :
- break loop20;
+ break loop21;
}
} while (true);
@@ -2407,12 +2418,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1072:2: iv_ruleGroup= ruleGroup EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.11" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleGroup_in_entryRuleGroup2320);
+ pushFollow(FOLLOW_ruleGroup_in_entryRuleGroup2321);
iv_ruleGroup=ruleGroup();
_fsp--;
current =iv_ruleGroup;
- match(input,EOF,FOLLOW_EOF_in_entryRuleGroup2330);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleGroup2331);
}
@@ -2451,7 +2462,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup2377);
+ pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup2378);
this_AbstractToken=ruleAbstractToken();
_fsp--;
@@ -2460,17 +2471,17 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode = currentNode.getParent();
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1093:1: ( () (lv_abstractTokens= ruleAbstractToken ) )*
- loop21:
+ loop22:
do {
- int alt21=2;
- int LA21_0 = input.LA(1);
+ int alt22=2;
+ int LA22_0 = input.LA(1);
- if ( ((LA21_0>=RULE_ID && LA21_0<=RULE_STRING)||LA21_0==24||LA21_0==36||LA21_0==42) ) {
- alt21=1;
+ if ( ((LA22_0>=RULE_ID && LA22_0<=RULE_STRING)||LA22_0==24||LA22_0==36||LA22_0==42) ) {
+ alt22=1;
}
- switch (alt21) {
+ switch (alt22) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1093:2: () (lv_abstractTokens= ruleAbstractToken )
{
@@ -2501,7 +2512,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup2420);
+ pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup2421);
lv_abstractTokens=ruleAbstractToken();
_fsp--;
@@ -2526,7 +2537,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
break;
default :
- break loop21;
+ break loop22;
}
} while (true);
@@ -2564,12 +2575,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1140:2: iv_ruleTerminalGroup= ruleTerminalGroup EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.12" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleTerminalGroup_in_entryRuleTerminalGroup2461);
+ pushFollow(FOLLOW_ruleTerminalGroup_in_entryRuleTerminalGroup2462);
iv_ruleTerminalGroup=ruleTerminalGroup();
_fsp--;
current =iv_ruleTerminalGroup;
- match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalGroup2471);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalGroup2472);
}
@@ -2608,7 +2619,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalToken_in_ruleTerminalGroup2518);
+ pushFollow(FOLLOW_ruleTerminalToken_in_ruleTerminalGroup2519);
this_TerminalToken=ruleTerminalToken();
_fsp--;
@@ -2617,17 +2628,17 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode = currentNode.getParent();
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1161:1: ( () (lv_abstractTokens= ruleTerminalToken ) )*
- loop22:
+ loop23:
do {
- int alt22=2;
- int LA22_0 = input.LA(1);
+ int alt23=2;
+ int LA23_0 = input.LA(1);
- if ( ((LA22_0>=RULE_ID && LA22_0<=RULE_STRING)||LA22_0==13||LA22_0==24||(LA22_0>=39 && LA22_0<=40)) ) {
- alt22=1;
+ if ( ((LA23_0>=RULE_ID && LA23_0<=RULE_STRING)||LA23_0==13||LA23_0==24||(LA23_0>=39 && LA23_0<=40)) ) {
+ alt23=1;
}
- switch (alt22) {
+ switch (alt23) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1161:2: () (lv_abstractTokens= ruleTerminalToken )
{
@@ -2658,7 +2669,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalToken_in_ruleTerminalGroup2561);
+ pushFollow(FOLLOW_ruleTerminalToken_in_ruleTerminalGroup2562);
lv_abstractTokens=ruleTerminalToken();
_fsp--;
@@ -2683,7 +2694,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
break;
default :
- break loop22;
+ break loop23;
}
} while (true);
@@ -2721,12 +2732,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1208:2: iv_ruleAbstractToken= ruleAbstractToken EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.13" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken2602);
+ pushFollow(FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken2603);
iv_ruleAbstractToken=ruleAbstractToken();
_fsp--;
current =iv_ruleAbstractToken;
- match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractToken2612);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractToken2613);
}
@@ -2766,21 +2777,21 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1220:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )?
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1220:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )
- int alt24=2;
+ int alt25=2;
switch ( input.LA(1) ) {
case RULE_ID:
{
- int LA24_1 = input.LA(2);
+ int LA25_1 = input.LA(2);
- if ( ((LA24_1>=33 && LA24_1<=35)) ) {
- alt24=1;
+ if ( (LA25_1==EOF||(LA25_1>=RULE_ID && LA25_1<=RULE_STRING)||LA25_1==22||LA25_1==24||LA25_1==26||(LA25_1>=29 && LA25_1<=32)||LA25_1==36||LA25_1==42) ) {
+ alt25=2;
}
- else if ( (LA24_1==EOF||(LA24_1>=RULE_ID && LA24_1<=RULE_STRING)||LA24_1==22||LA24_1==24||LA24_1==26||(LA24_1>=29 && LA24_1<=32)||LA24_1==36||LA24_1==42) ) {
- alt24=2;
+ else if ( ((LA25_1>=33 && LA25_1<=35)) ) {
+ alt25=1;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1220:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 24, 1, input);
+ new NoViableAltException("1220:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 25, 1, input);
throw nvae;
}
@@ -2788,51 +2799,51 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
break;
case 36:
{
- alt24=1;
+ alt25=1;
}
break;
case RULE_STRING:
case 24:
case 42:
{
- alt24=2;
+ alt25=2;
}
break;
default:
NoViableAltException nvae =
- new NoViableAltException("1220:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 24, 0, input);
+ new NoViableAltException("1220:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 25, 0, input);
throw nvae;
}
- switch (alt24) {
+ switch (alt25) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1220:3: (this_Assignment= ruleAssignment | this_Action= ruleAction )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1220:3: (this_Assignment= ruleAssignment | this_Action= ruleAction )
- int alt23=2;
- int LA23_0 = input.LA(1);
+ int alt24=2;
+ int LA24_0 = input.LA(1);
- if ( (LA23_0==RULE_ID) ) {
- alt23=1;
+ if ( (LA24_0==RULE_ID) ) {
+ alt24=1;
}
- else if ( (LA23_0==36) ) {
- alt23=2;
+ else if ( (LA24_0==36) ) {
+ alt24=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1220:3: (this_Assignment= ruleAssignment | this_Action= ruleAction )", 23, 0, input);
+ new NoViableAltException("1220:3: (this_Assignment= ruleAssignment | this_Action= ruleAction )", 24, 0, input);
throw nvae;
}
- switch (alt23) {
+ switch (alt24) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1221:5: this_Assignment= ruleAssignment
{
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.13/@alternatives/@abstractTokens.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAssignment_in_ruleAbstractToken2661);
+ pushFollow(FOLLOW_ruleAssignment_in_ruleAbstractToken2662);
this_Assignment=ruleAssignment();
_fsp--;
@@ -2849,7 +2860,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.13/@alternatives/@abstractTokens.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAction_in_ruleAbstractToken2688);
+ pushFollow(FOLLOW_ruleAction_in_ruleAbstractToken2689);
this_Action=ruleAction();
_fsp--;
@@ -2872,7 +2883,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.13/@alternatives/@abstractTokens.0/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2716);
+ pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2717);
this_AbstractTerminal=ruleAbstractTerminal();
_fsp--;
@@ -2887,57 +2898,57 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1249:2: (lv_cardinality= ( ( '?' | '*' ) | '+' ) )?
- int alt27=2;
- int LA27_0 = input.LA(1);
+ int alt28=2;
+ int LA28_0 = input.LA(1);
- if ( ((LA27_0>=30 && LA27_0<=32)) ) {
- alt27=1;
+ if ( ((LA28_0>=30 && LA28_0<=32)) ) {
+ alt28=1;
}
- switch (alt27) {
+ switch (alt28) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1251:6: lv_cardinality= ( ( '?' | '*' ) | '+' )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1251:21: ( ( '?' | '*' ) | '+' )
- int alt26=2;
- int LA26_0 = input.LA(1);
+ int alt27=2;
+ int LA27_0 = input.LA(1);
- if ( ((LA26_0>=30 && LA26_0<=31)) ) {
- alt26=1;
+ if ( ((LA27_0>=30 && LA27_0<=31)) ) {
+ alt27=1;
}
- else if ( (LA26_0==32) ) {
- alt26=2;
+ else if ( (LA27_0==32) ) {
+ alt27=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1251:21: ( ( '?' | '*' ) | '+' )", 26, 0, input);
+ new NoViableAltException("1251:21: ( ( '?' | '*' ) | '+' )", 27, 0, input);
throw nvae;
}
- switch (alt26) {
+ switch (alt27) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1251:22: ( '?' | '*' )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1251:22: ( '?' | '*' )
- int alt25=2;
- int LA25_0 = input.LA(1);
+ int alt26=2;
+ int LA26_0 = input.LA(1);
- if ( (LA25_0==30) ) {
- alt25=1;
+ if ( (LA26_0==30) ) {
+ alt26=1;
}
- else if ( (LA25_0==31) ) {
- alt25=2;
+ else if ( (LA26_0==31) ) {
+ alt26=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1251:22: ( '?' | '*' )", 25, 0, input);
+ new NoViableAltException("1251:22: ( '?' | '*' )", 26, 0, input);
throw nvae;
}
- switch (alt25) {
+ switch (alt26) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1251:23: '?'
{
- match(input,30,FOLLOW_30_in_ruleAbstractToken2739);
+ match(input,30,FOLLOW_30_in_ruleAbstractToken2740);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.13/@alternatives/@abstractTokens.1/@terminal/@groups.0/@groups.0" /* xtext::Keyword */, "cardinality");
@@ -2947,7 +2958,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
case 2 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1256:6: '*'
{
- match(input,31,FOLLOW_31_in_ruleAbstractToken2754);
+ match(input,31,FOLLOW_31_in_ruleAbstractToken2755);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.13/@alternatives/@abstractTokens.1/@terminal/@groups.0/@groups.1" /* xtext::Keyword */, "cardinality");
@@ -2963,7 +2974,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
case 2 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1261:6: '+'
{
- match(input,32,FOLLOW_32_in_ruleAbstractToken2770);
+ match(input,32,FOLLOW_32_in_ruleAbstractToken2771);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.13/@alternatives/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "cardinality");
@@ -3025,12 +3036,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1289:2: iv_ruleTerminalToken= ruleTerminalToken EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.14" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleTerminalToken_in_entryRuleTerminalToken2819);
+ pushFollow(FOLLOW_ruleTerminalToken_in_entryRuleTerminalToken2820);
iv_ruleTerminalToken=ruleTerminalToken();
_fsp--;
current =iv_ruleTerminalToken;
- match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalToken2829);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalToken2830);
}
@@ -3068,7 +3079,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalTokenElement_in_ruleTerminalToken2876);
+ pushFollow(FOLLOW_ruleTerminalTokenElement_in_ruleTerminalToken2877);
this_TerminalTokenElement=ruleTerminalTokenElement();
_fsp--;
@@ -3077,57 +3088,57 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode = currentNode.getParent();
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1310:1: (lv_cardinality= ( ( '?' | '*' ) | '+' ) )?
- int alt30=2;
- int LA30_0 = input.LA(1);
+ int alt31=2;
+ int LA31_0 = input.LA(1);
- if ( ((LA30_0>=30 && LA30_0<=32)) ) {
- alt30=1;
+ if ( ((LA31_0>=30 && LA31_0<=32)) ) {
+ alt31=1;
}
- switch (alt30) {
+ switch (alt31) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1312:6: lv_cardinality= ( ( '?' | '*' ) | '+' )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1312:21: ( ( '?' | '*' ) | '+' )
- int alt29=2;
- int LA29_0 = input.LA(1);
+ int alt30=2;
+ int LA30_0 = input.LA(1);
- if ( ((LA29_0>=30 && LA29_0<=31)) ) {
- alt29=1;
+ if ( ((LA30_0>=30 && LA30_0<=31)) ) {
+ alt30=1;
}
- else if ( (LA29_0==32) ) {
- alt29=2;
+ else if ( (LA30_0==32) ) {
+ alt30=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1312:21: ( ( '?' | '*' ) | '+' )", 29, 0, input);
+ new NoViableAltException("1312:21: ( ( '?' | '*' ) | '+' )", 30, 0, input);
throw nvae;
}
- switch (alt29) {
+ switch (alt30) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1312:22: ( '?' | '*' )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1312:22: ( '?' | '*' )
- int alt28=2;
- int LA28_0 = input.LA(1);
+ int alt29=2;
+ int LA29_0 = input.LA(1);
- if ( (LA28_0==30) ) {
- alt28=1;
+ if ( (LA29_0==30) ) {
+ alt29=1;
}
- else if ( (LA28_0==31) ) {
- alt28=2;
+ else if ( (LA29_0==31) ) {
+ alt29=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1312:22: ( '?' | '*' )", 28, 0, input);
+ new NoViableAltException("1312:22: ( '?' | '*' )", 29, 0, input);
throw nvae;
}
- switch (alt28) {
+ switch (alt29) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1312:23: '?'
{
- match(input,30,FOLLOW_30_in_ruleTerminalToken2898);
+ match(input,30,FOLLOW_30_in_ruleTerminalToken2899);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.1/@terminal/@groups.0/@groups.0" /* xtext::Keyword */, "cardinality");
@@ -3137,7 +3148,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
case 2 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1317:6: '*'
{
- match(input,31,FOLLOW_31_in_ruleTerminalToken2913);
+ match(input,31,FOLLOW_31_in_ruleTerminalToken2914);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.1/@terminal/@groups.0/@groups.1" /* xtext::Keyword */, "cardinality");
@@ -3153,7 +3164,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
case 2 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1322:6: '+'
{
- match(input,32,FOLLOW_32_in_ruleTerminalToken2929);
+ match(input,32,FOLLOW_32_in_ruleTerminalToken2930);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "cardinality");
@@ -3215,12 +3226,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1350:2: iv_ruleAssignment= ruleAssignment EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.15" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleAssignment_in_entryRuleAssignment2978);
+ pushFollow(FOLLOW_ruleAssignment_in_entryRuleAssignment2979);
iv_ruleAssignment=ruleAssignment();
_fsp--;
current =iv_ruleAssignment;
- match(input,EOF,FOLLOW_EOF_in_entryRuleAssignment2988);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAssignment2989);
}
@@ -3263,7 +3274,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1364:6: lv_feature= RULE_ID
{
lv_feature=(Token)input.LT(1);
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAssignment3035);
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAssignment3036);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "feature");
@@ -3286,46 +3297,46 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1384:6: lv_operator= ( ( '+=' | '=' ) | '?=' )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1384:18: ( ( '+=' | '=' ) | '?=' )
- int alt32=2;
- int LA32_0 = input.LA(1);
+ int alt33=2;
+ int LA33_0 = input.LA(1);
- if ( ((LA32_0>=33 && LA32_0<=34)) ) {
- alt32=1;
+ if ( ((LA33_0>=33 && LA33_0<=34)) ) {
+ alt33=1;
}
- else if ( (LA32_0==35) ) {
- alt32=2;
+ else if ( (LA33_0==35) ) {
+ alt33=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1384:18: ( ( '+=' | '=' ) | '?=' )", 32, 0, input);
+ new NoViableAltException("1384:18: ( ( '+=' | '=' ) | '?=' )", 33, 0, input);
throw nvae;
}
- switch (alt32) {
+ switch (alt33) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1384:19: ( '+=' | '=' )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1384:19: ( '+=' | '=' )
- int alt31=2;
- int LA31_0 = input.LA(1);
+ int alt32=2;
+ int LA32_0 = input.LA(1);
- if ( (LA31_0==33) ) {
- alt31=1;
+ if ( (LA32_0==33) ) {
+ alt32=1;
}
- else if ( (LA31_0==34) ) {
- alt31=2;
+ else if ( (LA32_0==34) ) {
+ alt32=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1384:19: ( '+=' | '=' )", 31, 0, input);
+ new NoViableAltException("1384:19: ( '+=' | '=' )", 32, 0, input);
throw nvae;
}
- switch (alt31) {
+ switch (alt32) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1384:20: '+='
{
- match(input,33,FOLLOW_33_in_ruleAssignment3069);
+ match(input,33,FOLLOW_33_in_ruleAssignment3070);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0/@groups.0" /* xtext::Keyword */, "operator");
@@ -3335,7 +3346,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
case 2 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1389:6: '='
{
- match(input,34,FOLLOW_34_in_ruleAssignment3084);
+ match(input,34,FOLLOW_34_in_ruleAssignment3085);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0/@groups.1" /* xtext::Keyword */, "operator");
@@ -3351,7 +3362,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
case 2 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1394:6: '?='
{
- match(input,35,FOLLOW_35_in_ruleAssignment3100);
+ match(input,35,FOLLOW_35_in_ruleAssignment3101);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "operator");
@@ -3385,7 +3396,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAssignment3148);
+ pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAssignment3149);
lv_terminal=ruleAbstractTerminal();
_fsp--;
@@ -3439,12 +3450,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1443:2: iv_ruleAction= ruleAction EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleAction_in_entryRuleAction3187);
+ pushFollow(FOLLOW_ruleAction_in_entryRuleAction3188);
iv_ruleAction=ruleAction();
_fsp--;
current =iv_ruleAction;
- match(input,EOF,FOLLOW_EOF_in_entryRuleAction3197);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAction3198);
}
@@ -3498,26 +3509,26 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1455:7: ( '{' ( 'current' '=' )? )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1455:8: '{' ( 'current' '=' )?
{
- match(input,36,FOLLOW_36_in_ruleAction3237);
+ match(input,36,FOLLOW_36_in_ruleAction3238);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1459:1: ( 'current' '=' )?
- int alt33=2;
- int LA33_0 = input.LA(1);
+ int alt34=2;
+ int LA34_0 = input.LA(1);
- if ( (LA33_0==37) ) {
- alt33=1;
+ if ( (LA34_0==37) ) {
+ alt34=1;
}
- switch (alt33) {
+ switch (alt34) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1459:2: 'current' '='
{
- match(input,37,FOLLOW_37_in_ruleAction3247);
+ match(input,37,FOLLOW_37_in_ruleAction3248);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null);
- match(input,34,FOLLOW_34_in_ruleAction3256);
+ match(input,34,FOLLOW_34_in_ruleAction3257);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -3536,7 +3547,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTypeRef_in_ruleAction3293);
+ pushFollow(FOLLOW_ruleTypeRef_in_ruleAction3294);
lv_typeName=ruleTypeRef();
_fsp--;
@@ -3559,7 +3570,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,13,FOLLOW_13_in_ruleAction3307);
+ match(input,13,FOLLOW_13_in_ruleAction3308);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -3570,7 +3581,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1494:6: lv_feature= RULE_ID
{
lv_feature=(Token)input.LT(1);
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAction3329);
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAction3330);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "feature");
@@ -3596,26 +3607,26 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1514:6: lv_operator= ( '=' | '+=' )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1514:18: ( '=' | '+=' )
- int alt34=2;
- int LA34_0 = input.LA(1);
+ int alt35=2;
+ int LA35_0 = input.LA(1);
- if ( (LA34_0==34) ) {
- alt34=1;
+ if ( (LA35_0==34) ) {
+ alt35=1;
}
- else if ( (LA34_0==33) ) {
- alt34=2;
+ else if ( (LA35_0==33) ) {
+ alt35=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1514:18: ( '=' | '+=' )", 34, 0, input);
+ new NoViableAltException("1514:18: ( '=' | '+=' )", 35, 0, input);
throw nvae;
}
- switch (alt34) {
+ switch (alt35) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1514:19: '='
{
- match(input,34,FOLLOW_34_in_ruleAction3363);
+ match(input,34,FOLLOW_34_in_ruleAction3364);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0" /* xtext::Keyword */, "operator");
@@ -3625,7 +3636,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
case 2 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1519:6: '+='
{
- match(input,33,FOLLOW_33_in_ruleAction3378);
+ match(input,33,FOLLOW_33_in_ruleAction3379);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "operator");
@@ -3653,14 +3664,14 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,37,FOLLOW_37_in_ruleAction3401);
+ match(input,37,FOLLOW_37_in_ruleAction3402);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
}
- match(input,38,FOLLOW_38_in_ruleAction3411);
+ match(input,38,FOLLOW_38_in_ruleAction3412);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.16/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -3698,12 +3709,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1555:2: iv_ruleAbstractTerminal= ruleAbstractTerminal EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.17" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal3446);
+ pushFollow(FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal3447);
iv_ruleAbstractTerminal=ruleAbstractTerminal();
_fsp--;
current =iv_ruleAbstractTerminal;
- match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractTerminal3456);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractTerminal3457);
}
@@ -3741,69 +3752,69 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1567:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1567:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference )
- int alt37=2;
- int LA37_0 = input.LA(1);
+ int alt38=2;
+ int LA38_0 = input.LA(1);
- if ( ((LA37_0>=RULE_ID && LA37_0<=RULE_STRING)||LA37_0==24) ) {
- alt37=1;
+ if ( ((LA38_0>=RULE_ID && LA38_0<=RULE_STRING)||LA38_0==24) ) {
+ alt38=1;
}
- else if ( (LA37_0==42) ) {
- alt37=2;
+ else if ( (LA38_0==42) ) {
+ alt38=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1567:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference )", 37, 0, input);
+ new NoViableAltException("1567:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference )", 38, 0, input);
throw nvae;
}
- switch (alt37) {
+ switch (alt38) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1567:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1567:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement )
- int alt36=2;
- int LA36_0 = input.LA(1);
+ int alt37=2;
+ int LA37_0 = input.LA(1);
- if ( ((LA36_0>=RULE_ID && LA36_0<=RULE_STRING)) ) {
- alt36=1;
+ if ( ((LA37_0>=RULE_ID && LA37_0<=RULE_STRING)) ) {
+ alt37=1;
}
- else if ( (LA36_0==24) ) {
- alt36=2;
+ else if ( (LA37_0==24) ) {
+ alt37=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1567:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement )", 36, 0, input);
+ new NoViableAltException("1567:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement )", 37, 0, input);
throw nvae;
}
- switch (alt36) {
+ switch (alt37) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1567:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1567:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall )
- int alt35=2;
- int LA35_0 = input.LA(1);
+ int alt36=2;
+ int LA36_0 = input.LA(1);
- if ( (LA35_0==RULE_STRING) ) {
- alt35=1;
+ if ( (LA36_0==RULE_STRING) ) {
+ alt36=1;
}
- else if ( (LA35_0==RULE_ID) ) {
- alt35=2;
+ else if ( (LA36_0==RULE_ID) ) {
+ alt36=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1567:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall )", 35, 0, input);
+ new NoViableAltException("1567:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall )", 36, 0, input);
throw nvae;
}
- switch (alt35) {
+ switch (alt36) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1568:5: this_Keyword= ruleKeyword
{
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.17/@alternatives/@groups.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleKeyword_in_ruleAbstractTerminal3505);
+ pushFollow(FOLLOW_ruleKeyword_in_ruleAbstractTerminal3506);
this_Keyword=ruleKeyword();
_fsp--;
@@ -3820,7 +3831,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.17/@alternatives/@groups.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleRuleCall_in_ruleAbstractTerminal3532);
+ pushFollow(FOLLOW_ruleRuleCall_in_ruleAbstractTerminal3533);
this_RuleCall=ruleRuleCall();
_fsp--;
@@ -3843,7 +3854,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.17/@alternatives/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal3560);
+ pushFollow(FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal3561);
this_ParenthesizedElement=ruleParenthesizedElement();
_fsp--;
@@ -3866,7 +3877,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.17/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleCrossReference_in_ruleAbstractTerminal3588);
+ pushFollow(FOLLOW_ruleCrossReference_in_ruleAbstractTerminal3589);
this_CrossReference=ruleCrossReference();
_fsp--;
@@ -3911,12 +3922,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1616:2: iv_ruleTerminalTokenElement= ruleTerminalTokenElement EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.18" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleTerminalTokenElement_in_entryRuleTerminalTokenElement3622);
+ pushFollow(FOLLOW_ruleTerminalTokenElement_in_entryRuleTerminalTokenElement3623);
iv_ruleTerminalTokenElement=ruleTerminalTokenElement();
_fsp--;
current =iv_ruleTerminalTokenElement;
- match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalTokenElement3632);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalTokenElement3633);
}
@@ -3956,89 +3967,89 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1628:1: ( ( ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement ) | this_AbstractNegatedToken= ruleAbstractNegatedToken ) | this_Wildcard= ruleWildcard )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1628:1: ( ( ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement ) | this_AbstractNegatedToken= ruleAbstractNegatedToken ) | this_Wildcard= ruleWildcard )
- int alt41=2;
- int LA41_0 = input.LA(1);
+ int alt42=2;
+ int LA42_0 = input.LA(1);
- if ( ((LA41_0>=RULE_ID && LA41_0<=RULE_STRING)||LA41_0==24||(LA41_0>=39 && LA41_0<=40)) ) {
- alt41=1;
+ if ( ((LA42_0>=RULE_ID && LA42_0<=RULE_STRING)||LA42_0==24||(LA42_0>=39 && LA42_0<=40)) ) {
+ alt42=1;
}
- else if ( (LA41_0==13) ) {
- alt41=2;
+ else if ( (LA42_0==13) ) {
+ alt42=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1628:1: ( ( ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement ) | this_AbstractNegatedToken= ruleAbstractNegatedToken ) | this_Wildcard= ruleWildcard )", 41, 0, input);
+ new NoViableAltException("1628:1: ( ( ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement ) | this_AbstractNegatedToken= ruleAbstractNegatedToken ) | this_Wildcard= ruleWildcard )", 42, 0, input);
throw nvae;
}
- switch (alt41) {
+ switch (alt42) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1628:2: ( ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement ) | this_AbstractNegatedToken= ruleAbstractNegatedToken )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1628:2: ( ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement ) | this_AbstractNegatedToken= ruleAbstractNegatedToken )
- int alt40=2;
- int LA40_0 = input.LA(1);
+ int alt41=2;
+ int LA41_0 = input.LA(1);
- if ( ((LA40_0>=RULE_ID && LA40_0<=RULE_STRING)||LA40_0==24) ) {
- alt40=1;
+ if ( ((LA41_0>=RULE_ID && LA41_0<=RULE_STRING)||LA41_0==24) ) {
+ alt41=1;
}
- else if ( ((LA40_0>=39 && LA40_0<=40)) ) {
- alt40=2;
+ else if ( ((LA41_0>=39 && LA41_0<=40)) ) {
+ alt41=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1628:2: ( ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement ) | this_AbstractNegatedToken= ruleAbstractNegatedToken )", 40, 0, input);
+ new NoViableAltException("1628:2: ( ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement ) | this_AbstractNegatedToken= ruleAbstractNegatedToken )", 41, 0, input);
throw nvae;
}
- switch (alt40) {
+ switch (alt41) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1628:3: ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1628:3: ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement )
- int alt39=2;
- int LA39_0 = input.LA(1);
+ int alt40=2;
+ int LA40_0 = input.LA(1);
- if ( ((LA39_0>=RULE_ID && LA39_0<=RULE_STRING)) ) {
- alt39=1;
+ if ( ((LA40_0>=RULE_ID && LA40_0<=RULE_STRING)) ) {
+ alt40=1;
}
- else if ( (LA39_0==24) ) {
- alt39=2;
+ else if ( (LA40_0==24) ) {
+ alt40=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1628:3: ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement )", 39, 0, input);
+ new NoViableAltException("1628:3: ( (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall ) | this_ParenthesizedTerminalElement= ruleParenthesizedTerminalElement )", 40, 0, input);
throw nvae;
}
- switch (alt39) {
+ switch (alt40) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1628:4: (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1628:4: (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall )
- int alt38=2;
- int LA38_0 = input.LA(1);
+ int alt39=2;
+ int LA39_0 = input.LA(1);
- if ( (LA38_0==RULE_STRING) ) {
- alt38=1;
+ if ( (LA39_0==RULE_STRING) ) {
+ alt39=1;
}
- else if ( (LA38_0==RULE_ID) ) {
- alt38=2;
+ else if ( (LA39_0==RULE_ID) ) {
+ alt39=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1628:4: (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall )", 38, 0, input);
+ new NoViableAltException("1628:4: (this_CharacterRange= ruleCharacterRange | this_RuleCall= ruleRuleCall )", 39, 0, input);
throw nvae;
}
- switch (alt38) {
+ switch (alt39) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1629:5: this_CharacterRange= ruleCharacterRange
{
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.18/@alternatives/@groups.0/@groups.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleCharacterRange_in_ruleTerminalTokenElement3682);
+ pushFollow(FOLLOW_ruleCharacterRange_in_ruleTerminalTokenElement3683);
this_CharacterRange=ruleCharacterRange();
_fsp--;
@@ -4055,7 +4066,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.18/@alternatives/@groups.0/@groups.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleRuleCall_in_ruleTerminalTokenElement3709);
+ pushFollow(FOLLOW_ruleRuleCall_in_ruleTerminalTokenElement3710);
this_RuleCall=ruleRuleCall();
_fsp--;
@@ -4078,7 +4089,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.18/@alternatives/@groups.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleParenthesizedTerminalElement_in_ruleTerminalTokenElement3737);
+ pushFollow(FOLLOW_ruleParenthesizedTerminalElement_in_ruleTerminalTokenElement3738);
this_ParenthesizedTerminalElement=ruleParenthesizedTerminalElement();
_fsp--;
@@ -4101,7 +4112,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.18/@alternatives/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAbstractNegatedToken_in_ruleTerminalTokenElement3765);
+ pushFollow(FOLLOW_ruleAbstractNegatedToken_in_ruleTerminalTokenElement3766);
this_AbstractNegatedToken=ruleAbstractNegatedToken();
_fsp--;
@@ -4124,7 +4135,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.18/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleWildcard_in_ruleTerminalTokenElement3793);
+ pushFollow(FOLLOW_ruleWildcard_in_ruleTerminalTokenElement3794);
this_Wildcard=ruleWildcard();
_fsp--;
@@ -4169,12 +4180,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1687:2: iv_ruleAbstractNegatedToken= ruleAbstractNegatedToken EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.19" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleAbstractNegatedToken_in_entryRuleAbstractNegatedToken3827);
+ pushFollow(FOLLOW_ruleAbstractNegatedToken_in_entryRuleAbstractNegatedToken3828);
iv_ruleAbstractNegatedToken=ruleAbstractNegatedToken();
_fsp--;
current =iv_ruleAbstractNegatedToken;
- match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractNegatedToken3837);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractNegatedToken3838);
}
@@ -4208,29 +4219,29 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1699:1: (this_NegatedToken= ruleNegatedToken | this_UpToToken= ruleUpToToken )
{
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1699:1: (this_NegatedToken= ruleNegatedToken | this_UpToToken= ruleUpToToken )
- int alt42=2;
- int LA42_0 = input.LA(1);
+ int alt43=2;
+ int LA43_0 = input.LA(1);
- if ( (LA42_0==39) ) {
- alt42=1;
+ if ( (LA43_0==39) ) {
+ alt43=1;
}
- else if ( (LA42_0==40) ) {
- alt42=2;
+ else if ( (LA43_0==40) ) {
+ alt43=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("1699:1: (this_NegatedToken= ruleNegatedToken | this_UpToToken= ruleUpToToken )", 42, 0, input);
+ new NoViableAltException("1699:1: (this_NegatedToken= ruleNegatedToken | this_UpToToken= ruleUpToToken )", 43, 0, input);
throw nvae;
}
- switch (alt42) {
+ switch (alt43) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1700:5: this_NegatedToken= ruleNegatedToken
{
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.19/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleNegatedToken_in_ruleAbstractNegatedToken3884);
+ pushFollow(FOLLOW_ruleNegatedToken_in_ruleAbstractNegatedToken3885);
this_NegatedToken=ruleNegatedToken();
_fsp--;
@@ -4247,7 +4258,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.19/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleUpToToken_in_ruleAbstractNegatedToken3911);
+ pushFollow(FOLLOW_ruleUpToToken_in_ruleAbstractNegatedToken3912);
this_UpToToken=ruleUpToToken();
_fsp--;
@@ -4292,12 +4303,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1728:2: iv_ruleNegatedToken= ruleNegatedToken EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.20" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleNegatedToken_in_entryRuleNegatedToken3945);
+ pushFollow(FOLLOW_ruleNegatedToken_in_entryRuleNegatedToken3946);
iv_ruleNegatedToken=ruleNegatedToken();
_fsp--;
current =iv_ruleNegatedToken;
- match(input,EOF,FOLLOW_EOF_in_entryRuleNegatedToken3955);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNegatedToken3956);
}
@@ -4331,7 +4342,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1740:1: ( '!' (lv_terminal= ruleTerminalTokenElement ) )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1740:2: '!' (lv_terminal= ruleTerminalTokenElement )
{
- match(input,39,FOLLOW_39_in_ruleNegatedToken3989);
+ match(input,39,FOLLOW_39_in_ruleNegatedToken3990);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.20/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null);
@@ -4341,7 +4352,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.20/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalTokenElement_in_ruleNegatedToken4023);
+ pushFollow(FOLLOW_ruleTerminalTokenElement_in_ruleNegatedToken4024);
lv_terminal=ruleTerminalTokenElement();
_fsp--;
@@ -4395,12 +4406,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1775:2: iv_ruleUpToToken= ruleUpToToken EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.21" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleUpToToken_in_entryRuleUpToToken4062);
+ pushFollow(FOLLOW_ruleUpToToken_in_entryRuleUpToToken4063);
iv_ruleUpToToken=ruleUpToToken();
_fsp--;
current =iv_ruleUpToToken;
- match(input,EOF,FOLLOW_EOF_in_entryRuleUpToToken4072);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleUpToToken4073);
}
@@ -4434,7 +4445,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1787:1: ( '->' (lv_terminal= ruleTerminalTokenElement ) )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1787:2: '->' (lv_terminal= ruleTerminalTokenElement )
{
- match(input,40,FOLLOW_40_in_ruleUpToToken4106);
+ match(input,40,FOLLOW_40_in_ruleUpToToken4107);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.21/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null);
@@ -4444,7 +4455,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.21/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalTokenElement_in_ruleUpToToken4140);
+ pushFollow(FOLLOW_ruleTerminalTokenElement_in_ruleUpToToken4141);
lv_terminal=ruleTerminalTokenElement();
_fsp--;
@@ -4498,12 +4509,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1822:2: iv_ruleWildcard= ruleWildcard EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.22" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleWildcard_in_entryRuleWildcard4179);
+ pushFollow(FOLLOW_ruleWildcard_in_entryRuleWildcard4180);
iv_ruleWildcard=ruleWildcard();
_fsp--;
current =iv_ruleWildcard;
- match(input,EOF,FOLLOW_EOF_in_entryRuleWildcard4189);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleWildcard4190);
}
@@ -4537,7 +4548,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1836:6: lv_isWildcard= '.'
{
lv_isWildcard=(Token)input.LT(1);
- match(input,13,FOLLOW_13_in_ruleWildcard4234);
+ match(input,13,FOLLOW_13_in_ruleWildcard4235);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.22/@alternatives/@terminal" /* xtext::Keyword */, "isWildcard");
@@ -4587,12 +4598,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1864:2: iv_ruleCharacterRange= ruleCharacterRange EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.23" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleCharacterRange_in_entryRuleCharacterRange4280);
+ pushFollow(FOLLOW_ruleCharacterRange_in_entryRuleCharacterRange4281);
iv_ruleCharacterRange=ruleCharacterRange();
_fsp--;
current =iv_ruleCharacterRange;
- match(input,EOF,FOLLOW_EOF_in_entryRuleCharacterRange4290);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleCharacterRange4291);
}
@@ -4631,7 +4642,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.23/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleKeyword_in_ruleCharacterRange4337);
+ pushFollow(FOLLOW_ruleKeyword_in_ruleCharacterRange4338);
this_Keyword=ruleKeyword();
_fsp--;
@@ -4640,13 +4651,13 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode = currentNode.getParent();
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1885:1: ( ( () '..' ) (lv_right= ruleKeyword ) )?
- int alt43=2;
- int LA43_0 = input.LA(1);
+ int alt44=2;
+ int LA44_0 = input.LA(1);
- if ( (LA43_0==41) ) {
- alt43=1;
+ if ( (LA44_0==41) ) {
+ alt44=1;
}
- switch (alt43) {
+ switch (alt44) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1885:2: ( () '..' ) (lv_right= ruleKeyword )
{
@@ -4674,7 +4685,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,41,FOLLOW_41_in_ruleCharacterRange4356);
+ match(input,41,FOLLOW_41_in_ruleCharacterRange4357);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.23/@alternatives/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -4687,7 +4698,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.23/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleKeyword_in_ruleCharacterRange4391);
+ pushFollow(FOLLOW_ruleKeyword_in_ruleCharacterRange4392);
lv_right=ruleKeyword();
_fsp--;
@@ -4747,12 +4758,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1936:2: iv_ruleCrossReference= ruleCrossReference EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.24" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleCrossReference_in_entryRuleCrossReference4432);
+ pushFollow(FOLLOW_ruleCrossReference_in_entryRuleCrossReference4433);
iv_ruleCrossReference=ruleCrossReference();
_fsp--;
current =iv_ruleCrossReference;
- match(input,EOF,FOLLOW_EOF_in_entryRuleCrossReference4442);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleCrossReference4443);
}
@@ -4792,7 +4803,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1948:3: ( '[' (lv_type= ruleTypeRef ) )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1948:4: '[' (lv_type= ruleTypeRef )
{
- match(input,42,FOLLOW_42_in_ruleCrossReference4478);
+ match(input,42,FOLLOW_42_in_ruleCrossReference4479);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.24/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
@@ -4802,7 +4813,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.24/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTypeRef_in_ruleCrossReference4512);
+ pushFollow(FOLLOW_ruleTypeRef_in_ruleCrossReference4513);
lv_type=ruleTypeRef();
_fsp--;
@@ -4826,17 +4837,17 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1973:3: ( '|' ( ( RULE_ID ) ) )?
- int alt44=2;
- int LA44_0 = input.LA(1);
+ int alt45=2;
+ int LA45_0 = input.LA(1);
- if ( (LA44_0==29) ) {
- alt44=1;
+ if ( (LA45_0==29) ) {
+ alt45=1;
}
- switch (alt44) {
+ switch (alt45) {
case 1 :
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1973:4: '|' ( ( RULE_ID ) )
{
- match(input,29,FOLLOW_29_in_ruleCrossReference4527);
+ match(input,29,FOLLOW_29_in_ruleCrossReference4528);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.24/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null);
@@ -4852,7 +4863,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1986:1: ( RULE_ID )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:1987:2: RULE_ID
{
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCrossReference4551);
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCrossReference4552);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.24/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "rule");
@@ -4871,7 +4882,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,43,FOLLOW_43_in_ruleCrossReference4567);
+ match(input,43,FOLLOW_43_in_ruleCrossReference4568);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.24/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -4909,12 +4920,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2006:2: iv_ruleParenthesizedElement= ruleParenthesizedElement EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.25" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement4602);
+ pushFollow(FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement4603);
iv_ruleParenthesizedElement=ruleParenthesizedElement();
_fsp--;
current =iv_ruleParenthesizedElement;
- match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedElement4612);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedElement4613);
}
@@ -4951,14 +4962,14 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2018:2: ( '(' this_Alternatives= ruleAlternatives )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2018:3: '(' this_Alternatives= ruleAlternatives
{
- match(input,24,FOLLOW_24_in_ruleParenthesizedElement4647);
+ match(input,24,FOLLOW_24_in_ruleParenthesizedElement4648);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.25/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.25/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleAlternatives_in_ruleParenthesizedElement4669);
+ pushFollow(FOLLOW_ruleAlternatives_in_ruleParenthesizedElement4670);
this_Alternatives=ruleAlternatives();
_fsp--;
@@ -4969,7 +4980,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,26,FOLLOW_26_in_ruleParenthesizedElement4678);
+ match(input,26,FOLLOW_26_in_ruleParenthesizedElement4679);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.25/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -5007,12 +5018,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2045:2: iv_ruleParenthesizedTerminalElement= ruleParenthesizedTerminalElement EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.26" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleParenthesizedTerminalElement_in_entryRuleParenthesizedTerminalElement4713);
+ pushFollow(FOLLOW_ruleParenthesizedTerminalElement_in_entryRuleParenthesizedTerminalElement4714);
iv_ruleParenthesizedTerminalElement=ruleParenthesizedTerminalElement();
_fsp--;
current =iv_ruleParenthesizedTerminalElement;
- match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedTerminalElement4723);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedTerminalElement4724);
}
@@ -5049,14 +5060,14 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2057:2: ( '(' this_TerminalAlternatives= ruleTerminalAlternatives )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2057:3: '(' this_TerminalAlternatives= ruleTerminalAlternatives
{
- match(input,24,FOLLOW_24_in_ruleParenthesizedTerminalElement4758);
+ match(input,24,FOLLOW_24_in_ruleParenthesizedTerminalElement4759);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.26/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null);
currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.26/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::RuleCall */, currentNode);
- pushFollow(FOLLOW_ruleTerminalAlternatives_in_ruleParenthesizedTerminalElement4780);
+ pushFollow(FOLLOW_ruleTerminalAlternatives_in_ruleParenthesizedTerminalElement4781);
this_TerminalAlternatives=ruleTerminalAlternatives();
_fsp--;
@@ -5067,7 +5078,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
}
- match(input,26,FOLLOW_26_in_ruleParenthesizedTerminalElement4789);
+ match(input,26,FOLLOW_26_in_ruleParenthesizedTerminalElement4790);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.26/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null);
@@ -5105,12 +5116,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2084:2: iv_ruleKeyword= ruleKeyword EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.27" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleKeyword_in_entryRuleKeyword4824);
+ pushFollow(FOLLOW_ruleKeyword_in_entryRuleKeyword4825);
iv_ruleKeyword=ruleKeyword();
_fsp--;
current =iv_ruleKeyword;
- match(input,EOF,FOLLOW_EOF_in_entryRuleKeyword4834);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleKeyword4835);
}
@@ -5144,7 +5155,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2098:6: lv_value= RULE_STRING
{
lv_value=(Token)input.LT(1);
- match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleKeyword4879);
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleKeyword4880);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.27/@alternatives/@terminal" /* xtext::RuleCall */, "value");
@@ -5194,12 +5205,12 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2126:2: iv_ruleRuleCall= ruleRuleCall EOF
{
currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.28" /* xtext::ParserRule */, currentNode);
- pushFollow(FOLLOW_ruleRuleCall_in_entryRuleRuleCall4924);
+ pushFollow(FOLLOW_ruleRuleCall_in_entryRuleRuleCall4925);
iv_ruleRuleCall=ruleRuleCall();
_fsp--;
current =iv_ruleRuleCall;
- match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCall4934);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCall4935);
}
@@ -5239,7 +5250,7 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2147:1: ( RULE_ID )
// ../org.eclipse.xtext.generator.tests//src-gen/org/eclipse/xtext/parser/terminalrules/parser/antlr/internal/InternalXtextTerminalsTestLanguage.g:2148:2: RULE_ID
{
- match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleCall4982);
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuleCall4983);
createLeafNode("classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xmi#//@rules.28/@alternatives/@terminal" /* xtext::CrossReference */, "rule");
@@ -5319,135 +5330,135 @@ public class InternalXtextTerminalsTestLanguageParser extends AbstractInternalAn
public static final BitSet FOLLOW_RULE_ID_in_ruleParserRule1345 = new BitSet(new long[]{0x0000000000B00000L});
public static final BitSet FOLLOW_20_in_ruleParserRule1366 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleTypeRef_in_ruleParserRule1400 = new BitSet(new long[]{0x0000000000A00000L});
- public static final BitSet FOLLOW_23_in_ruleParserRule1432 = new BitSet(new long[]{0x0000000001000000L});
- public static final BitSet FOLLOW_24_in_ruleParserRule1453 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_23_in_ruleParserRule1431 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleParserRule1452 = new BitSet(new long[]{0x0000000004000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleParserRule1478 = new BitSet(new long[]{0x0000000006000000L});
- public static final BitSet FOLLOW_25_in_ruleParserRule1493 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleParserRule1517 = new BitSet(new long[]{0x0000000006000000L});
- public static final BitSet FOLLOW_26_in_ruleParserRule1533 = new BitSet(new long[]{0x0000000000200000L});
- public static final BitSet FOLLOW_21_in_ruleParserRule1545 = new BitSet(new long[]{0x0000041001000030L});
- public static final BitSet FOLLOW_ruleAlternatives_in_ruleParserRule1580 = new BitSet(new long[]{0x0000000000400000L});
- public static final BitSet FOLLOW_22_in_ruleParserRule1594 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTerminalRule_in_entryRuleTerminalRule1629 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleTerminalRule1639 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_27_in_ruleTerminalRule1689 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleTerminalRule1722 = new BitSet(new long[]{0x0000000000300000L});
- public static final BitSet FOLLOW_20_in_ruleTerminalRule1744 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_ruleTypeRef_in_ruleTerminalRule1778 = new BitSet(new long[]{0x0000000000200000L});
- public static final BitSet FOLLOW_21_in_ruleTerminalRule1794 = new BitSet(new long[]{0x0000018001002030L});
- public static final BitSet FOLLOW_ruleTerminalAlternatives_in_ruleTerminalRule1829 = new BitSet(new long[]{0x0000000000400000L});
- public static final BitSet FOLLOW_22_in_ruleTerminalRule1843 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTypeRef_in_entryRuleTypeRef1878 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleTypeRef1888 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef1938 = new BitSet(new long[]{0x0000000010000000L});
- public static final BitSet FOLLOW_28_in_ruleTypeRef1951 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef1977 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleAlternatives_in_entryRuleAlternatives2016 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleAlternatives2026 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleGroup_in_ruleAlternatives2073 = new BitSet(new long[]{0x0000000020000002L});
- public static final BitSet FOLLOW_29_in_ruleAlternatives2092 = new BitSet(new long[]{0x0000041001000030L});
- public static final BitSet FOLLOW_ruleGroup_in_ruleAlternatives2127 = new BitSet(new long[]{0x0000000020000002L});
- public static final BitSet FOLLOW_ruleTerminalAlternatives_in_entryRuleTerminalAlternatives2168 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleTerminalAlternatives2178 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTerminalGroup_in_ruleTerminalAlternatives2225 = new BitSet(new long[]{0x0000000020000002L});
- public static final BitSet FOLLOW_29_in_ruleTerminalAlternatives2244 = new BitSet(new long[]{0x0000018001002030L});
- public static final BitSet FOLLOW_ruleTerminalGroup_in_ruleTerminalAlternatives2279 = new BitSet(new long[]{0x0000000020000002L});
- public static final BitSet FOLLOW_ruleGroup_in_entryRuleGroup2320 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleGroup2330 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleAbstractToken_in_ruleGroup2377 = new BitSet(new long[]{0x0000041001000032L});
- public static final BitSet FOLLOW_ruleAbstractToken_in_ruleGroup2420 = new BitSet(new long[]{0x0000041001000032L});
- public static final BitSet FOLLOW_ruleTerminalGroup_in_entryRuleTerminalGroup2461 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleTerminalGroup2471 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTerminalToken_in_ruleTerminalGroup2518 = new BitSet(new long[]{0x0000018001002032L});
- public static final BitSet FOLLOW_ruleTerminalToken_in_ruleTerminalGroup2561 = new BitSet(new long[]{0x0000018001002032L});
- public static final BitSet FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken2602 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleAbstractToken2612 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleAssignment_in_ruleAbstractToken2661 = new BitSet(new long[]{0x00000001C0000002L});
- public static final BitSet FOLLOW_ruleAction_in_ruleAbstractToken2688 = new BitSet(new long[]{0x00000001C0000002L});
- public static final BitSet FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2716 = new BitSet(new long[]{0x00000001C0000002L});
- public static final BitSet FOLLOW_30_in_ruleAbstractToken2739 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_31_in_ruleAbstractToken2754 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_32_in_ruleAbstractToken2770 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTerminalToken_in_entryRuleTerminalToken2819 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleTerminalToken2829 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTerminalTokenElement_in_ruleTerminalToken2876 = new BitSet(new long[]{0x00000001C0000002L});
- public static final BitSet FOLLOW_30_in_ruleTerminalToken2898 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_31_in_ruleTerminalToken2913 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_32_in_ruleTerminalToken2929 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleAssignment_in_entryRuleAssignment2978 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleAssignment2988 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleAssignment3035 = new BitSet(new long[]{0x0000000E00000000L});
- public static final BitSet FOLLOW_33_in_ruleAssignment3069 = new BitSet(new long[]{0x0000040001000030L});
- public static final BitSet FOLLOW_34_in_ruleAssignment3084 = new BitSet(new long[]{0x0000040001000030L});
- public static final BitSet FOLLOW_35_in_ruleAssignment3100 = new BitSet(new long[]{0x0000040001000030L});
- public static final BitSet FOLLOW_ruleAbstractTerminal_in_ruleAssignment3148 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleAction_in_entryRuleAction3187 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleAction3197 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_36_in_ruleAction3237 = new BitSet(new long[]{0x0000002000000010L});
- public static final BitSet FOLLOW_37_in_ruleAction3247 = new BitSet(new long[]{0x0000000400000000L});
- public static final BitSet FOLLOW_34_in_ruleAction3256 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_ruleTypeRef_in_ruleAction3293 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_13_in_ruleAction3307 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleAction3329 = new BitSet(new long[]{0x0000000600000000L});
- public static final BitSet FOLLOW_34_in_ruleAction3363 = new BitSet(new long[]{0x0000002000000000L});
- public static final BitSet FOLLOW_33_in_ruleAction3378 = new BitSet(new long[]{0x0000002000000000L});
- public static final BitSet FOLLOW_37_in_ruleAction3401 = new BitSet(new long[]{0x0000004000000000L});
- public static final BitSet FOLLOW_38_in_ruleAction3411 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal3446 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleAbstractTerminal3456 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleKeyword_in_ruleAbstractTerminal3505 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleRuleCall_in_ruleAbstractTerminal3532 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal3560 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleCrossReference_in_ruleAbstractTerminal3588 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTerminalTokenElement_in_entryRuleTerminalTokenElement3622 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleTerminalTokenElement3632 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleCharacterRange_in_ruleTerminalTokenElement3682 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleRuleCall_in_ruleTerminalTokenElement3709 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleParenthesizedTerminalElement_in_ruleTerminalTokenElement3737 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleAbstractNegatedToken_in_ruleTerminalTokenElement3765 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleWildcard_in_ruleTerminalTokenElement3793 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleAbstractNegatedToken_in_entryRuleAbstractNegatedToken3827 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleAbstractNegatedToken3837 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleNegatedToken_in_ruleAbstractNegatedToken3884 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleUpToToken_in_ruleAbstractNegatedToken3911 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleNegatedToken_in_entryRuleNegatedToken3945 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleNegatedToken3955 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_39_in_ruleNegatedToken3989 = new BitSet(new long[]{0x0000018001002030L});
- public static final BitSet FOLLOW_ruleTerminalTokenElement_in_ruleNegatedToken4023 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleUpToToken_in_entryRuleUpToToken4062 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleUpToToken4072 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_40_in_ruleUpToToken4106 = new BitSet(new long[]{0x0000018001002030L});
- public static final BitSet FOLLOW_ruleTerminalTokenElement_in_ruleUpToToken4140 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleWildcard_in_entryRuleWildcard4179 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleWildcard4189 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_13_in_ruleWildcard4234 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleCharacterRange_in_entryRuleCharacterRange4280 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleCharacterRange4290 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleKeyword_in_ruleCharacterRange4337 = new BitSet(new long[]{0x0000020000000002L});
- public static final BitSet FOLLOW_41_in_ruleCharacterRange4356 = new BitSet(new long[]{0x0000000000000020L});
- public static final BitSet FOLLOW_ruleKeyword_in_ruleCharacterRange4391 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleCrossReference_in_entryRuleCrossReference4432 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleCrossReference4442 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_42_in_ruleCrossReference4478 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_ruleTypeRef_in_ruleCrossReference4512 = new BitSet(new long[]{0x0000080020000000L});
- public static final BitSet FOLLOW_29_in_ruleCrossReference4527 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleCrossReference4551 = new BitSet(new long[]{0x0000080000000000L});
- public static final BitSet FOLLOW_43_in_ruleCrossReference4567 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement4602 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleParenthesizedElement4612 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_24_in_ruleParenthesizedElement4647 = new BitSet(new long[]{0x0000041001000030L});
- public static final BitSet FOLLOW_ruleAlternatives_in_ruleParenthesizedElement4669 = new BitSet(new long[]{0x0000000004000000L});
- public static final BitSet FOLLOW_26_in_ruleParenthesizedElement4678 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleParenthesizedTerminalElement_in_entryRuleParenthesizedTerminalElement4713 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleParenthesizedTerminalElement4723 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_24_in_ruleParenthesizedTerminalElement4758 = new BitSet(new long[]{0x0000018001002030L});
- public static final BitSet FOLLOW_ruleTerminalAlternatives_in_ruleParenthesizedTerminalElement4780 = new BitSet(new long[]{0x0000000004000000L});
- public static final BitSet FOLLOW_26_in_ruleParenthesizedTerminalElement4789 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleKeyword_in_entryRuleKeyword4824 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleKeyword4834 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RULE_STRING_in_ruleKeyword4879 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleRuleCall_in_entryRuleRuleCall4924 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleRuleCall4934 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleRuleCall4982 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_ruleParserRule1492 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleParserRule1516 = new BitSet(new long[]{0x0000000006000000L});
+ public static final BitSet FOLLOW_26_in_ruleParserRule1534 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_21_in_ruleParserRule1546 = new BitSet(new long[]{0x0000041001000030L});
+ public static final BitSet FOLLOW_ruleAlternatives_in_ruleParserRule1581 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_22_in_ruleParserRule1595 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTerminalRule_in_entryRuleTerminalRule1630 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTerminalRule1640 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_27_in_ruleTerminalRule1690 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleTerminalRule1723 = new BitSet(new long[]{0x0000000000300000L});
+ public static final BitSet FOLLOW_20_in_ruleTerminalRule1745 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleTypeRef_in_ruleTerminalRule1779 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_21_in_ruleTerminalRule1795 = new BitSet(new long[]{0x0000018001002030L});
+ public static final BitSet FOLLOW_ruleTerminalAlternatives_in_ruleTerminalRule1830 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_22_in_ruleTerminalRule1844 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTypeRef_in_entryRuleTypeRef1879 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTypeRef1889 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef1939 = new BitSet(new long[]{0x0000000010000000L});
+ public static final BitSet FOLLOW_28_in_ruleTypeRef1952 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef1978 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAlternatives_in_entryRuleAlternatives2017 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAlternatives2027 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleGroup_in_ruleAlternatives2074 = new BitSet(new long[]{0x0000000020000002L});
+ public static final BitSet FOLLOW_29_in_ruleAlternatives2093 = new BitSet(new long[]{0x0000041001000030L});
+ public static final BitSet FOLLOW_ruleGroup_in_ruleAlternatives2128 = new BitSet(new long[]{0x0000000020000002L});
+ public static final BitSet FOLLOW_ruleTerminalAlternatives_in_entryRuleTerminalAlternatives2169 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTerminalAlternatives2179 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTerminalGroup_in_ruleTerminalAlternatives2226 = new BitSet(new long[]{0x0000000020000002L});
+ public static final BitSet FOLLOW_29_in_ruleTerminalAlternatives2245 = new BitSet(new long[]{0x0000018001002030L});
+ public static final BitSet FOLLOW_ruleTerminalGroup_in_ruleTerminalAlternatives2280 = new BitSet(new long[]{0x0000000020000002L});
+ public static final BitSet FOLLOW_ruleGroup_in_entryRuleGroup2321 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleGroup2331 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAbstractToken_in_ruleGroup2378 = new BitSet(new long[]{0x0000041001000032L});
+ public static final BitSet FOLLOW_ruleAbstractToken_in_ruleGroup2421 = new BitSet(new long[]{0x0000041001000032L});
+ public static final BitSet FOLLOW_ruleTerminalGroup_in_entryRuleTerminalGroup2462 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTerminalGroup2472 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTerminalToken_in_ruleTerminalGroup2519 = new BitSet(new long[]{0x0000018001002032L});
+ public static final BitSet FOLLOW_ruleTerminalToken_in_ruleTerminalGroup2562 = new BitSet(new long[]{0x0000018001002032L});
+ public static final BitSet FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken2603 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAbstractToken2613 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAssignment_in_ruleAbstractToken2662 = new BitSet(new long[]{0x00000001C0000002L});
+ public static final BitSet FOLLOW_ruleAction_in_ruleAbstractToken2689 = new BitSet(new long[]{0x00000001C0000002L});
+ public static final BitSet FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2717 = new BitSet(new long[]{0x00000001C0000002L});
+ public static final BitSet FOLLOW_30_in_ruleAbstractToken2740 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_ruleAbstractToken2755 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_32_in_ruleAbstractToken2771 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTerminalToken_in_entryRuleTerminalToken2820 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTerminalToken2830 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTerminalTokenElement_in_ruleTerminalToken2877 = new BitSet(new long[]{0x00000001C0000002L});
+ public static final BitSet FOLLOW_30_in_ruleTerminalToken2899 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_ruleTerminalToken2914 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_32_in_ruleTerminalToken2930 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAssignment_in_entryRuleAssignment2979 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAssignment2989 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAssignment3036 = new BitSet(new long[]{0x0000000E00000000L});
+ public static final BitSet FOLLOW_33_in_ruleAssignment3070 = new BitSet(new long[]{0x0000040001000030L});
+ public static final BitSet FOLLOW_34_in_ruleAssignment3085 = new BitSet(new long[]{0x0000040001000030L});
+ public static final BitSet FOLLOW_35_in_ruleAssignment3101 = new BitSet(new long[]{0x0000040001000030L});
+ public static final BitSet FOLLOW_ruleAbstractTerminal_in_ruleAssignment3149 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAction_in_entryRuleAction3188 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAction3198 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_36_in_ruleAction3238 = new BitSet(new long[]{0x0000002000000010L});
+ public static final BitSet FOLLOW_37_in_ruleAction3248 = new BitSet(new long[]{0x0000000400000000L});
+ public static final BitSet FOLLOW_34_in_ruleAction3257 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleTypeRef_in_ruleAction3294 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_13_in_ruleAction3308 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAction3330 = new BitSet(new long[]{0x0000000600000000L});
+ public static final BitSet FOLLOW_34_in_ruleAction3364 = new BitSet(new long[]{0x0000002000000000L});
+ public static final BitSet FOLLOW_33_in_ruleAction3379 = new BitSet(new long[]{0x0000002000000000L});
+ public static final BitSet FOLLOW_37_in_ruleAction3402 = new BitSet(new long[]{0x0000004000000000L});
+ public static final BitSet FOLLOW_38_in_ruleAction3412 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal3447 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAbstractTerminal3457 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleKeyword_in_ruleAbstractTerminal3506 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRuleCall_in_ruleAbstractTerminal3533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal3561 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCrossReference_in_ruleAbstractTerminal3589 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTerminalTokenElement_in_entryRuleTerminalTokenElement3623 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTerminalTokenElement3633 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCharacterRange_in_ruleTerminalTokenElement3683 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRuleCall_in_ruleTerminalTokenElement3710 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParenthesizedTerminalElement_in_ruleTerminalTokenElement3738 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAbstractNegatedToken_in_ruleTerminalTokenElement3766 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWildcard_in_ruleTerminalTokenElement3794 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAbstractNegatedToken_in_entryRuleAbstractNegatedToken3828 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAbstractNegatedToken3838 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNegatedToken_in_ruleAbstractNegatedToken3885 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUpToToken_in_ruleAbstractNegatedToken3912 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNegatedToken_in_entryRuleNegatedToken3946 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNegatedToken3956 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_ruleNegatedToken3990 = new BitSet(new long[]{0x0000018001002030L});
+ public static final BitSet FOLLOW_ruleTerminalTokenElement_in_ruleNegatedToken4024 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUpToToken_in_entryRuleUpToToken4063 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUpToToken4073 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_40_in_ruleUpToToken4107 = new BitSet(new long[]{0x0000018001002030L});
+ public static final BitSet FOLLOW_ruleTerminalTokenElement_in_ruleUpToToken4141 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWildcard_in_entryRuleWildcard4180 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleWildcard4190 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_13_in_ruleWildcard4235 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCharacterRange_in_entryRuleCharacterRange4281 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCharacterRange4291 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleKeyword_in_ruleCharacterRange4338 = new BitSet(new long[]{0x0000020000000002L});
+ public static final BitSet FOLLOW_41_in_ruleCharacterRange4357 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_ruleKeyword_in_ruleCharacterRange4392 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCrossReference_in_entryRuleCrossReference4433 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCrossReference4443 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_42_in_ruleCrossReference4479 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleTypeRef_in_ruleCrossReference4513 = new BitSet(new long[]{0x0000080020000000L});
+ public static final BitSet FOLLOW_29_in_ruleCrossReference4528 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleCrossReference4552 = new BitSet(new long[]{0x0000080000000000L});
+ public static final BitSet FOLLOW_43_in_ruleCrossReference4568 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement4603 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleParenthesizedElement4613 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleParenthesizedElement4648 = new BitSet(new long[]{0x0000041001000030L});
+ public static final BitSet FOLLOW_ruleAlternatives_in_ruleParenthesizedElement4670 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_26_in_ruleParenthesizedElement4679 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParenthesizedTerminalElement_in_entryRuleParenthesizedTerminalElement4714 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleParenthesizedTerminalElement4724 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleParenthesizedTerminalElement4759 = new BitSet(new long[]{0x0000018001002030L});
+ public static final BitSet FOLLOW_ruleTerminalAlternatives_in_ruleParenthesizedTerminalElement4781 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_26_in_ruleParenthesizedTerminalElement4790 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleKeyword_in_entryRuleKeyword4825 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleKeyword4835 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleKeyword4880 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRuleCall_in_entryRuleRuleCall4925 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRuleCall4935 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleRuleCall4983 = new BitSet(new long[]{0x0000000000000002L});
} \ No newline at end of file
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguageDelimiters.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguageDelimiters.java
new file mode 100644
index 0000000..52e9ec7
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguageDelimiters.java
@@ -0,0 +1,20 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat;
+
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.matching.SetBasedKeywordMatcher;
+
+public final class HiddenTerminalsTestLanguageDelimiters {
+
+ private HiddenTerminalsTestLanguageDelimiters() {
+ throw new UnsupportedOperationException("Utility classes may not be initialized");
+ }
+
+ public static ICharacterClass keyword$17$Delimiter = ICharacterClass.Factory.nullClass();
+
+ public static ISequenceMatcher ruleCall$19$Delimiter = ISequenceMatcher.Factory.nullMatcher();
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguagePackratParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguagePackratParser.java
new file mode 100644
index 0000000..bb59016
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguagePackratParser.java
@@ -0,0 +1,22 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat;
+
+import org.eclipse.xtext.parser.packrat.AbstractPackratParser;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+public class HiddenTerminalsTestLanguagePackratParser extends AbstractPackratParser {
+
+ @Override
+ protected HiddenTerminalsTestLanguageParserConfiguration createParserConfiguration(ICharSequenceWithOffset input,
+ IMarkerFactory markerFactory, IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler,
+ IConsumerUtility consumerUtil) {
+ return new HiddenTerminalsTestLanguageParserConfiguration(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil);
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguageParserConfiguration.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguageParserConfiguration.java
new file mode 100644
index 0000000..6e85a6a
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/HiddenTerminalsTestLanguageParserConfiguration.java
@@ -0,0 +1,185 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat;
+
+import org.eclipse.xtext.parser.packrat.AbstractParserConfiguration;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.INonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageModelConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageWithoutHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageWithHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageOverridingHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageOverridingHiddensCallConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageInheritingHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageHidingHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageInheritingHiddensCallConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageML_COMMENTConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageSL_COMMENTConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageWSConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageANY_OTHERConsumer;
+
+public class HiddenTerminalsTestLanguageParserConfiguration extends AbstractParserConfiguration {
+
+ private HiddenTerminalsTestLanguageModelConsumer modelConsumer;
+ private HiddenTerminalsTestLanguageWithoutHiddensConsumer withoutHiddensConsumer;
+ private HiddenTerminalsTestLanguageWithHiddensConsumer withHiddensConsumer;
+ private HiddenTerminalsTestLanguageOverridingHiddensConsumer overridingHiddensConsumer;
+ private HiddenTerminalsTestLanguageOverridingHiddensCallConsumer overridingHiddensCallConsumer;
+ private HiddenTerminalsTestLanguageInheritingHiddensConsumer inheritingHiddensConsumer;
+ private HiddenTerminalsTestLanguageHidingHiddensConsumer hidingHiddensConsumer;
+ private HiddenTerminalsTestLanguageInheritingHiddensCallConsumer inheritingHiddensCallConsumer;
+ private HiddenTerminalsTestLanguageML_COMMENTConsumer mlCommentConsumer;
+ private HiddenTerminalsTestLanguageSL_COMMENTConsumer slCommentConsumer;
+ private HiddenTerminalsTestLanguageWSConsumer wsConsumer;
+ private HiddenTerminalsTestLanguageANY_OTHERConsumer anyOtherConsumer;
+
+ public HiddenTerminalsTestLanguageParserConfiguration(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil);
+ }
+
+ public HiddenTerminalsTestLanguageModelConsumer getRootConsumer() {
+ return modelConsumer;
+ }
+
+ public void createNonTerminalConsumers() {
+ modelConsumer = new HiddenTerminalsTestLanguageModelConsumer(
+ getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(), null
+ );
+ withoutHiddensConsumer = new HiddenTerminalsTestLanguageWithoutHiddensConsumer(
+ getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(), null
+ );
+ withHiddensConsumer = new HiddenTerminalsTestLanguageWithHiddensConsumer(
+ getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(),
+ new ITerminalConsumer[]{ getWsConsumer(), getMlCommentConsumer(), getSlCommentConsumer() }
+ );
+ overridingHiddensConsumer = new HiddenTerminalsTestLanguageOverridingHiddensConsumer(
+ getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(),
+ new ITerminalConsumer[]{ getWsConsumer(), getMlCommentConsumer(), getSlCommentConsumer() }
+ );
+ overridingHiddensCallConsumer = new HiddenTerminalsTestLanguageOverridingHiddensCallConsumer(
+ getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(),
+ new ITerminalConsumer[]{ }
+ );
+ inheritingHiddensConsumer = new HiddenTerminalsTestLanguageInheritingHiddensConsumer(
+ getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(),
+ new ITerminalConsumer[]{ getWsConsumer(), getMlCommentConsumer(), getSlCommentConsumer() }
+ );
+ hidingHiddensConsumer = new HiddenTerminalsTestLanguageHidingHiddensConsumer(
+ getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(),
+ new ITerminalConsumer[]{ }
+ );
+ inheritingHiddensCallConsumer = new HiddenTerminalsTestLanguageInheritingHiddensCallConsumer(
+ getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(), null
+ );
+ }
+
+ public void createTerminalConsumers() {
+ mlCommentConsumer = new HiddenTerminalsTestLanguageML_COMMENTConsumer(getInput(), getMarkerFactory(), getTokenAcceptor());
+ slCommentConsumer = new HiddenTerminalsTestLanguageSL_COMMENTConsumer(getInput(), getMarkerFactory(), getTokenAcceptor());
+ wsConsumer = new HiddenTerminalsTestLanguageWSConsumer(getInput(), getMarkerFactory(), getTokenAcceptor());
+ anyOtherConsumer = new HiddenTerminalsTestLanguageANY_OTHERConsumer(getInput(), getMarkerFactory(), getTokenAcceptor());
+ }
+
+ public void configureConsumers() {
+ getModelConsumer().setInheritingHiddensConsumer(getInheritingHiddensConsumer());
+ getModelConsumer().setOverridingHiddensConsumer(getOverridingHiddensConsumer());
+ getModelConsumer().setWithHiddensConsumer(getWithHiddensConsumer());
+ getModelConsumer().setWithoutHiddensConsumer(getWithoutHiddensConsumer());
+
+ getWithoutHiddensConsumer().setWsConsumer(getWsConsumer());
+
+ getOverridingHiddensConsumer().setOverridingHiddensCallConsumer(getOverridingHiddensCallConsumer());
+
+ getOverridingHiddensCallConsumer().setWsConsumer(getWsConsumer());
+
+ getInheritingHiddensConsumer().setHidingHiddensConsumer(getHidingHiddensConsumer());
+ getInheritingHiddensConsumer().setInheritingHiddensCallConsumer(getInheritingHiddensCallConsumer());
+
+ getHidingHiddensConsumer().setInheritingHiddensCallConsumer(getInheritingHiddensCallConsumer());
+ getHidingHiddensConsumer().setWsConsumer(getWsConsumer());
+
+ getWithoutHiddensConsumer().setKeyword$5$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getWithoutHiddensConsumer().setKeyword$8$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getWithoutHiddensConsumer().setKeyword$12$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getWithoutHiddensConsumer().setRuleCall$7$Delimiter(HiddenTerminalsTestLanguageDelimiters.ruleCall$19$Delimiter);
+ getWithoutHiddensConsumer().setRuleCall$10$Delimiter(HiddenTerminalsTestLanguageDelimiters.ruleCall$19$Delimiter);
+ getWithHiddensConsumer().setKeyword$3$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getWithHiddensConsumer().setKeyword$4$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getWithHiddensConsumer().setKeyword$6$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getOverridingHiddensConsumer().setKeyword$6$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getOverridingHiddensConsumer().setKeyword$7$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getOverridingHiddensConsumer().setKeyword$8$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getOverridingHiddensConsumer().setKeyword$11$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getOverridingHiddensConsumer().setKeyword$13$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getOverridingHiddensCallConsumer().setKeyword$3$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getOverridingHiddensCallConsumer().setKeyword$7$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getOverridingHiddensCallConsumer().setRuleCall$5$Delimiter(HiddenTerminalsTestLanguageDelimiters.ruleCall$19$Delimiter);
+ getInheritingHiddensConsumer().setKeyword$6$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getInheritingHiddensConsumer().setKeyword$7$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getInheritingHiddensConsumer().setKeyword$8$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getInheritingHiddensConsumer().setKeyword$14$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getInheritingHiddensConsumer().setKeyword$16$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getHidingHiddensConsumer().setKeyword$3$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getHidingHiddensConsumer().setRuleCall$5$Delimiter(HiddenTerminalsTestLanguageDelimiters.ruleCall$19$Delimiter);
+ getInheritingHiddensCallConsumer().setKeyword$2$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ getInheritingHiddensCallConsumer().setKeyword$4$Delimiter(HiddenTerminalsTestLanguageDelimiters.keyword$17$Delimiter);
+ }
+
+ public HiddenTerminalsTestLanguageModelConsumer getModelConsumer() {
+ return modelConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageWithoutHiddensConsumer getWithoutHiddensConsumer() {
+ return withoutHiddensConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageWithHiddensConsumer getWithHiddensConsumer() {
+ return withHiddensConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageOverridingHiddensConsumer getOverridingHiddensConsumer() {
+ return overridingHiddensConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageOverridingHiddensCallConsumer getOverridingHiddensCallConsumer() {
+ return overridingHiddensCallConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageInheritingHiddensConsumer getInheritingHiddensConsumer() {
+ return inheritingHiddensConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageHidingHiddensConsumer getHidingHiddensConsumer() {
+ return hidingHiddensConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageInheritingHiddensCallConsumer getInheritingHiddensCallConsumer() {
+ return inheritingHiddensCallConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageML_COMMENTConsumer getMlCommentConsumer() {
+ return mlCommentConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageSL_COMMENTConsumer getSlCommentConsumer() {
+ return slCommentConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageWSConsumer getWsConsumer() {
+ return wsConsumer;
+ }
+
+ public HiddenTerminalsTestLanguageANY_OTHERConsumer getAnyOtherConsumer() {
+ return anyOtherConsumer;
+ }
+
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/XtextTerminalsTestLanguageParserConfiguration.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/XtextTerminalsTestLanguageParserConfiguration.java
index 5f219ca..9e69dad 100644
--- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/XtextTerminalsTestLanguageParserConfiguration.java
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/XtextTerminalsTestLanguageParserConfiguration.java
@@ -309,8 +309,8 @@ public class XtextTerminalsTestLanguageParserConfiguration extends AbstractParse
getParserRuleConsumer().setCrossReference$20$Delimiter(XtextTerminalsTestLanguageDelimiters.ruleCall$14$Delimiter);
getParserRuleConsumer().setCrossReference$25$Delimiter(XtextTerminalsTestLanguageDelimiters.ruleCall$14$Delimiter);
getParserRuleConsumer().setKeyword$9$Delimiter(XtextTerminalsTestLanguageDelimiters.keyword$11$Delimiter);
- getParserRuleConsumer().setKeyword$17$Delimiter(XtextTerminalsTestLanguageDelimiters.keyword$11$Delimiter);
- getParserRuleConsumer().setKeyword$18$Delimiter(XtextTerminalsTestLanguageDelimiters.keyword$16$Delimiter);
+ getParserRuleConsumer().setKeyword$16$Delimiter(XtextTerminalsTestLanguageDelimiters.keyword$11$Delimiter);
+ getParserRuleConsumer().setKeyword$17$Delimiter(XtextTerminalsTestLanguageDelimiters.keyword$16$Delimiter);
getParserRuleConsumer().setKeyword$23$Delimiter(XtextTerminalsTestLanguageDelimiters.keyword$16$Delimiter);
getParserRuleConsumer().setKeyword$27$Delimiter(XtextTerminalsTestLanguageDelimiters.keyword$16$Delimiter);
getParserRuleConsumer().setKeyword$28$Delimiter(XtextTerminalsTestLanguageDelimiters.keyword$16$Delimiter);
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageANY_OTHERConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageANY_OTHERConsumer.java
new file mode 100644
index 0000000..bff2297
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageANY_OTHERConsumer.java
@@ -0,0 +1,38 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.consumers.AbstractRuleAwareTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageANY_OTHERConsumer extends AbstractRuleAwareTerminalConsumer {
+
+
+ public HiddenTerminalsTestLanguageANY_OTHERConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor) {
+ super(input, markerFactory, tokenAcceptor);
+ }
+
+ protected int doConsume() {
+ return consumeWildcard$1() ? ConsumeResult.SUCCESS : ConsumeResult.EMPTY_MATCH;
+ }
+
+ protected boolean consumeWildcard$1() {
+ return readAnyChar();
+ }
+
+ public AbstractRule doGetRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prANY_OTHER().getRule();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageHidingHiddensConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageHidingHiddensConsumer.java
new file mode 100644
index 0000000..0f0b65f
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageHidingHiddensConsumer.java
@@ -0,0 +1,133 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory.IMarker;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.NonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.HidingHiddensElements;
+
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageInheritingHiddensCallConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageWSConsumer;
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageHidingHiddensConsumer extends NonTerminalConsumer {
+
+ private HiddenTerminalsTestLanguageInheritingHiddensCallConsumer inheritingHiddensCallConsumer;
+ private HiddenTerminalsTestLanguageWSConsumer wsConsumer;
+
+ private ICharacterClass keyword$3$Delimiter;
+
+ private ISequenceMatcher ruleCall$5$Delimiter;
+
+ public HiddenTerminalsTestLanguageHidingHiddensConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil,
+ ITerminalConsumer[] hiddenTokens) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens);
+ keyword$3$Delimiter = ICharacterClass.Factory.nullClass();
+ ruleCall$5$Delimiter = ISequenceMatcher.Factory.nullMatcher();
+ }
+
+ protected int doConsume() throws Exception {
+ return consumeGroup$1();
+ }
+
+ protected int consumeGroup$1() throws Exception {
+ final IMarker marker = mark();
+ int result;
+ result = consumeKeyword$3();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele00KeywordHiding());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$4();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele01AssignmentSpace());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$6();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele1AssignmentCalled());
+ marker.commit();
+ return result;
+ }
+ marker.commit();
+ return result;
+ }
+
+ protected int consumeKeyword$3() throws Exception {
+ return consumeKeyword(getRule().ele00KeywordHiding(), null, false, false, getKeyword$3$Delimiter());
+ }
+
+ protected int consumeAssignment$4() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeTerminal(wsConsumer, "space", false, false, getRule().ele010ParserRuleCallWS(), getRuleCall$5$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ protected int consumeAssignment$6() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeNonTerminal(inheritingHiddensCallConsumer, "called", false, false, getRule().ele10ParserRuleCallInheritingHiddensCall());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ public HidingHiddensElements getRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prHidingHiddens();
+ }
+
+ protected EObject getGrammarElement() {
+ return getRule().getRule();
+ }
+
+ @Override
+ protected String getDefaultTypeName() {
+ return "HidingHiddens";
+ }
+
+ public void setInheritingHiddensCallConsumer(HiddenTerminalsTestLanguageInheritingHiddensCallConsumer inheritingHiddensCallConsumer) {
+ this.inheritingHiddensCallConsumer = inheritingHiddensCallConsumer;
+ }
+
+ public void setWsConsumer(HiddenTerminalsTestLanguageWSConsumer wsConsumer) {
+ this.wsConsumer = wsConsumer;
+ }
+
+ public ICharacterClass getKeyword$3$Delimiter() {
+ return keyword$3$Delimiter;
+ }
+
+ public void setKeyword$3$Delimiter(ICharacterClass characterClass) {
+ keyword$3$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ISequenceMatcher getRuleCall$5$Delimiter() {
+ return ruleCall$5$Delimiter;
+ }
+
+ public void setRuleCall$5$Delimiter(ISequenceMatcher matcher) {
+ ruleCall$5$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageInheritingHiddensCallConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageInheritingHiddensCallConsumer.java
new file mode 100644
index 0000000..1fb106f
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageInheritingHiddensCallConsumer.java
@@ -0,0 +1,105 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory.IMarker;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.NonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.InheritingHiddensCallElements;
+
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageInheritingHiddensCallConsumer extends NonTerminalConsumer {
+
+
+ private ICharacterClass keyword$2$Delimiter;
+
+ private ICharacterClass keyword$4$Delimiter;
+
+ public HiddenTerminalsTestLanguageInheritingHiddensCallConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil,
+ ITerminalConsumer[] hiddenTokens) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens);
+ keyword$2$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$4$Delimiter = ICharacterClass.Factory.nullClass();
+ }
+
+ protected int doConsume() throws Exception {
+ return consumeGroup$1();
+ }
+
+ protected int consumeGroup$1() throws Exception {
+ final IMarker marker = mark();
+ int result;
+ result = consumeKeyword$2();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele0KeywordCall());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$3();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele1AssignmentValid());
+ marker.commit();
+ return result;
+ }
+ marker.commit();
+ return result;
+ }
+
+ protected int consumeKeyword$2() throws Exception {
+ return consumeKeyword(getRule().ele0KeywordCall(), null, false, false, getKeyword$2$Delimiter());
+ }
+
+ protected int consumeAssignment$3() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeKeyword(getRule().ele10KeywordSemicolon(), "valid", false, true, getKeyword$4$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ public InheritingHiddensCallElements getRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddensCall();
+ }
+
+ protected EObject getGrammarElement() {
+ return getRule().getRule();
+ }
+
+ @Override
+ protected String getDefaultTypeName() {
+ return "InheritingHiddensCall";
+ }
+
+ public ICharacterClass getKeyword$2$Delimiter() {
+ return keyword$2$Delimiter;
+ }
+
+ public void setKeyword$2$Delimiter(ICharacterClass characterClass) {
+ keyword$2$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$4$Delimiter() {
+ return keyword$4$Delimiter;
+ }
+
+ public void setKeyword$4$Delimiter(ICharacterClass characterClass) {
+ keyword$4$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageInheritingHiddensConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageInheritingHiddensConsumer.java
new file mode 100644
index 0000000..d1ba269
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageInheritingHiddensConsumer.java
@@ -0,0 +1,243 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory.IMarker;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.NonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.InheritingHiddensElements;
+
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageHidingHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageInheritingHiddensCallConsumer;
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageInheritingHiddensConsumer extends NonTerminalConsumer {
+
+ private HiddenTerminalsTestLanguageHidingHiddensConsumer hidingHiddensConsumer;
+ private HiddenTerminalsTestLanguageInheritingHiddensCallConsumer inheritingHiddensCallConsumer;
+
+ private ICharacterClass keyword$6$Delimiter;
+
+ private ICharacterClass keyword$7$Delimiter;
+
+ private ICharacterClass keyword$8$Delimiter;
+
+ private ICharacterClass keyword$14$Delimiter;
+
+ private ICharacterClass keyword$16$Delimiter;
+
+ public HiddenTerminalsTestLanguageInheritingHiddensConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil,
+ ITerminalConsumer[] hiddenTokens) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens);
+ keyword$6$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$7$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$8$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$14$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$16$Delimiter = ICharacterClass.Factory.nullClass();
+ }
+
+ protected int doConsume() throws Exception {
+ return consumeGroup$1();
+ }
+
+ protected int consumeGroup$1() throws Exception {
+ final IMarker marker = mark();
+ int result;
+ result = consumeKeyword$6();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele00000KeywordInheriting());
+ marker.commit();
+ return result;
+ }
+ result = consumeKeyword$7();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele00001KeywordHiddens());
+ marker.commit();
+ return result;
+ }
+ result = consumeKeyword$8();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele0001KeywordLeftParenthesis());
+ marker.commit();
+ return result;
+ }
+ result = consumeAlternatives$9();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele001Alternatives());
+ marker.commit();
+ return result;
+ }
+ result = consumeKeyword$14();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele01KeywordRightParenthesis());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$15();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele1AssignmentValid());
+ marker.commit();
+ return result;
+ }
+ marker.commit();
+ return result;
+ }
+
+ protected int consumeKeyword$6() throws Exception {
+ return consumeKeyword(getRule().ele00000KeywordInheriting(), null, false, false, getKeyword$6$Delimiter());
+ }
+
+ protected int consumeKeyword$7() throws Exception {
+ return consumeKeyword(getRule().ele00001KeywordHiddens(), null, false, false, getKeyword$7$Delimiter());
+ }
+
+ protected int consumeKeyword$8() throws Exception {
+ return consumeKeyword(getRule().ele0001KeywordLeftParenthesis(), null, false, false, getKeyword$8$Delimiter());
+ }
+
+ protected int consumeAlternatives$9() throws Exception {
+ int result = ConsumeResult.SUCCESS;
+ IMarker bestMarker = mark();
+ IMarker currentMarker;
+ int tempResult;
+ currentMarker = bestMarker.fork();
+ tempResult = consumeAssignment$10();
+ if (tempResult == ConsumeResult.SUCCESS) {
+ bestMarker = currentMarker.join(bestMarker);
+ bestMarker.commit();
+ return tempResult;
+ }
+ if (tempResult > result) {
+ bestMarker = currentMarker.join(bestMarker);
+ result = tempResult;
+ } else {
+ bestMarker = bestMarker.join(currentMarker);
+ }
+ currentMarker = null;
+ currentMarker = bestMarker.fork();
+ tempResult = consumeAssignment$12();
+ if (tempResult == ConsumeResult.SUCCESS) {
+ bestMarker = currentMarker.join(bestMarker);
+ bestMarker.commit();
+ return tempResult;
+ }
+ if (tempResult > result) {
+ bestMarker = currentMarker.join(bestMarker);
+ result = tempResult;
+ } else {
+ bestMarker = bestMarker.join(currentMarker);
+ }
+ currentMarker = null;
+ bestMarker.commit();
+ return result;
+ }
+
+ protected int consumeAssignment$10() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeNonTerminal(inheritingHiddensCallConsumer, "called", false, false, getRule().ele00100ParserRuleCallInheritingHiddensCall());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ protected int consumeAssignment$12() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeNonTerminal(hidingHiddensConsumer, "hidingCalled", false, false, getRule().ele00110ParserRuleCallHidingHiddens());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ protected int consumeKeyword$14() throws Exception {
+ return consumeKeyword(getRule().ele01KeywordRightParenthesis(), null, false, false, getKeyword$14$Delimiter());
+ }
+
+ protected int consumeAssignment$15() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeKeyword(getRule().ele10KeywordSemicolon(), "valid", false, true, getKeyword$16$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ public InheritingHiddensElements getRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens();
+ }
+
+ protected EObject getGrammarElement() {
+ return getRule().getRule();
+ }
+
+ @Override
+ protected String getDefaultTypeName() {
+ return "InheritingHiddens";
+ }
+
+ public void setHidingHiddensConsumer(HiddenTerminalsTestLanguageHidingHiddensConsumer hidingHiddensConsumer) {
+ this.hidingHiddensConsumer = hidingHiddensConsumer;
+ }
+
+ public void setInheritingHiddensCallConsumer(HiddenTerminalsTestLanguageInheritingHiddensCallConsumer inheritingHiddensCallConsumer) {
+ this.inheritingHiddensCallConsumer = inheritingHiddensCallConsumer;
+ }
+
+ public ICharacterClass getKeyword$6$Delimiter() {
+ return keyword$6$Delimiter;
+ }
+
+ public void setKeyword$6$Delimiter(ICharacterClass characterClass) {
+ keyword$6$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$7$Delimiter() {
+ return keyword$7$Delimiter;
+ }
+
+ public void setKeyword$7$Delimiter(ICharacterClass characterClass) {
+ keyword$7$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$8$Delimiter() {
+ return keyword$8$Delimiter;
+ }
+
+ public void setKeyword$8$Delimiter(ICharacterClass characterClass) {
+ keyword$8$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$14$Delimiter() {
+ return keyword$14$Delimiter;
+ }
+
+ public void setKeyword$14$Delimiter(ICharacterClass characterClass) {
+ keyword$14$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$16$Delimiter() {
+ return keyword$16$Delimiter;
+ }
+
+ public void setKeyword$16$Delimiter(ICharacterClass characterClass) {
+ keyword$16$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageML_COMMENTConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageML_COMMENTConsumer.java
new file mode 100644
index 0000000..c50f90f
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageML_COMMENTConsumer.java
@@ -0,0 +1,66 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.consumers.AbstractRuleAwareTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageML_COMMENTConsumer extends AbstractRuleAwareTerminalConsumer {
+
+
+ public HiddenTerminalsTestLanguageML_COMMENTConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor) {
+ super(input, markerFactory, tokenAcceptor);
+ }
+
+ protected int doConsume() {
+ return consumeGroup$1() ? ConsumeResult.SUCCESS : ConsumeResult.EMPTY_MATCH;
+ }
+
+ protected boolean consumeGroup$1() {
+ final int marker = mark();
+ if (!consumeKeyword$2()) {
+ rollbackTo(marker);
+ return false;
+ }
+ if (!consumeUpToToken$3()) {
+ rollbackTo(marker);
+ return false;
+ }
+ return true;
+ }
+
+ protected boolean consumeKeyword$2() {
+ return readString("/*");
+ }
+
+ protected boolean consumeUpToToken$3() {
+ final int marker = mark();
+ while(!eof()) {
+ if(consumeKeyword$4())
+ return true;
+ incOffset();
+ }
+ rollbackTo(marker);
+ return false;
+ }
+
+ protected boolean consumeKeyword$4() {
+ return readString("*/");
+ }
+
+ public AbstractRule doGetRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prML_COMMENT().getRule();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageModelConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageModelConsumer.java
new file mode 100644
index 0000000..c4e0918
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageModelConsumer.java
@@ -0,0 +1,155 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory.IMarker;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.NonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.ModelElements;
+
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageInheritingHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageOverridingHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageWithHiddensConsumer;
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageWithoutHiddensConsumer;
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageModelConsumer extends NonTerminalConsumer {
+
+ private HiddenTerminalsTestLanguageInheritingHiddensConsumer inheritingHiddensConsumer;
+ private HiddenTerminalsTestLanguageOverridingHiddensConsumer overridingHiddensConsumer;
+ private HiddenTerminalsTestLanguageWithHiddensConsumer withHiddensConsumer;
+ private HiddenTerminalsTestLanguageWithoutHiddensConsumer withoutHiddensConsumer;
+
+ public HiddenTerminalsTestLanguageModelConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil,
+ ITerminalConsumer[] hiddenTokens) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens);
+ }
+
+ protected int doConsume() throws Exception {
+ return consumeAlternatives$1();
+ }
+
+ protected int consumeAlternatives$1() throws Exception {
+ int result = ConsumeResult.SUCCESS;
+ IMarker bestMarker = mark();
+ IMarker currentMarker;
+ int tempResult;
+ currentMarker = bestMarker.fork();
+ tempResult = consumeRuleCall$4();
+ if (tempResult == ConsumeResult.SUCCESS) {
+ bestMarker = currentMarker.join(bestMarker);
+ bestMarker.commit();
+ return tempResult;
+ }
+ if (tempResult > result) {
+ bestMarker = currentMarker.join(bestMarker);
+ result = tempResult;
+ } else {
+ bestMarker = bestMarker.join(currentMarker);
+ }
+ currentMarker = null;
+ currentMarker = bestMarker.fork();
+ tempResult = consumeRuleCall$5();
+ if (tempResult == ConsumeResult.SUCCESS) {
+ bestMarker = currentMarker.join(bestMarker);
+ bestMarker.commit();
+ return tempResult;
+ }
+ if (tempResult > result) {
+ bestMarker = currentMarker.join(bestMarker);
+ result = tempResult;
+ } else {
+ bestMarker = bestMarker.join(currentMarker);
+ }
+ currentMarker = null;
+ currentMarker = bestMarker.fork();
+ tempResult = consumeRuleCall$6();
+ if (tempResult == ConsumeResult.SUCCESS) {
+ bestMarker = currentMarker.join(bestMarker);
+ bestMarker.commit();
+ return tempResult;
+ }
+ if (tempResult > result) {
+ bestMarker = currentMarker.join(bestMarker);
+ result = tempResult;
+ } else {
+ bestMarker = bestMarker.join(currentMarker);
+ }
+ currentMarker = null;
+ currentMarker = bestMarker.fork();
+ tempResult = consumeRuleCall$7();
+ if (tempResult == ConsumeResult.SUCCESS) {
+ bestMarker = currentMarker.join(bestMarker);
+ bestMarker.commit();
+ return tempResult;
+ }
+ if (tempResult > result) {
+ bestMarker = currentMarker.join(bestMarker);
+ result = tempResult;
+ } else {
+ bestMarker = bestMarker.join(currentMarker);
+ }
+ currentMarker = null;
+ bestMarker.commit();
+ return result;
+ }
+
+ protected int consumeRuleCall$4() throws Exception {
+ return consumeNonTerminal(withoutHiddensConsumer, null, false, false, getRule().ele000ParserRuleCallWithoutHiddens());
+ }
+
+ protected int consumeRuleCall$5() throws Exception {
+ return consumeNonTerminal(withHiddensConsumer, null, false, false, getRule().ele001ParserRuleCallWithHiddens());
+ }
+
+ protected int consumeRuleCall$6() throws Exception {
+ return consumeNonTerminal(overridingHiddensConsumer, null, false, false, getRule().ele01ParserRuleCallOverridingHiddens());
+ }
+
+ protected int consumeRuleCall$7() throws Exception {
+ return consumeNonTerminal(inheritingHiddensConsumer, null, false, false, getRule().ele1ParserRuleCallInheritingHiddens());
+ }
+
+ public ModelElements getRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prModel();
+ }
+
+ protected EObject getGrammarElement() {
+ return getRule().getRule();
+ }
+
+ @Override
+ protected String getDefaultTypeName() {
+ return "Model";
+ }
+
+ public void setInheritingHiddensConsumer(HiddenTerminalsTestLanguageInheritingHiddensConsumer inheritingHiddensConsumer) {
+ this.inheritingHiddensConsumer = inheritingHiddensConsumer;
+ }
+
+ public void setOverridingHiddensConsumer(HiddenTerminalsTestLanguageOverridingHiddensConsumer overridingHiddensConsumer) {
+ this.overridingHiddensConsumer = overridingHiddensConsumer;
+ }
+
+ public void setWithHiddensConsumer(HiddenTerminalsTestLanguageWithHiddensConsumer withHiddensConsumer) {
+ this.withHiddensConsumer = withHiddensConsumer;
+ }
+
+ public void setWithoutHiddensConsumer(HiddenTerminalsTestLanguageWithoutHiddensConsumer withoutHiddensConsumer) {
+ this.withoutHiddensConsumer = withoutHiddensConsumer;
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageOverridingHiddensCallConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageOverridingHiddensCallConsumer.java
new file mode 100644
index 0000000..b7f2dde
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageOverridingHiddensCallConsumer.java
@@ -0,0 +1,148 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory.IMarker;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.NonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.OverridingHiddensCallElements;
+
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageWSConsumer;
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageOverridingHiddensCallConsumer extends NonTerminalConsumer {
+
+ private HiddenTerminalsTestLanguageWSConsumer wsConsumer;
+
+ private ICharacterClass keyword$3$Delimiter;
+
+ private ICharacterClass keyword$7$Delimiter;
+
+ private ISequenceMatcher ruleCall$5$Delimiter;
+
+ public HiddenTerminalsTestLanguageOverridingHiddensCallConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil,
+ ITerminalConsumer[] hiddenTokens) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens);
+ keyword$3$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$7$Delimiter = ICharacterClass.Factory.nullClass();
+ ruleCall$5$Delimiter = ISequenceMatcher.Factory.nullMatcher();
+ }
+
+ protected int doConsume() throws Exception {
+ return consumeGroup$1();
+ }
+
+ protected int consumeGroup$1() throws Exception {
+ final IMarker marker = mark();
+ int result;
+ result = consumeKeyword$3();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele00KeywordCall());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$4();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele01AssignmentSpaces());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$6();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele1AssignmentValid());
+ marker.commit();
+ return result;
+ }
+ marker.commit();
+ return result;
+ }
+
+ protected int consumeKeyword$3() throws Exception {
+ return consumeKeyword(getRule().ele00KeywordCall(), null, false, false, getKeyword$3$Delimiter());
+ }
+
+ protected int consumeAssignment$4() throws Exception {
+ IMarker marker = mark();
+ int result = doConsumeAssignment$4();
+ if (result != ConsumeResult.SUCCESS)
+ marker.rollback();
+ else
+ marker.commit();
+ return ConsumeResult.SUCCESS;
+ }
+
+ protected int doConsumeAssignment$4() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeTerminal(wsConsumer, "spaces", true, false, getRule().ele010ParserRuleCallWS(), getRuleCall$5$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ protected int consumeAssignment$6() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeKeyword(getRule().ele10KeywordSemicolon(), "valid", false, true, getKeyword$7$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ public OverridingHiddensCallElements getRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddensCall();
+ }
+
+ protected EObject getGrammarElement() {
+ return getRule().getRule();
+ }
+
+ @Override
+ protected String getDefaultTypeName() {
+ return "OverridingHiddensCall";
+ }
+
+ public void setWsConsumer(HiddenTerminalsTestLanguageWSConsumer wsConsumer) {
+ this.wsConsumer = wsConsumer;
+ }
+
+ public ICharacterClass getKeyword$3$Delimiter() {
+ return keyword$3$Delimiter;
+ }
+
+ public void setKeyword$3$Delimiter(ICharacterClass characterClass) {
+ keyword$3$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$7$Delimiter() {
+ return keyword$7$Delimiter;
+ }
+
+ public void setKeyword$7$Delimiter(ICharacterClass characterClass) {
+ keyword$7$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ISequenceMatcher getRuleCall$5$Delimiter() {
+ return ruleCall$5$Delimiter;
+ }
+
+ public void setRuleCall$5$Delimiter(ISequenceMatcher matcher) {
+ ruleCall$5$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageOverridingHiddensConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageOverridingHiddensConsumer.java
new file mode 100644
index 0000000..a9033b3
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageOverridingHiddensConsumer.java
@@ -0,0 +1,190 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory.IMarker;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.NonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.OverridingHiddensElements;
+
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageOverridingHiddensCallConsumer;
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageOverridingHiddensConsumer extends NonTerminalConsumer {
+
+ private HiddenTerminalsTestLanguageOverridingHiddensCallConsumer overridingHiddensCallConsumer;
+
+ private ICharacterClass keyword$6$Delimiter;
+
+ private ICharacterClass keyword$7$Delimiter;
+
+ private ICharacterClass keyword$8$Delimiter;
+
+ private ICharacterClass keyword$11$Delimiter;
+
+ private ICharacterClass keyword$13$Delimiter;
+
+ public HiddenTerminalsTestLanguageOverridingHiddensConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil,
+ ITerminalConsumer[] hiddenTokens) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens);
+ keyword$6$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$7$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$8$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$11$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$13$Delimiter = ICharacterClass.Factory.nullClass();
+ }
+
+ protected int doConsume() throws Exception {
+ return consumeGroup$1();
+ }
+
+ protected int consumeGroup$1() throws Exception {
+ final IMarker marker = mark();
+ int result;
+ result = consumeKeyword$6();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele00000KeywordOverriding());
+ marker.commit();
+ return result;
+ }
+ result = consumeKeyword$7();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele00001KeywordHiddens());
+ marker.commit();
+ return result;
+ }
+ result = consumeKeyword$8();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele0001KeywordLeftParenthesis());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$9();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele001AssignmentCalled());
+ marker.commit();
+ return result;
+ }
+ result = consumeKeyword$11();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele01KeywordRightParenthesis());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$12();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele1AssignmentValid());
+ marker.commit();
+ return result;
+ }
+ marker.commit();
+ return result;
+ }
+
+ protected int consumeKeyword$6() throws Exception {
+ return consumeKeyword(getRule().ele00000KeywordOverriding(), null, false, false, getKeyword$6$Delimiter());
+ }
+
+ protected int consumeKeyword$7() throws Exception {
+ return consumeKeyword(getRule().ele00001KeywordHiddens(), null, false, false, getKeyword$7$Delimiter());
+ }
+
+ protected int consumeKeyword$8() throws Exception {
+ return consumeKeyword(getRule().ele0001KeywordLeftParenthesis(), null, false, false, getKeyword$8$Delimiter());
+ }
+
+ protected int consumeAssignment$9() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeNonTerminal(overridingHiddensCallConsumer, "called", false, false, getRule().ele0010ParserRuleCallOverridingHiddensCall());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ protected int consumeKeyword$11() throws Exception {
+ return consumeKeyword(getRule().ele01KeywordRightParenthesis(), null, false, false, getKeyword$11$Delimiter());
+ }
+
+ protected int consumeAssignment$12() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeKeyword(getRule().ele10KeywordSemicolon(), "valid", false, true, getKeyword$13$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ public OverridingHiddensElements getRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens();
+ }
+
+ protected EObject getGrammarElement() {
+ return getRule().getRule();
+ }
+
+ @Override
+ protected String getDefaultTypeName() {
+ return "OverridingHiddens";
+ }
+
+ public void setOverridingHiddensCallConsumer(HiddenTerminalsTestLanguageOverridingHiddensCallConsumer overridingHiddensCallConsumer) {
+ this.overridingHiddensCallConsumer = overridingHiddensCallConsumer;
+ }
+
+ public ICharacterClass getKeyword$6$Delimiter() {
+ return keyword$6$Delimiter;
+ }
+
+ public void setKeyword$6$Delimiter(ICharacterClass characterClass) {
+ keyword$6$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$7$Delimiter() {
+ return keyword$7$Delimiter;
+ }
+
+ public void setKeyword$7$Delimiter(ICharacterClass characterClass) {
+ keyword$7$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$8$Delimiter() {
+ return keyword$8$Delimiter;
+ }
+
+ public void setKeyword$8$Delimiter(ICharacterClass characterClass) {
+ keyword$8$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$11$Delimiter() {
+ return keyword$11$Delimiter;
+ }
+
+ public void setKeyword$11$Delimiter(ICharacterClass characterClass) {
+ keyword$11$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$13$Delimiter() {
+ return keyword$13$Delimiter;
+ }
+
+ public void setKeyword$13$Delimiter(ICharacterClass characterClass) {
+ keyword$13$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageSL_COMMENTConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageSL_COMMENTConsumer.java
new file mode 100644
index 0000000..243a823
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageSL_COMMENTConsumer.java
@@ -0,0 +1,117 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.consumers.AbstractRuleAwareTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageSL_COMMENTConsumer extends AbstractRuleAwareTerminalConsumer {
+
+
+ public HiddenTerminalsTestLanguageSL_COMMENTConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor) {
+ super(input, markerFactory, tokenAcceptor);
+ }
+
+ protected int doConsume() {
+ return consumeGroup$1() ? ConsumeResult.SUCCESS : ConsumeResult.EMPTY_MATCH;
+ }
+
+ protected boolean consumeGroup$1() {
+ final int marker = mark();
+ if (!consumeKeyword$3()) {
+ rollbackTo(marker);
+ return false;
+ }
+ if (!consumeNegatedToken$4()) {
+ rollbackTo(marker);
+ return false;
+ }
+ if (!consumeGroup$8()) {
+ rollbackTo(marker);
+ return false;
+ }
+ return true;
+ }
+
+ protected boolean consumeKeyword$3() {
+ return readString("//");
+ }
+
+ protected boolean consumeNegatedToken$4() {
+ while(doConsumeNegatedToken$4()) {}
+ return true;
+ }
+
+ protected boolean doConsumeNegatedToken$4() {
+ final int marker = mark();
+ if (!eof() && !consumeAlternatives$5()) {
+ incOffset();
+ return true;
+ }
+ rollbackTo(marker);
+ return false;
+ }
+
+ protected boolean consumeAlternatives$5() {
+ if (consumeKeyword$6())
+ return true;
+ if (consumeKeyword$7())
+ return true;
+ return false;
+ }
+
+ protected boolean consumeKeyword$6() {
+ return readChar('\n');
+ }
+
+ protected boolean consumeKeyword$7() {
+ return readChar('\r');
+ }
+
+ protected boolean consumeGroup$8() {
+ doConsumeGroup$8();
+ return true;
+ }
+
+ protected boolean doConsumeGroup$8() {
+ final int marker = mark();
+ if (!consumeKeyword$9()) {
+ rollbackTo(marker);
+ return false;
+ }
+ if (!consumeKeyword$10()) {
+ rollbackTo(marker);
+ return false;
+ }
+ return true;
+ }
+
+ protected boolean consumeKeyword$9() {
+ doConsumeKeyword$9();
+ return true;
+ }
+
+ protected boolean doConsumeKeyword$9() {
+ return readChar('\r');
+ }
+
+ protected boolean consumeKeyword$10() {
+ return readChar('\n');
+ }
+
+ public AbstractRule doGetRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prSL_COMMENT().getRule();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWSConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWSConsumer.java
new file mode 100644
index 0000000..8abbf77
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWSConsumer.java
@@ -0,0 +1,70 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.consumers.AbstractRuleAwareTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageWSConsumer extends AbstractRuleAwareTerminalConsumer {
+
+
+ public HiddenTerminalsTestLanguageWSConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor) {
+ super(input, markerFactory, tokenAcceptor);
+ }
+
+ protected int doConsume() {
+ return consumeAlternatives$1() ? ConsumeResult.SUCCESS : ConsumeResult.EMPTY_MATCH;
+ }
+
+ protected boolean consumeAlternatives$1() {
+ if (doConsumeAlternatives$1()) {
+ while(doConsumeAlternatives$1()) {}
+ return true;
+ }
+ return false;
+ }
+
+ protected boolean doConsumeAlternatives$1() {
+ if (consumeKeyword$4())
+ return true;
+ if (consumeKeyword$5())
+ return true;
+ if (consumeKeyword$6())
+ return true;
+ if (consumeKeyword$7())
+ return true;
+ return false;
+ }
+
+ protected boolean consumeKeyword$4() {
+ return readChar(' ');
+ }
+
+ protected boolean consumeKeyword$5() {
+ return readChar('\t');
+ }
+
+ protected boolean consumeKeyword$6() {
+ return readChar('\r');
+ }
+
+ protected boolean consumeKeyword$7() {
+ return readChar('\n');
+ }
+
+ public AbstractRule doGetRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWS().getRule();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWithHiddensConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWithHiddensConsumer.java
new file mode 100644
index 0000000..c41e49c
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWithHiddensConsumer.java
@@ -0,0 +1,126 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory.IMarker;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.NonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.WithHiddensElements;
+
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageWithHiddensConsumer extends NonTerminalConsumer {
+
+
+ private ICharacterClass keyword$3$Delimiter;
+
+ private ICharacterClass keyword$4$Delimiter;
+
+ private ICharacterClass keyword$6$Delimiter;
+
+ public HiddenTerminalsTestLanguageWithHiddensConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil,
+ ITerminalConsumer[] hiddenTokens) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens);
+ keyword$3$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$4$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$6$Delimiter = ICharacterClass.Factory.nullClass();
+ }
+
+ protected int doConsume() throws Exception {
+ return consumeGroup$1();
+ }
+
+ protected int consumeGroup$1() throws Exception {
+ final IMarker marker = mark();
+ int result;
+ result = consumeKeyword$3();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele00KeywordWith());
+ marker.commit();
+ return result;
+ }
+ result = consumeKeyword$4();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele01KeywordHiddens());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$5();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele1AssignmentValid());
+ marker.commit();
+ return result;
+ }
+ marker.commit();
+ return result;
+ }
+
+ protected int consumeKeyword$3() throws Exception {
+ return consumeKeyword(getRule().ele00KeywordWith(), null, false, false, getKeyword$3$Delimiter());
+ }
+
+ protected int consumeKeyword$4() throws Exception {
+ return consumeKeyword(getRule().ele01KeywordHiddens(), null, false, false, getKeyword$4$Delimiter());
+ }
+
+ protected int consumeAssignment$5() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeKeyword(getRule().ele10KeywordSemicolon(), "valid", false, true, getKeyword$6$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ public WithHiddensElements getRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithHiddens();
+ }
+
+ protected EObject getGrammarElement() {
+ return getRule().getRule();
+ }
+
+ @Override
+ protected String getDefaultTypeName() {
+ return "WithHiddens";
+ }
+
+ public ICharacterClass getKeyword$3$Delimiter() {
+ return keyword$3$Delimiter;
+ }
+
+ public void setKeyword$3$Delimiter(ICharacterClass characterClass) {
+ keyword$3$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$4$Delimiter() {
+ return keyword$4$Delimiter;
+ }
+
+ public void setKeyword$4$Delimiter(ICharacterClass characterClass) {
+ keyword$4$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$6$Delimiter() {
+ return keyword$6$Delimiter;
+ }
+
+ public void setKeyword$6$Delimiter(ICharacterClass characterClass) {
+ keyword$6$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWithoutHiddensConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWithoutHiddensConsumer.java
new file mode 100644
index 0000000..3f1ed3a
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/HiddenTerminalsTestLanguageWithoutHiddensConsumer.java
@@ -0,0 +1,196 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.packrat.ICharSequenceWithOffset;
+import org.eclipse.xtext.parser.packrat.IHiddenTokenHandler;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory;
+import org.eclipse.xtext.parser.packrat.IMarkerFactory.IMarker;
+import org.eclipse.xtext.parser.packrat.consumers.IConsumerUtility;
+import org.eclipse.xtext.parser.packrat.consumers.ITerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.NonTerminalConsumer;
+import org.eclipse.xtext.parser.packrat.consumers.ConsumeResult;
+import org.eclipse.xtext.parser.packrat.matching.ICharacterClass;
+import org.eclipse.xtext.parser.packrat.matching.ISequenceMatcher;
+import org.eclipse.xtext.parser.packrat.tokens.IParsedTokenAcceptor;
+
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess.WithoutHiddensElements;
+
+import org.eclipse.xtext.parser.terminalrules.parser.packrat.consumers.HiddenTerminalsTestLanguageWSConsumer;
+
+@SuppressWarnings("unused")
+public final class HiddenTerminalsTestLanguageWithoutHiddensConsumer extends NonTerminalConsumer {
+
+ private HiddenTerminalsTestLanguageWSConsumer wsConsumer;
+
+ private ICharacterClass keyword$5$Delimiter;
+
+ private ICharacterClass keyword$8$Delimiter;
+
+ private ICharacterClass keyword$12$Delimiter;
+
+ private ISequenceMatcher ruleCall$7$Delimiter;
+
+ private ISequenceMatcher ruleCall$10$Delimiter;
+
+ public HiddenTerminalsTestLanguageWithoutHiddensConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory,
+ IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil,
+ ITerminalConsumer[] hiddenTokens) {
+ super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens);
+ keyword$5$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$8$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$12$Delimiter = ICharacterClass.Factory.nullClass();
+ ruleCall$7$Delimiter = ISequenceMatcher.Factory.nullMatcher();
+ ruleCall$10$Delimiter = ISequenceMatcher.Factory.nullMatcher();
+ }
+
+ protected int doConsume() throws Exception {
+ return consumeGroup$1();
+ }
+
+ protected int consumeGroup$1() throws Exception {
+ final IMarker marker = mark();
+ int result;
+ result = consumeKeyword$5();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele0000KeywordWithout());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$6();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele0001AssignmentSpaces());
+ marker.commit();
+ return result;
+ }
+ result = consumeKeyword$8();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele001KeywordHiddens());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$9();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele01AssignmentSpaces());
+ marker.commit();
+ return result;
+ }
+ result = consumeAssignment$11();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele1AssignmentValid());
+ marker.commit();
+ return result;
+ }
+ marker.commit();
+ return result;
+ }
+
+ protected int consumeKeyword$5() throws Exception {
+ return consumeKeyword(getRule().ele0000KeywordWithout(), null, false, false, getKeyword$5$Delimiter());
+ }
+
+ protected int consumeAssignment$6() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeTerminal(wsConsumer, "spaces", true, false, getRule().ele00010ParserRuleCallWS(), getRuleCall$7$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ protected int consumeKeyword$8() throws Exception {
+ return consumeKeyword(getRule().ele001KeywordHiddens(), null, false, false, getKeyword$8$Delimiter());
+ }
+
+ protected int consumeAssignment$9() throws Exception {
+ IMarker marker = mark();
+ int result = doConsumeAssignment$9();
+ if (result != ConsumeResult.SUCCESS)
+ marker.rollback();
+ else
+ marker.commit();
+ return ConsumeResult.SUCCESS;
+ }
+
+ protected int doConsumeAssignment$9() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeTerminal(wsConsumer, "spaces", true, false, getRule().ele010ParserRuleCallWS(), getRuleCall$10$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ protected int consumeAssignment$11() throws Exception {
+ int result = Integer.MIN_VALUE;
+ int tempResult;
+ tempResult = consumeKeyword(getRule().ele10KeywordSemicolon(), "valid", false, true, getKeyword$12$Delimiter());
+ if (tempResult == ConsumeResult.SUCCESS)
+ return tempResult;
+ result = tempResult >= result ? tempResult : result;
+ return result;
+ }
+
+ public WithoutHiddensElements getRule() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens();
+ }
+
+ protected EObject getGrammarElement() {
+ return getRule().getRule();
+ }
+
+ @Override
+ protected String getDefaultTypeName() {
+ return "WithoutHiddens";
+ }
+
+ public void setWsConsumer(HiddenTerminalsTestLanguageWSConsumer wsConsumer) {
+ this.wsConsumer = wsConsumer;
+ }
+
+ public ICharacterClass getKeyword$5$Delimiter() {
+ return keyword$5$Delimiter;
+ }
+
+ public void setKeyword$5$Delimiter(ICharacterClass characterClass) {
+ keyword$5$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$8$Delimiter() {
+ return keyword$8$Delimiter;
+ }
+
+ public void setKeyword$8$Delimiter(ICharacterClass characterClass) {
+ keyword$8$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ICharacterClass getKeyword$12$Delimiter() {
+ return keyword$12$Delimiter;
+ }
+
+ public void setKeyword$12$Delimiter(ICharacterClass characterClass) {
+ keyword$12$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ }
+
+ public ISequenceMatcher getRuleCall$7$Delimiter() {
+ return ruleCall$7$Delimiter;
+ }
+
+ public void setRuleCall$7$Delimiter(ISequenceMatcher matcher) {
+ ruleCall$7$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher();
+ }
+
+ public ISequenceMatcher getRuleCall$10$Delimiter() {
+ return ruleCall$10$Delimiter;
+ }
+
+ public void setRuleCall$10$Delimiter(ISequenceMatcher matcher) {
+ ruleCall$10$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher();
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/XtextTerminalsTestLanguageParserRuleConsumer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/XtextTerminalsTestLanguageParserRuleConsumer.java
index 7351d20..4441bb7 100644
--- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/XtextTerminalsTestLanguageParserRuleConsumer.java
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parser/packrat/consumers/XtextTerminalsTestLanguageParserRuleConsumer.java
@@ -36,9 +36,9 @@ public final class XtextTerminalsTestLanguageParserRuleConsumer extends NonTermi
private ICharacterClass keyword$9$Delimiter;
- private ICharacterClass keyword$17$Delimiter;
+ private ICharacterClass keyword$16$Delimiter;
- private ICharacterClass keyword$18$Delimiter;
+ private ICharacterClass keyword$17$Delimiter;
private ICharacterClass keyword$23$Delimiter;
@@ -57,8 +57,8 @@ public final class XtextTerminalsTestLanguageParserRuleConsumer extends NonTermi
crossReference$20$Delimiter = ISequenceMatcher.Factory.nullMatcher();
crossReference$25$Delimiter = ISequenceMatcher.Factory.nullMatcher();
keyword$9$Delimiter = ICharacterClass.Factory.nullClass();
+ keyword$16$Delimiter = ICharacterClass.Factory.nullClass();
keyword$17$Delimiter = ICharacterClass.Factory.nullClass();
- keyword$18$Delimiter = ICharacterClass.Factory.nullClass();
keyword$23$Delimiter = ICharacterClass.Factory.nullClass();
keyword$27$Delimiter = ICharacterClass.Factory.nullClass();
keyword$28$Delimiter = ICharacterClass.Factory.nullClass();
@@ -179,25 +179,19 @@ public final class XtextTerminalsTestLanguageParserRuleConsumer extends NonTermi
protected int doConsumeGroup$12() throws Exception {
final IMarker marker = mark();
int result;
- result = consumeAssignment$16();
- if (result!=ConsumeResult.SUCCESS) {
- error("Another token expected.", getRule().ele00010000AssignmentDefinesHiddenTokens());
- marker.commit();
- return result;
- }
- result = consumeKeyword$18();
+ result = consumeAssignment$15();
if (result!=ConsumeResult.SUCCESS) {
- error("Another token expected.", getRule().ele00010001KeywordLeftParenthesis());
+ error("Another token expected.", getRule().ele0001000AssignmentDefinesHiddenTokens());
marker.commit();
return result;
}
- result = consumeAssignment$19();
+ result = consumeKeyword$17();
if (result!=ConsumeResult.SUCCESS) {
- error("Another token expected.", getRule().ele0001001AssignmentHiddenTokens());
+ error("Another token expected.", getRule().ele0001001KeywordLeftParenthesis());
marker.commit();
return result;
}
- result = consumeGroup$22();
+ result = consumeGroup$18();
if (result!=ConsumeResult.SUCCESS) {
error("Another token expected.", getRule().ele000101Group());
marker.commit();
@@ -213,24 +207,53 @@ public final class XtextTerminalsTestLanguageParserRuleConsumer extends NonTermi
return result;
}
- protected int consumeAssignment$16() throws Exception {
+ protected int consumeAssignment$15() throws Exception {
int result = Integer.MIN_VALUE;
int tempResult;
- tempResult = consumeKeyword(getRule().ele000100000KeywordHidden(), "definesHiddenTokens", false, true, getKeyword$17$Delimiter());
+ tempResult = consumeKeyword(getRule().ele00010000KeywordHidden(), "definesHiddenTokens", false, true, getKeyword$16$Delimiter());
if (tempResult == ConsumeResult.SUCCESS)
return tempResult;
result = tempResult >= result ? tempResult : result;
return result;
}
- protected int consumeKeyword$18() throws Exception {
- return consumeKeyword(getRule().ele00010001KeywordLeftParenthesis(), null, false, false, getKeyword$18$Delimiter());
+ protected int consumeKeyword$17() throws Exception {
+ return consumeKeyword(getRule().ele0001001KeywordLeftParenthesis(), null, false, false, getKeyword$17$Delimiter());
+ }
+
+ protected int consumeGroup$18() throws Exception {
+ IMarker marker = mark();
+ int result = doConsumeGroup$18();
+ if (result != ConsumeResult.SUCCESS)
+ marker.rollback();
+ else
+ marker.commit();
+ return ConsumeResult.SUCCESS;
+ }
+
+ protected int doConsumeGroup$18() throws Exception {
+ final IMarker marker = mark();
+ int result;
+ result = consumeAssignment$19();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele0001010AssignmentHiddenTokens());
+ marker.commit();
+ return result;
+ }
+ result = consumeGroup$22();
+ if (result!=ConsumeResult.SUCCESS) {
+ error("Another token expected.", getRule().ele0001011Group());
+ marker.commit();
+ return result;
+ }
+ marker.commit();
+ return result;
}
protected int consumeAssignment$19() throws Exception {
int result = Integer.MIN_VALUE;
int tempResult;
- tempResult = consumeTerminal(idConsumer, "hiddenTokens", true, false, getRule().ele00010010CrossReferenceEStringAbstractRule(), getCrossReference$20$Delimiter());
+ tempResult = consumeTerminal(idConsumer, "hiddenTokens", true, false, getRule().ele00010100CrossReferenceEStringAbstractRule(), getCrossReference$20$Delimiter());
if (tempResult == ConsumeResult.SUCCESS)
return tempResult;
result = tempResult >= result ? tempResult : result;
@@ -251,13 +274,13 @@ public final class XtextTerminalsTestLanguageParserRuleConsumer extends NonTermi
int result;
result = consumeKeyword$23();
if (result!=ConsumeResult.SUCCESS) {
- error("Another token expected.", getRule().ele0001010KeywordComma());
+ error("Another token expected.", getRule().ele00010110KeywordComma());
marker.commit();
return result;
}
result = consumeAssignment$24();
if (result!=ConsumeResult.SUCCESS) {
- error("Another token expected.", getRule().ele0001011AssignmentHiddenTokens());
+ error("Another token expected.", getRule().ele00010111AssignmentHiddenTokens());
marker.commit();
return result;
}
@@ -266,13 +289,13 @@ public final class XtextTerminalsTestLanguageParserRuleConsumer extends NonTermi
}
protected int consumeKeyword$23() throws Exception {
- return consumeKeyword(getRule().ele0001010KeywordComma(), null, false, false, getKeyword$23$Delimiter());
+ return consumeKeyword(getRule().ele00010110KeywordComma(), null, false, false, getKeyword$23$Delimiter());
}
protected int consumeAssignment$24() throws Exception {
int result = Integer.MIN_VALUE;
int tempResult;
- tempResult = consumeTerminal(idConsumer, "hiddenTokens", true, false, getRule().ele00010110CrossReferenceEStringAbstractRule(), getCrossReference$25$Delimiter());
+ tempResult = consumeTerminal(idConsumer, "hiddenTokens", true, false, getRule().ele000101110CrossReferenceEStringAbstractRule(), getCrossReference$25$Delimiter());
if (tempResult == ConsumeResult.SUCCESS)
return tempResult;
result = tempResult >= result ? tempResult : result;
@@ -350,20 +373,20 @@ public final class XtextTerminalsTestLanguageParserRuleConsumer extends NonTermi
keyword$9$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
}
- public ICharacterClass getKeyword$17$Delimiter() {
- return keyword$17$Delimiter;
+ public ICharacterClass getKeyword$16$Delimiter() {
+ return keyword$16$Delimiter;
}
- public void setKeyword$17$Delimiter(ICharacterClass characterClass) {
- keyword$17$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ public void setKeyword$16$Delimiter(ICharacterClass characterClass) {
+ keyword$16$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
}
- public ICharacterClass getKeyword$18$Delimiter() {
- return keyword$18$Delimiter;
+ public ICharacterClass getKeyword$17$Delimiter() {
+ return keyword$17$Delimiter;
}
- public void setKeyword$18$Delimiter(ICharacterClass characterClass) {
- keyword$18$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
+ public void setKeyword$17$Delimiter(ICharacterClass characterClass) {
+ keyword$17$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass();
}
public ICharacterClass getKeyword$23$Delimiter() {
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/HiddenTerminalsTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/HiddenTerminalsTestLanguageParseTreeConstructor.java
new file mode 100644
index 0000000..def10c4
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/HiddenTerminalsTestLanguageParseTreeConstructor.java
@@ -0,0 +1,1438 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.parsetree.reconstr;
+
+//import org.apache.log4j.Logger;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parsetree.reconstr.*;
+import org.eclipse.xtext.parsetree.reconstr.impl.*;
+import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor.AbstractToken.Solution;
+import org.eclipse.xtext.parser.terminalrules.services.HiddenTerminalsTestLanguageGrammarAccess;
+
+
+public class HiddenTerminalsTestLanguageParseTreeConstructor extends AbstractParseTreeConstructor {
+
+ protected Solution internalSerialize(EObject obj) {
+ IInstanceDescription inst = getDescr(obj);
+ Solution s;
+ if(inst.isInstanceOf("Model") && (s = new Model_Alternatives(inst, null).firstSolution()) != null && isConsumed(s,null)) return s;
+ if(inst.isInstanceOf("WithoutHiddens") && (s = new WithoutHiddens_Group(inst, null).firstSolution()) != null && isConsumed(s,null)) return s;
+ if(inst.isInstanceOf("WithHiddens") && (s = new WithHiddens_Group(inst, null).firstSolution()) != null && isConsumed(s,null)) return s;
+ if(inst.isInstanceOf("OverridingHiddens") && (s = new OverridingHiddens_Group(inst, null).firstSolution()) != null && isConsumed(s,null)) return s;
+ if(inst.isInstanceOf("OverridingHiddensCall") && (s = new OverridingHiddensCall_Group(inst, null).firstSolution()) != null && isConsumed(s,null)) return s;
+ if(inst.isInstanceOf("InheritingHiddens") && (s = new InheritingHiddens_Group(inst, null).firstSolution()) != null && isConsumed(s,null)) return s;
+ if(inst.isInstanceOf("HidingHiddens") && (s = new HidingHiddens_Group(inst, null).firstSolution()) != null && isConsumed(s,null)) return s;
+ if(inst.isInstanceOf("InheritingHiddensCall") && (s = new InheritingHiddensCall_Group(inst, null).firstSolution()) != null && isConsumed(s,null)) return s;
+ return null;
+ }
+
+
+/************ begin Rule Model ****************
+ *
+ * Model : WithoutHiddens | WithHiddens | OverridingHiddens | InheritingHiddens ;
+ *
+ **/
+
+
+// WithoutHiddens | WithHiddens | OverridingHiddens | InheritingHiddens
+protected class Model_Alternatives extends AlternativesToken {
+
+ public Model_Alternatives(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Alternatives getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prModel().eleAlternatives();
+ }
+
+ protected Solution createSolution() {
+ AbstractToken t = (first) ? new Model_1_RuleCall_InheritingHiddens(current, this) : new Model_0_Alternatives(current, this);
+ Solution s = t.firstSolution();
+ if(s == null && activateNextSolution()) s = createSolution();
+ if(s == null) return null;
+ last = s.getPredecessor();
+ return s;
+ }
+}
+
+// WithoutHiddens | WithHiddens | OverridingHiddens
+protected class Model_0_Alternatives extends AlternativesToken {
+
+ public Model_0_Alternatives(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Alternatives getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prModel().ele0Alternatives();
+ }
+
+ protected Solution createSolution() {
+ AbstractToken t = (first) ? new Model_0_1_RuleCall_OverridingHiddens(current, this) : new Model_0_0_Alternatives(current, this);
+ Solution s = t.firstSolution();
+ if(s == null && activateNextSolution()) s = createSolution();
+ if(s == null) return null;
+ last = s.getPredecessor();
+ return s;
+ }
+}
+
+// WithoutHiddens | WithHiddens
+protected class Model_0_0_Alternatives extends AlternativesToken {
+
+ public Model_0_0_Alternatives(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Alternatives getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prModel().ele00Alternatives();
+ }
+
+ protected Solution createSolution() {
+ AbstractToken t = (first) ? new Model_0_0_1_RuleCall_WithHiddens(current, this) : new Model_0_0_0_RuleCall_WithoutHiddens(current, this);
+ Solution s = t.firstSolution();
+ if(s == null && activateNextSolution()) s = createSolution();
+ if(s == null) return null;
+ last = s.getPredecessor();
+ return s;
+ }
+}
+
+// WithoutHiddens
+protected class Model_0_0_0_RuleCall_WithoutHiddens extends RuleCallToken {
+
+ public Model_0_0_0_RuleCall_WithoutHiddens(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public RuleCall getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prModel().ele000ParserRuleCallWithoutHiddens();
+ }
+
+ protected Solution createSolution() {
+ if(checkForRecursion(WithoutHiddens_Group.class, current)) return null;
+ if(!current.isInstanceOf("WithoutHiddens")) return null;
+ return new WithoutHiddens_Group(current, this).firstSolution();
+ }
+}
+
+// WithHiddens
+protected class Model_0_0_1_RuleCall_WithHiddens extends RuleCallToken {
+
+ public Model_0_0_1_RuleCall_WithHiddens(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public RuleCall getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prModel().ele001ParserRuleCallWithHiddens();
+ }
+
+ protected Solution createSolution() {
+ if(checkForRecursion(WithHiddens_Group.class, current)) return null;
+ if(!current.isInstanceOf("WithHiddens")) return null;
+ return new WithHiddens_Group(current, this).firstSolution();
+ }
+}
+
+
+// OverridingHiddens
+protected class Model_0_1_RuleCall_OverridingHiddens extends RuleCallToken {
+
+ public Model_0_1_RuleCall_OverridingHiddens(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public RuleCall getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prModel().ele01ParserRuleCallOverridingHiddens();
+ }
+
+ protected Solution createSolution() {
+ if(checkForRecursion(OverridingHiddens_Group.class, current)) return null;
+ if(!current.isInstanceOf("OverridingHiddens")) return null;
+ return new OverridingHiddens_Group(current, this).firstSolution();
+ }
+}
+
+
+// InheritingHiddens
+protected class Model_1_RuleCall_InheritingHiddens extends RuleCallToken {
+
+ public Model_1_RuleCall_InheritingHiddens(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public RuleCall getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prModel().ele1ParserRuleCallInheritingHiddens();
+ }
+
+ protected Solution createSolution() {
+ if(checkForRecursion(InheritingHiddens_Group.class, current)) return null;
+ if(!current.isInstanceOf("InheritingHiddens")) return null;
+ return new InheritingHiddens_Group(current, this).firstSolution();
+ }
+}
+
+
+/************ end Rule Model ****************/
+
+
+/************ begin Rule WithoutHiddens ****************
+ *
+ * WithoutHiddens : "without" spaces += WS "hiddens" ( spaces += WS ) ? valid ?= ";" ;
+ *
+ **/
+
+
+// "without" spaces += WS "hiddens" ( spaces += WS ) ? valid ?= ";"
+protected class WithoutHiddens_Group extends GroupToken {
+
+ public WithoutHiddens_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().eleGroup();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new WithoutHiddens_1_Assignment_valid(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new WithoutHiddens_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "without" spaces += WS "hiddens" ( spaces += WS ) ?
+protected class WithoutHiddens_0_Group extends GroupToken {
+
+ public WithoutHiddens_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele0Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new WithoutHiddens_0_1_Assignment_spaces(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new WithoutHiddens_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "without" spaces += WS "hiddens"
+protected class WithoutHiddens_0_0_Group extends GroupToken {
+
+ public WithoutHiddens_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele00Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new WithoutHiddens_0_0_1_Keyword_hiddens(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new WithoutHiddens_0_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "without" spaces += WS
+protected class WithoutHiddens_0_0_0_Group extends GroupToken {
+
+ public WithoutHiddens_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele000Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new WithoutHiddens_0_0_0_1_Assignment_spaces(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new WithoutHiddens_0_0_0_0_Keyword_without(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "without"
+protected class WithoutHiddens_0_0_0_0_Keyword_without extends KeywordToken {
+
+ public WithoutHiddens_0_0_0_0_Keyword_without(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele0000KeywordWithout();
+ }
+}
+
+// spaces += WS
+protected class WithoutHiddens_0_0_0_1_Assignment_spaces extends AssignmentToken {
+
+ public WithoutHiddens_0_0_0_1_Assignment_spaces(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele0001AssignmentSpaces();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("spaces",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("spaces");
+
+ if(true) { // xtext::RuleCall FIXME: check if value is valid for datatype rule
+ type = AssignmentType.PRC;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele00010ParserRuleCallWS();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+// "hiddens"
+protected class WithoutHiddens_0_0_1_Keyword_hiddens extends KeywordToken {
+
+ public WithoutHiddens_0_0_1_Keyword_hiddens(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele001KeywordHiddens();
+ }
+}
+
+
+// ( spaces += WS ) ?
+protected class WithoutHiddens_0_1_Assignment_spaces extends AssignmentToken {
+
+ public WithoutHiddens_0_1_Assignment_spaces(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, !IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele01AssignmentSpaces();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("spaces",!IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("spaces");
+
+ if(true) { // xtext::RuleCall FIXME: check if value is valid for datatype rule
+ type = AssignmentType.PRC;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele010ParserRuleCallWS();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+// valid ?= ";"
+protected class WithoutHiddens_1_Assignment_valid extends AssignmentToken {
+
+ public WithoutHiddens_1_Assignment_valid(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele1AssignmentValid();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("valid",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("valid");
+
+ if(Boolean.TRUE.equals(value)) { // xtext::Keyword
+ type = AssignmentType.KW;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithoutHiddens().ele10KeywordSemicolon();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+/************ end Rule WithoutHiddens ****************/
+
+
+/************ begin Rule WithHiddens ****************
+ *
+ * WithHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "with" "hiddens" valid ?= ";" ;
+ *
+ **/
+
+
+// "with" "hiddens" valid ?= ";"
+protected class WithHiddens_Group extends GroupToken {
+
+ public WithHiddens_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithHiddens().eleGroup();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new WithHiddens_1_Assignment_valid(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new WithHiddens_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "with" "hiddens"
+protected class WithHiddens_0_Group extends GroupToken {
+
+ public WithHiddens_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithHiddens().ele0Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new WithHiddens_0_1_Keyword_hiddens(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new WithHiddens_0_0_Keyword_with(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "with"
+protected class WithHiddens_0_0_Keyword_with extends KeywordToken {
+
+ public WithHiddens_0_0_Keyword_with(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithHiddens().ele00KeywordWith();
+ }
+}
+
+// "hiddens"
+protected class WithHiddens_0_1_Keyword_hiddens extends KeywordToken {
+
+ public WithHiddens_0_1_Keyword_hiddens(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithHiddens().ele01KeywordHiddens();
+ }
+}
+
+
+// valid ?= ";"
+protected class WithHiddens_1_Assignment_valid extends AssignmentToken {
+
+ public WithHiddens_1_Assignment_valid(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithHiddens().ele1AssignmentValid();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("valid",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("valid");
+
+ if(Boolean.TRUE.equals(value)) { // xtext::Keyword
+ type = AssignmentType.KW;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prWithHiddens().ele10KeywordSemicolon();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+/************ end Rule WithHiddens ****************/
+
+
+/************ begin Rule OverridingHiddens ****************
+ *
+ * OverridingHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "overriding" "hiddens" "(" called = OverridingHiddensCall ")" valid ?= ";" ;
+ *
+ **/
+
+
+// "overriding" "hiddens" "(" called = OverridingHiddensCall ")" valid ?= ";"
+protected class OverridingHiddens_Group extends GroupToken {
+
+ public OverridingHiddens_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().eleGroup();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new OverridingHiddens_1_Assignment_valid(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new OverridingHiddens_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "overriding" "hiddens" "(" called = OverridingHiddensCall ")"
+protected class OverridingHiddens_0_Group extends GroupToken {
+
+ public OverridingHiddens_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele0Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new OverridingHiddens_0_1_Keyword(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new OverridingHiddens_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "overriding" "hiddens" "(" called = OverridingHiddensCall
+protected class OverridingHiddens_0_0_Group extends GroupToken {
+
+ public OverridingHiddens_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele00Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new OverridingHiddens_0_0_1_Assignment_called(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new OverridingHiddens_0_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "overriding" "hiddens" "("
+protected class OverridingHiddens_0_0_0_Group extends GroupToken {
+
+ public OverridingHiddens_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele000Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new OverridingHiddens_0_0_0_1_Keyword(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new OverridingHiddens_0_0_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "overriding" "hiddens"
+protected class OverridingHiddens_0_0_0_0_Group extends GroupToken {
+
+ public OverridingHiddens_0_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele0000Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new OverridingHiddens_0_0_0_0_1_Keyword_hiddens(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new OverridingHiddens_0_0_0_0_0_Keyword_overriding(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "overriding"
+protected class OverridingHiddens_0_0_0_0_0_Keyword_overriding extends KeywordToken {
+
+ public OverridingHiddens_0_0_0_0_0_Keyword_overriding(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele00000KeywordOverriding();
+ }
+}
+
+// "hiddens"
+protected class OverridingHiddens_0_0_0_0_1_Keyword_hiddens extends KeywordToken {
+
+ public OverridingHiddens_0_0_0_0_1_Keyword_hiddens(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele00001KeywordHiddens();
+ }
+}
+
+
+// "("
+protected class OverridingHiddens_0_0_0_1_Keyword extends KeywordToken {
+
+ public OverridingHiddens_0_0_0_1_Keyword(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele0001KeywordLeftParenthesis();
+ }
+}
+
+
+// called = OverridingHiddensCall
+protected class OverridingHiddens_0_0_1_Assignment_called extends AssignmentToken {
+
+ public OverridingHiddens_0_0_1_Assignment_called(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele001AssignmentCalled();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("called",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("called");
+
+ if(value instanceof EObject) { // xtext::RuleCall
+ IInstanceDescription param = getDescr((EObject)value);
+ if(param.isInstanceOf("OverridingHiddensCall")) {
+ Solution s = new OverridingHiddensCall_Group(param, this).firstSolution();
+ while(s != null && !isConsumed(s,this)) s = s.getPredecessor().nextSolution(this,s);
+ if(s != null) {
+ type = AssignmentType.PRC;
+ return new Solution(obj,s.getPredecessor());
+ }
+ }
+ }
+
+ return null;
+ }
+}
+
+
+// ")"
+protected class OverridingHiddens_0_1_Keyword extends KeywordToken {
+
+ public OverridingHiddens_0_1_Keyword(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele01KeywordRightParenthesis();
+ }
+}
+
+
+// valid ?= ";"
+protected class OverridingHiddens_1_Assignment_valid extends AssignmentToken {
+
+ public OverridingHiddens_1_Assignment_valid(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele1AssignmentValid();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("valid",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("valid");
+
+ if(Boolean.TRUE.equals(value)) { // xtext::Keyword
+ type = AssignmentType.KW;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddens().ele10KeywordSemicolon();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+/************ end Rule OverridingHiddens ****************/
+
+
+/************ begin Rule OverridingHiddensCall ****************
+ *
+ * OverridingHiddensCall hidden ( ) : "call" ( spaces += WS ) ? valid ?= ";" ;
+ *
+ **/
+
+
+// "call" ( spaces += WS ) ? valid ?= ";"
+protected class OverridingHiddensCall_Group extends GroupToken {
+
+ public OverridingHiddensCall_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddensCall().eleGroup();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new OverridingHiddensCall_1_Assignment_valid(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new OverridingHiddensCall_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "call" ( spaces += WS ) ?
+protected class OverridingHiddensCall_0_Group extends GroupToken {
+
+ public OverridingHiddensCall_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddensCall().ele0Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new OverridingHiddensCall_0_1_Assignment_spaces(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new OverridingHiddensCall_0_0_Keyword_call(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "call"
+protected class OverridingHiddensCall_0_0_Keyword_call extends KeywordToken {
+
+ public OverridingHiddensCall_0_0_Keyword_call(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddensCall().ele00KeywordCall();
+ }
+}
+
+// ( spaces += WS ) ?
+protected class OverridingHiddensCall_0_1_Assignment_spaces extends AssignmentToken {
+
+ public OverridingHiddensCall_0_1_Assignment_spaces(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, !IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddensCall().ele01AssignmentSpaces();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("spaces",!IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("spaces");
+
+ if(true) { // xtext::RuleCall FIXME: check if value is valid for datatype rule
+ type = AssignmentType.PRC;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddensCall().ele010ParserRuleCallWS();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+// valid ?= ";"
+protected class OverridingHiddensCall_1_Assignment_valid extends AssignmentToken {
+
+ public OverridingHiddensCall_1_Assignment_valid(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddensCall().ele1AssignmentValid();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("valid",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("valid");
+
+ if(Boolean.TRUE.equals(value)) { // xtext::Keyword
+ type = AssignmentType.KW;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prOverridingHiddensCall().ele10KeywordSemicolon();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+/************ end Rule OverridingHiddensCall ****************/
+
+
+/************ begin Rule InheritingHiddens ****************
+ *
+ * InheritingHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens ) ")" valid ?= ";" ;
+ *
+ **/
+
+
+// "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens ) ")" valid ?= ";"
+protected class InheritingHiddens_Group extends GroupToken {
+
+ public InheritingHiddens_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().eleGroup();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new InheritingHiddens_1_Assignment_valid(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new InheritingHiddens_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens ) ")"
+protected class InheritingHiddens_0_Group extends GroupToken {
+
+ public InheritingHiddens_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele0Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new InheritingHiddens_0_1_Keyword(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new InheritingHiddens_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens )
+protected class InheritingHiddens_0_0_Group extends GroupToken {
+
+ public InheritingHiddens_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele00Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new InheritingHiddens_0_0_1_Alternatives(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new InheritingHiddens_0_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "inheriting" "hiddens" "("
+protected class InheritingHiddens_0_0_0_Group extends GroupToken {
+
+ public InheritingHiddens_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele000Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new InheritingHiddens_0_0_0_1_Keyword(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new InheritingHiddens_0_0_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "inheriting" "hiddens"
+protected class InheritingHiddens_0_0_0_0_Group extends GroupToken {
+
+ public InheritingHiddens_0_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele0000Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new InheritingHiddens_0_0_0_0_1_Keyword_hiddens(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new InheritingHiddens_0_0_0_0_0_Keyword_inheriting(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "inheriting"
+protected class InheritingHiddens_0_0_0_0_0_Keyword_inheriting extends KeywordToken {
+
+ public InheritingHiddens_0_0_0_0_0_Keyword_inheriting(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele00000KeywordInheriting();
+ }
+}
+
+// "hiddens"
+protected class InheritingHiddens_0_0_0_0_1_Keyword_hiddens extends KeywordToken {
+
+ public InheritingHiddens_0_0_0_0_1_Keyword_hiddens(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele00001KeywordHiddens();
+ }
+}
+
+
+// "("
+protected class InheritingHiddens_0_0_0_1_Keyword extends KeywordToken {
+
+ public InheritingHiddens_0_0_0_1_Keyword(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele0001KeywordLeftParenthesis();
+ }
+}
+
+
+// called = InheritingHiddensCall | hidingCalled = HidingHiddens
+protected class InheritingHiddens_0_0_1_Alternatives extends AlternativesToken {
+
+ public InheritingHiddens_0_0_1_Alternatives(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Alternatives getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele001Alternatives();
+ }
+
+ protected Solution createSolution() {
+ AbstractToken t = (first) ? new InheritingHiddens_0_0_1_1_Assignment_hidingCalled(current, this) : new InheritingHiddens_0_0_1_0_Assignment_called(current, this);
+ Solution s = t.firstSolution();
+ if(s == null && activateNextSolution()) s = createSolution();
+ if(s == null) return null;
+ last = s.getPredecessor();
+ return s;
+ }
+}
+
+// called = InheritingHiddensCall
+protected class InheritingHiddens_0_0_1_0_Assignment_called extends AssignmentToken {
+
+ public InheritingHiddens_0_0_1_0_Assignment_called(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele0010AssignmentCalled();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("called",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("called");
+
+ if(value instanceof EObject) { // xtext::RuleCall
+ IInstanceDescription param = getDescr((EObject)value);
+ if(param.isInstanceOf("InheritingHiddensCall")) {
+ Solution s = new InheritingHiddensCall_Group(param, this).firstSolution();
+ while(s != null && !isConsumed(s,this)) s = s.getPredecessor().nextSolution(this,s);
+ if(s != null) {
+ type = AssignmentType.PRC;
+ return new Solution(obj,s.getPredecessor());
+ }
+ }
+ }
+
+ return null;
+ }
+}
+
+// hidingCalled = HidingHiddens
+protected class InheritingHiddens_0_0_1_1_Assignment_hidingCalled extends AssignmentToken {
+
+ public InheritingHiddens_0_0_1_1_Assignment_hidingCalled(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele0011AssignmentHidingCalled();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("hidingCalled",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("hidingCalled");
+
+ if(value instanceof EObject) { // xtext::RuleCall
+ IInstanceDescription param = getDescr((EObject)value);
+ if(param.isInstanceOf("HidingHiddens")) {
+ Solution s = new HidingHiddens_Group(param, this).firstSolution();
+ while(s != null && !isConsumed(s,this)) s = s.getPredecessor().nextSolution(this,s);
+ if(s != null) {
+ type = AssignmentType.PRC;
+ return new Solution(obj,s.getPredecessor());
+ }
+ }
+ }
+
+ return null;
+ }
+}
+
+
+
+// ")"
+protected class InheritingHiddens_0_1_Keyword extends KeywordToken {
+
+ public InheritingHiddens_0_1_Keyword(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele01KeywordRightParenthesis();
+ }
+}
+
+
+// valid ?= ";"
+protected class InheritingHiddens_1_Assignment_valid extends AssignmentToken {
+
+ public InheritingHiddens_1_Assignment_valid(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele1AssignmentValid();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("valid",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("valid");
+
+ if(Boolean.TRUE.equals(value)) { // xtext::Keyword
+ type = AssignmentType.KW;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddens().ele10KeywordSemicolon();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+/************ end Rule InheritingHiddens ****************/
+
+
+/************ begin Rule HidingHiddens ****************
+ *
+ * HidingHiddens hidden ( ) : "hiding" space = WS called = InheritingHiddensCall ;
+ *
+ **/
+
+
+// "hiding" space = WS called = InheritingHiddensCall
+protected class HidingHiddens_Group extends GroupToken {
+
+ public HidingHiddens_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prHidingHiddens().eleGroup();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new HidingHiddens_1_Assignment_called(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new HidingHiddens_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "hiding" space = WS
+protected class HidingHiddens_0_Group extends GroupToken {
+
+ public HidingHiddens_0_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prHidingHiddens().ele0Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new HidingHiddens_0_1_Assignment_space(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new HidingHiddens_0_0_Keyword_hiding(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "hiding"
+protected class HidingHiddens_0_0_Keyword_hiding extends KeywordToken {
+
+ public HidingHiddens_0_0_Keyword_hiding(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prHidingHiddens().ele00KeywordHiding();
+ }
+}
+
+// space = WS
+protected class HidingHiddens_0_1_Assignment_space extends AssignmentToken {
+
+ public HidingHiddens_0_1_Assignment_space(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prHidingHiddens().ele01AssignmentSpace();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("space",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("space");
+
+ if(true) { // xtext::RuleCall FIXME: check if value is valid for datatype rule
+ type = AssignmentType.PRC;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prHidingHiddens().ele010ParserRuleCallWS();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+// called = InheritingHiddensCall
+protected class HidingHiddens_1_Assignment_called extends AssignmentToken {
+
+ public HidingHiddens_1_Assignment_called(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prHidingHiddens().ele1AssignmentCalled();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("called",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("called");
+
+ if(value instanceof EObject) { // xtext::RuleCall
+ IInstanceDescription param = getDescr((EObject)value);
+ if(param.isInstanceOf("InheritingHiddensCall")) {
+ Solution s = new InheritingHiddensCall_Group(param, this).firstSolution();
+ while(s != null && !isConsumed(s,this)) s = s.getPredecessor().nextSolution(this,s);
+ if(s != null) {
+ type = AssignmentType.PRC;
+ return new Solution(obj,s.getPredecessor());
+ }
+ }
+ }
+
+ return null;
+ }
+}
+
+
+/************ end Rule HidingHiddens ****************/
+
+
+/************ begin Rule InheritingHiddensCall ****************
+ *
+ * InheritingHiddensCall : "call" valid ?= ";" ;
+ *
+ **/
+
+
+// "call" valid ?= ";"
+protected class InheritingHiddensCall_Group extends GroupToken {
+
+ public InheritingHiddensCall_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddensCall().eleGroup();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new InheritingHiddensCall_1_Assignment_valid(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new InheritingHiddensCall_0_Keyword_call(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
+// "call"
+protected class InheritingHiddensCall_0_Keyword_call extends KeywordToken {
+
+ public InheritingHiddensCall_0_Keyword_call(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Keyword getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddensCall().ele0KeywordCall();
+ }
+}
+
+// valid ?= ";"
+protected class InheritingHiddensCall_1_Assignment_valid extends AssignmentToken {
+
+ public InheritingHiddensCall_1_Assignment_valid(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, IS_REQUIRED);
+ }
+
+ public Assignment getGrammarElement() {
+ return HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddensCall().ele1AssignmentValid();
+ }
+
+ protected Solution createSolution() {
+ if((value = current.getConsumable("valid",IS_REQUIRED)) == null) return null;
+ IInstanceDescription obj = current.cloneAndConsume("valid");
+
+ if(Boolean.TRUE.equals(value)) { // xtext::Keyword
+ type = AssignmentType.KW;
+ element = HiddenTerminalsTestLanguageGrammarAccess.INSTANCE.prInheritingHiddensCall().ele10KeywordSemicolon();
+ return new Solution(obj);
+ }
+
+ return null;
+ }
+}
+
+
+/************ end Rule InheritingHiddensCall ****************/
+
+
+
+
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/XtextTerminalsTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/XtextTerminalsTestLanguageParseTreeConstructor.java
index d61f31c..27caec4 100644
--- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/XtextTerminalsTestLanguageParseTreeConstructor.java
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/parsetree/reconstr/XtextTerminalsTestLanguageParseTreeConstructor.java
@@ -1501,12 +1501,12 @@ protected class LexerRule_1_Keyword extends KeywordToken {
/************ begin Rule ParserRule ****************
*
- * ParserRule : name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":" alternatives = Alternatives ";" ;
+ * ParserRule : name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":" alternatives = Alternatives ";" ;
*
**/
-// name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":" alternatives = Alternatives ";"
+// name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":" alternatives = Alternatives ";"
protected class ParserRule_Group extends GroupToken {
public ParserRule_Group(IInstanceDescription curr, AbstractToken pred) {
@@ -1534,7 +1534,7 @@ protected class ParserRule_Group extends GroupToken {
}
}
-// name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":" alternatives = Alternatives
+// name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":" alternatives = Alternatives
protected class ParserRule_0_Group extends GroupToken {
public ParserRule_0_Group(IInstanceDescription curr, AbstractToken pred) {
@@ -1562,7 +1562,7 @@ protected class ParserRule_0_Group extends GroupToken {
}
}
-// name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":"
+// name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":"
protected class ParserRule_0_0_Group extends GroupToken {
public ParserRule_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
@@ -1590,7 +1590,7 @@ protected class ParserRule_0_0_Group extends GroupToken {
}
}
-// name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ?
+// name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ?
protected class ParserRule_0_0_0_Group extends GroupToken {
public ParserRule_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
@@ -1744,7 +1744,7 @@ protected class ParserRule_0_0_0_0_1_1_Assignment_type extends AssignmentToken
-// ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ?
+// ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ?
protected class ParserRule_0_0_0_1_Group extends GroupToken {
public ParserRule_0_0_0_1_Group(IInstanceDescription curr, AbstractToken pred) {
@@ -1772,7 +1772,7 @@ protected class ParserRule_0_0_0_1_Group extends GroupToken {
}
}
-// definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) *
+// definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ?
protected class ParserRule_0_0_0_1_0_Group extends GroupToken {
public ParserRule_0_0_0_1_0_Group(IInstanceDescription curr, AbstractToken pred) {
@@ -1800,7 +1800,7 @@ protected class ParserRule_0_0_0_1_0_Group extends GroupToken {
}
}
-// definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ]
+// definesHiddenTokens ?= "hidden" "("
protected class ParserRule_0_0_0_1_0_0_Group extends GroupToken {
public ParserRule_0_0_0_1_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
@@ -1812,37 +1812,9 @@ protected class ParserRule_0_0_0_1_0_0_Group extends GroupToken {
}
protected Solution createSolution() {
- Solution s1 = new ParserRule_0_0_0_1_0_0_1_Assignment_hiddenTokens(current, this).firstSolution();
+ Solution s1 = new ParserRule_0_0_0_1_0_0_1_Keyword(current, this).firstSolution();
while(s1 != null) {
- Solution s2 = new ParserRule_0_0_0_1_0_0_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution();
- if(s2 == null) {
- s1 = s1.getPredecessor().nextSolution(this,s1);
- if(s1 == null) return null;
- } else {
- last = s2.getPredecessor();
- return s2;
- }
- }
- return null;
-
- }
-}
-
-// definesHiddenTokens ?= "hidden" "("
-protected class ParserRule_0_0_0_1_0_0_0_Group extends GroupToken {
-
- public ParserRule_0_0_0_1_0_0_0_Group(IInstanceDescription curr, AbstractToken pred) {
- super(curr, pred, !IS_MANY, IS_REQUIRED);
- }
-
- public Group getGrammarElement() {
- return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele0001000Group();
- }
-
- protected Solution createSolution() {
- Solution s1 = new ParserRule_0_0_0_1_0_0_0_1_Keyword(current, this).firstSolution();
- while(s1 != null) {
- Solution s2 = new ParserRule_0_0_0_1_0_0_0_0_Assignment_definesHiddenTokens(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ Solution s2 = new ParserRule_0_0_0_1_0_0_0_Assignment_definesHiddenTokens(s1.getCurrent(), s1.getPredecessor()).firstSolution();
if(s2 == null) {
s1 = s1.getPredecessor().nextSolution(this,s1);
if(s1 == null) return null;
@@ -1857,14 +1829,14 @@ protected class ParserRule_0_0_0_1_0_0_0_Group extends GroupToken {
}
// definesHiddenTokens ?= "hidden"
-protected class ParserRule_0_0_0_1_0_0_0_0_Assignment_definesHiddenTokens extends AssignmentToken {
+protected class ParserRule_0_0_0_1_0_0_0_Assignment_definesHiddenTokens extends AssignmentToken {
- public ParserRule_0_0_0_1_0_0_0_0_Assignment_definesHiddenTokens(IInstanceDescription curr, AbstractToken pred) {
+ public ParserRule_0_0_0_1_0_0_0_Assignment_definesHiddenTokens(IInstanceDescription curr, AbstractToken pred) {
super(curr, pred, !IS_MANY, IS_REQUIRED);
}
public Assignment getGrammarElement() {
- return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele00010000AssignmentDefinesHiddenTokens();
+ return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele0001000AssignmentDefinesHiddenTokens();
}
protected Solution createSolution() {
@@ -1873,7 +1845,7 @@ protected class ParserRule_0_0_0_1_0_0_0_0_Assignment_definesHiddenTokens extend
if(Boolean.TRUE.equals(value)) { // xtext::Keyword
type = AssignmentType.KW;
- element = XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele000100000KeywordHidden();
+ element = XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele00010000KeywordHidden();
return new Solution(obj);
}
@@ -1882,27 +1854,55 @@ protected class ParserRule_0_0_0_1_0_0_0_0_Assignment_definesHiddenTokens extend
}
// "("
-protected class ParserRule_0_0_0_1_0_0_0_1_Keyword extends KeywordToken {
+protected class ParserRule_0_0_0_1_0_0_1_Keyword extends KeywordToken {
- public ParserRule_0_0_0_1_0_0_0_1_Keyword(IInstanceDescription curr, AbstractToken pred) {
+ public ParserRule_0_0_0_1_0_0_1_Keyword(IInstanceDescription curr, AbstractToken pred) {
super(curr, pred, !IS_MANY, IS_REQUIRED);
}
public Keyword getGrammarElement() {
- return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele00010001KeywordLeftParenthesis();
+ return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele0001001KeywordLeftParenthesis();
}
}
+// ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ?
+protected class ParserRule_0_0_0_1_0_1_Group extends GroupToken {
+
+ public ParserRule_0_0_0_1_0_1_Group(IInstanceDescription curr, AbstractToken pred) {
+ super(curr, pred, !IS_MANY, !IS_REQUIRED);
+ }
+
+ public Group getGrammarElement() {
+ return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele000101Group();
+ }
+
+ protected Solution createSolution() {
+ Solution s1 = new ParserRule_0_0_0_1_0_1_1_Group(current, this).firstSolution();
+ while(s1 != null) {
+ Solution s2 = new ParserRule_0_0_0_1_0_1_0_Assignment_hiddenTokens(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ if(s2 == null) {
+ s1 = s1.getPredecessor().nextSolution(this,s1);
+ if(s1 == null) return null;
+ } else {
+ last = s2.getPredecessor();
+ return s2;
+ }
+ }
+ return null;
+
+ }
+}
+
// hiddenTokens += [ AbstractRule ]
-protected class ParserRule_0_0_0_1_0_0_1_Assignment_hiddenTokens extends AssignmentToken {
+protected class ParserRule_0_0_0_1_0_1_0_Assignment_hiddenTokens extends AssignmentToken {
- public ParserRule_0_0_0_1_0_0_1_Assignment_hiddenTokens(IInstanceDescription curr, AbstractToken pred) {
+ public ParserRule_0_0_0_1_0_1_0_Assignment_hiddenTokens(IInstanceDescription curr, AbstractToken pred) {
super(curr, pred, !IS_MANY, IS_REQUIRED);
}
public Assignment getGrammarElement() {
- return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele0001001AssignmentHiddenTokens();
+ return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele0001010AssignmentHiddenTokens();
}
protected Solution createSolution() {
@@ -1912,7 +1912,7 @@ protected class ParserRule_0_0_0_1_0_0_1_Assignment_hiddenTokens extends Assignm
IInstanceDescription param = getDescr((EObject)value);
if(param.isInstanceOf("AbstractRule")) {
type = AssignmentType.CR;
- element = XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele00010010CrossReferenceEStringAbstractRule();
+ element = XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele00010100CrossReferenceEStringAbstractRule();
return new Solution(obj);
}
}
@@ -1920,22 +1920,21 @@ protected class ParserRule_0_0_0_1_0_0_1_Assignment_hiddenTokens extends Assignm
}
}
-
// ( "," hiddenTokens += [ AbstractRule ] ) *
-protected class ParserRule_0_0_0_1_0_1_Group extends GroupToken {
+protected class ParserRule_0_0_0_1_0_1_1_Group extends GroupToken {
- public ParserRule_0_0_0_1_0_1_Group(IInstanceDescription curr, AbstractToken pred) {
+ public ParserRule_0_0_0_1_0_1_1_Group(IInstanceDescription curr, AbstractToken pred) {
super(curr, pred, IS_MANY, !IS_REQUIRED);
}
public Group getGrammarElement() {
- return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele000101Group();
+ return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele0001011Group();
}
protected Solution createSolution() {
- Solution s1 = new ParserRule_0_0_0_1_0_1_1_Assignment_hiddenTokens(current, this).firstSolution();
+ Solution s1 = new ParserRule_0_0_0_1_0_1_1_1_Assignment_hiddenTokens(current, this).firstSolution();
while(s1 != null) {
- Solution s2 = new ParserRule_0_0_0_1_0_1_0_Keyword(s1.getCurrent(), s1.getPredecessor()).firstSolution();
+ Solution s2 = new ParserRule_0_0_0_1_0_1_1_0_Keyword(s1.getCurrent(), s1.getPredecessor()).firstSolution();
if(s2 == null) {
s1 = s1.getPredecessor().nextSolution(this,s1);
if(s1 == null) return null;
@@ -1950,26 +1949,26 @@ protected class ParserRule_0_0_0_1_0_1_Group extends GroupToken {
}
// ","
-protected class ParserRule_0_0_0_1_0_1_0_Keyword extends KeywordToken {
+protected class ParserRule_0_0_0_1_0_1_1_0_Keyword extends KeywordToken {
- public ParserRule_0_0_0_1_0_1_0_Keyword(IInstanceDescription curr, AbstractToken pred) {
+ public ParserRule_0_0_0_1_0_1_1_0_Keyword(IInstanceDescription curr, AbstractToken pred) {
super(curr, pred, !IS_MANY, IS_REQUIRED);
}
public Keyword getGrammarElement() {
- return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele0001010KeywordComma();
+ return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele00010110KeywordComma();
}
}
// hiddenTokens += [ AbstractRule ]
-protected class ParserRule_0_0_0_1_0_1_1_Assignment_hiddenTokens extends AssignmentToken {
+protected class ParserRule_0_0_0_1_0_1_1_1_Assignment_hiddenTokens extends AssignmentToken {
- public ParserRule_0_0_0_1_0_1_1_Assignment_hiddenTokens(IInstanceDescription curr, AbstractToken pred) {
+ public ParserRule_0_0_0_1_0_1_1_1_Assignment_hiddenTokens(IInstanceDescription curr, AbstractToken pred) {
super(curr, pred, !IS_MANY, IS_REQUIRED);
}
public Assignment getGrammarElement() {
- return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele0001011AssignmentHiddenTokens();
+ return XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele00010111AssignmentHiddenTokens();
}
protected Solution createSolution() {
@@ -1979,7 +1978,7 @@ protected class ParserRule_0_0_0_1_0_1_1_Assignment_hiddenTokens extends Assignm
IInstanceDescription param = getDescr((EObject)value);
if(param.isInstanceOf("AbstractRule")) {
type = AssignmentType.CR;
- element = XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele00010110CrossReferenceEStringAbstractRule();
+ element = XtextTerminalsTestLanguageGrammarAccess.INSTANCE.prParserRule().ele000101110CrossReferenceEStringAbstractRule();
return new Solution(obj);
}
}
@@ -1989,6 +1988,7 @@ protected class ParserRule_0_0_0_1_0_1_1_Assignment_hiddenTokens extends Assignm
+
// ")"
protected class ParserRule_0_0_0_1_1_Keyword extends KeywordToken {
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageGrammarAccess.java
new file mode 100644
index 0000000..27abca5
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageGrammarAccess.java
@@ -0,0 +1,563 @@
+/*
+Generated with Xtext
+*/
+
+package org.eclipse.xtext.parser.terminalrules.services;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.BaseEPackageAccess;
+
+public class HiddenTerminalsTestLanguageGrammarAccess extends BaseEPackageAccess implements IGrammarAccess {
+
+ public class ModelElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(2);
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Alternatives c0Alternatives = (Alternatives)cAlternatives.eContents().get(0);
+ private final Alternatives c00Alternatives = (Alternatives)c0Alternatives.eContents().get(0);
+ private final RuleCall c000ParserRuleCallWithoutHiddens = (RuleCall)c00Alternatives.eContents().get(0);
+ private final RuleCall c001ParserRuleCallWithHiddens = (RuleCall)c00Alternatives.eContents().get(1);
+ private final RuleCall c01ParserRuleCallOverridingHiddens = (RuleCall)c0Alternatives.eContents().get(1);
+ private final RuleCall c1ParserRuleCallInheritingHiddens = (RuleCall)cAlternatives.eContents().get(1);
+
+ // Model : WithoutHiddens | WithHiddens | OverridingHiddens | InheritingHiddens ;
+ public ParserRule getRule() { return rule; }
+
+ // WithoutHiddens | WithHiddens | OverridingHiddens | InheritingHiddens
+ public Alternatives eleAlternatives() { return cAlternatives; }
+
+ // WithoutHiddens | WithHiddens | OverridingHiddens
+ public Alternatives ele0Alternatives() { return c0Alternatives; }
+
+ // WithoutHiddens | WithHiddens
+ public Alternatives ele00Alternatives() { return c00Alternatives; }
+
+ // WithoutHiddens
+ public RuleCall ele000ParserRuleCallWithoutHiddens() { return c000ParserRuleCallWithoutHiddens; }
+
+ // WithHiddens
+ public RuleCall ele001ParserRuleCallWithHiddens() { return c001ParserRuleCallWithHiddens; }
+
+ // OverridingHiddens
+ public RuleCall ele01ParserRuleCallOverridingHiddens() { return c01ParserRuleCallOverridingHiddens; }
+
+ // InheritingHiddens
+ public RuleCall ele1ParserRuleCallInheritingHiddens() { return c1ParserRuleCallInheritingHiddens; }
+ }
+
+ public class WithoutHiddensElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(3);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group c0Group = (Group)cGroup.eContents().get(0);
+ private final Group c00Group = (Group)c0Group.eContents().get(0);
+ private final Group c000Group = (Group)c00Group.eContents().get(0);
+ private final Keyword c0000KeywordWithout = (Keyword)c000Group.eContents().get(0);
+ private final Assignment c0001AssignmentSpaces = (Assignment)c000Group.eContents().get(1);
+ private final RuleCall c00010ParserRuleCallWS = (RuleCall)c0001AssignmentSpaces.eContents().get(0);
+ private final Keyword c001KeywordHiddens = (Keyword)c00Group.eContents().get(1);
+ private final Assignment c01AssignmentSpaces = (Assignment)c0Group.eContents().get(1);
+ private final RuleCall c010ParserRuleCallWS = (RuleCall)c01AssignmentSpaces.eContents().get(0);
+ private final Assignment c1AssignmentValid = (Assignment)cGroup.eContents().get(1);
+ private final Keyword c10KeywordSemicolon = (Keyword)c1AssignmentValid.eContents().get(0);
+
+ // WithoutHiddens : "without" spaces += WS "hiddens" ( spaces += WS ) ? valid ?= ";" ;
+ public ParserRule getRule() { return rule; }
+
+ // "without" spaces += WS "hiddens" ( spaces += WS ) ? valid ?= ";"
+ public Group eleGroup() { return cGroup; }
+
+ // "without" spaces += WS "hiddens" ( spaces += WS ) ?
+ public Group ele0Group() { return c0Group; }
+
+ // "without" spaces += WS "hiddens"
+ public Group ele00Group() { return c00Group; }
+
+ // "without" spaces += WS
+ public Group ele000Group() { return c000Group; }
+
+ // "without"
+ public Keyword ele0000KeywordWithout() { return c0000KeywordWithout; }
+
+ // spaces += WS
+ public Assignment ele0001AssignmentSpaces() { return c0001AssignmentSpaces; }
+
+ // WS
+ public RuleCall ele00010ParserRuleCallWS() { return c00010ParserRuleCallWS; }
+
+ // "hiddens"
+ public Keyword ele001KeywordHiddens() { return c001KeywordHiddens; }
+
+ // ( spaces += WS ) ?
+ public Assignment ele01AssignmentSpaces() { return c01AssignmentSpaces; }
+
+ // WS
+ public RuleCall ele010ParserRuleCallWS() { return c010ParserRuleCallWS; }
+
+ // valid ?= ";"
+ public Assignment ele1AssignmentValid() { return c1AssignmentValid; }
+
+ // ";"
+ public Keyword ele10KeywordSemicolon() { return c10KeywordSemicolon; }
+ }
+
+ public class WithHiddensElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(4);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group c0Group = (Group)cGroup.eContents().get(0);
+ private final Keyword c00KeywordWith = (Keyword)c0Group.eContents().get(0);
+ private final Keyword c01KeywordHiddens = (Keyword)c0Group.eContents().get(1);
+ private final Assignment c1AssignmentValid = (Assignment)cGroup.eContents().get(1);
+ private final Keyword c10KeywordSemicolon = (Keyword)c1AssignmentValid.eContents().get(0);
+
+ // WithHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "with" "hiddens" valid ?= ";" ;
+ public ParserRule getRule() { return rule; }
+
+ // "with" "hiddens" valid ?= ";"
+ public Group eleGroup() { return cGroup; }
+
+ // "with" "hiddens"
+ public Group ele0Group() { return c0Group; }
+
+ // "with"
+ public Keyword ele00KeywordWith() { return c00KeywordWith; }
+
+ // "hiddens"
+ public Keyword ele01KeywordHiddens() { return c01KeywordHiddens; }
+
+ // valid ?= ";"
+ public Assignment ele1AssignmentValid() { return c1AssignmentValid; }
+
+ // ";"
+ public Keyword ele10KeywordSemicolon() { return c10KeywordSemicolon; }
+ }
+
+ public class OverridingHiddensElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(5);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group c0Group = (Group)cGroup.eContents().get(0);
+ private final Group c00Group = (Group)c0Group.eContents().get(0);
+ private final Group c000Group = (Group)c00Group.eContents().get(0);
+ private final Group c0000Group = (Group)c000Group.eContents().get(0);
+ private final Keyword c00000KeywordOverriding = (Keyword)c0000Group.eContents().get(0);
+ private final Keyword c00001KeywordHiddens = (Keyword)c0000Group.eContents().get(1);
+ private final Keyword c0001KeywordLeftParenthesis = (Keyword)c000Group.eContents().get(1);
+ private final Assignment c001AssignmentCalled = (Assignment)c00Group.eContents().get(1);
+ private final RuleCall c0010ParserRuleCallOverridingHiddensCall = (RuleCall)c001AssignmentCalled.eContents().get(0);
+ private final Keyword c01KeywordRightParenthesis = (Keyword)c0Group.eContents().get(1);
+ private final Assignment c1AssignmentValid = (Assignment)cGroup.eContents().get(1);
+ private final Keyword c10KeywordSemicolon = (Keyword)c1AssignmentValid.eContents().get(0);
+
+ // OverridingHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "overriding" "hiddens" "(" called = OverridingHiddensCall ")" valid ?= ";" ;
+ public ParserRule getRule() { return rule; }
+
+ // "overriding" "hiddens" "(" called = OverridingHiddensCall ")" valid ?= ";"
+ public Group eleGroup() { return cGroup; }
+
+ // "overriding" "hiddens" "(" called = OverridingHiddensCall ")"
+ public Group ele0Group() { return c0Group; }
+
+ // "overriding" "hiddens" "(" called = OverridingHiddensCall
+ public Group ele00Group() { return c00Group; }
+
+ // "overriding" "hiddens" "("
+ public Group ele000Group() { return c000Group; }
+
+ // "overriding" "hiddens"
+ public Group ele0000Group() { return c0000Group; }
+
+ // "overriding"
+ public Keyword ele00000KeywordOverriding() { return c00000KeywordOverriding; }
+
+ // "hiddens"
+ public Keyword ele00001KeywordHiddens() { return c00001KeywordHiddens; }
+
+ // "("
+ public Keyword ele0001KeywordLeftParenthesis() { return c0001KeywordLeftParenthesis; }
+
+ // called = OverridingHiddensCall
+ public Assignment ele001AssignmentCalled() { return c001AssignmentCalled; }
+
+ // OverridingHiddensCall
+ public RuleCall ele0010ParserRuleCallOverridingHiddensCall() { return c0010ParserRuleCallOverridingHiddensCall; }
+
+ // ")"
+ public Keyword ele01KeywordRightParenthesis() { return c01KeywordRightParenthesis; }
+
+ // valid ?= ";"
+ public Assignment ele1AssignmentValid() { return c1AssignmentValid; }
+
+ // ";"
+ public Keyword ele10KeywordSemicolon() { return c10KeywordSemicolon; }
+ }
+
+ public class OverridingHiddensCallElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(6);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group c0Group = (Group)cGroup.eContents().get(0);
+ private final Keyword c00KeywordCall = (Keyword)c0Group.eContents().get(0);
+ private final Assignment c01AssignmentSpaces = (Assignment)c0Group.eContents().get(1);
+ private final RuleCall c010ParserRuleCallWS = (RuleCall)c01AssignmentSpaces.eContents().get(0);
+ private final Assignment c1AssignmentValid = (Assignment)cGroup.eContents().get(1);
+ private final Keyword c10KeywordSemicolon = (Keyword)c1AssignmentValid.eContents().get(0);
+
+ // OverridingHiddensCall hidden ( ) : "call" ( spaces += WS ) ? valid ?= ";" ;
+ public ParserRule getRule() { return rule; }
+
+ // "call" ( spaces += WS ) ? valid ?= ";"
+ public Group eleGroup() { return cGroup; }
+
+ // "call" ( spaces += WS ) ?
+ public Group ele0Group() { return c0Group; }
+
+ // "call"
+ public Keyword ele00KeywordCall() { return c00KeywordCall; }
+
+ // ( spaces += WS ) ?
+ public Assignment ele01AssignmentSpaces() { return c01AssignmentSpaces; }
+
+ // WS
+ public RuleCall ele010ParserRuleCallWS() { return c010ParserRuleCallWS; }
+
+ // valid ?= ";"
+ public Assignment ele1AssignmentValid() { return c1AssignmentValid; }
+
+ // ";"
+ public Keyword ele10KeywordSemicolon() { return c10KeywordSemicolon; }
+ }
+
+ public class InheritingHiddensElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(7);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group c0Group = (Group)cGroup.eContents().get(0);
+ private final Group c00Group = (Group)c0Group.eContents().get(0);
+ private final Group c000Group = (Group)c00Group.eContents().get(0);
+ private final Group c0000Group = (Group)c000Group.eContents().get(0);
+ private final Keyword c00000KeywordInheriting = (Keyword)c0000Group.eContents().get(0);
+ private final Keyword c00001KeywordHiddens = (Keyword)c0000Group.eContents().get(1);
+ private final Keyword c0001KeywordLeftParenthesis = (Keyword)c000Group.eContents().get(1);
+ private final Alternatives c001Alternatives = (Alternatives)c00Group.eContents().get(1);
+ private final Assignment c0010AssignmentCalled = (Assignment)c001Alternatives.eContents().get(0);
+ private final RuleCall c00100ParserRuleCallInheritingHiddensCall = (RuleCall)c0010AssignmentCalled.eContents().get(0);
+ private final Assignment c0011AssignmentHidingCalled = (Assignment)c001Alternatives.eContents().get(1);
+ private final RuleCall c00110ParserRuleCallHidingHiddens = (RuleCall)c0011AssignmentHidingCalled.eContents().get(0);
+ private final Keyword c01KeywordRightParenthesis = (Keyword)c0Group.eContents().get(1);
+ private final Assignment c1AssignmentValid = (Assignment)cGroup.eContents().get(1);
+ private final Keyword c10KeywordSemicolon = (Keyword)c1AssignmentValid.eContents().get(0);
+
+ // InheritingHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens ) ")" valid ?= ";" ;
+ public ParserRule getRule() { return rule; }
+
+ // "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens ) ")" valid ?= ";"
+ public Group eleGroup() { return cGroup; }
+
+ // "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens ) ")"
+ public Group ele0Group() { return c0Group; }
+
+ // "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens )
+ public Group ele00Group() { return c00Group; }
+
+ // "inheriting" "hiddens" "("
+ public Group ele000Group() { return c000Group; }
+
+ // "inheriting" "hiddens"
+ public Group ele0000Group() { return c0000Group; }
+
+ // "inheriting"
+ public Keyword ele00000KeywordInheriting() { return c00000KeywordInheriting; }
+
+ // "hiddens"
+ public Keyword ele00001KeywordHiddens() { return c00001KeywordHiddens; }
+
+ // "("
+ public Keyword ele0001KeywordLeftParenthesis() { return c0001KeywordLeftParenthesis; }
+
+ // called = InheritingHiddensCall | hidingCalled = HidingHiddens
+ public Alternatives ele001Alternatives() { return c001Alternatives; }
+
+ // called = InheritingHiddensCall
+ public Assignment ele0010AssignmentCalled() { return c0010AssignmentCalled; }
+
+ // InheritingHiddensCall
+ public RuleCall ele00100ParserRuleCallInheritingHiddensCall() { return c00100ParserRuleCallInheritingHiddensCall; }
+
+ // hidingCalled = HidingHiddens
+ public Assignment ele0011AssignmentHidingCalled() { return c0011AssignmentHidingCalled; }
+
+ // HidingHiddens
+ public RuleCall ele00110ParserRuleCallHidingHiddens() { return c00110ParserRuleCallHidingHiddens; }
+
+ // ")"
+ public Keyword ele01KeywordRightParenthesis() { return c01KeywordRightParenthesis; }
+
+ // valid ?= ";"
+ public Assignment ele1AssignmentValid() { return c1AssignmentValid; }
+
+ // ";"
+ public Keyword ele10KeywordSemicolon() { return c10KeywordSemicolon; }
+ }
+
+ public class HidingHiddensElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(8);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group c0Group = (Group)cGroup.eContents().get(0);
+ private final Keyword c00KeywordHiding = (Keyword)c0Group.eContents().get(0);
+ private final Assignment c01AssignmentSpace = (Assignment)c0Group.eContents().get(1);
+ private final RuleCall c010ParserRuleCallWS = (RuleCall)c01AssignmentSpace.eContents().get(0);
+ private final Assignment c1AssignmentCalled = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall c10ParserRuleCallInheritingHiddensCall = (RuleCall)c1AssignmentCalled.eContents().get(0);
+
+ // HidingHiddens hidden ( ) : "hiding" space = WS called = InheritingHiddensCall ;
+ public ParserRule getRule() { return rule; }
+
+ // "hiding" space = WS called = InheritingHiddensCall
+ public Group eleGroup() { return cGroup; }
+
+ // "hiding" space = WS
+ public Group ele0Group() { return c0Group; }
+
+ // "hiding"
+ public Keyword ele00KeywordHiding() { return c00KeywordHiding; }
+
+ // space = WS
+ public Assignment ele01AssignmentSpace() { return c01AssignmentSpace; }
+
+ // WS
+ public RuleCall ele010ParserRuleCallWS() { return c010ParserRuleCallWS; }
+
+ // called = InheritingHiddensCall
+ public Assignment ele1AssignmentCalled() { return c1AssignmentCalled; }
+
+ // InheritingHiddensCall
+ public RuleCall ele10ParserRuleCallInheritingHiddensCall() { return c10ParserRuleCallInheritingHiddensCall; }
+ }
+
+ public class InheritingHiddensCallElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(9);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword c0KeywordCall = (Keyword)cGroup.eContents().get(0);
+ private final Assignment c1AssignmentValid = (Assignment)cGroup.eContents().get(1);
+ private final Keyword c10KeywordSemicolon = (Keyword)c1AssignmentValid.eContents().get(0);
+
+ // InheritingHiddensCall : "call" valid ?= ";" ;
+ public ParserRule getRule() { return rule; }
+
+ // "call" valid ?= ";"
+ public Group eleGroup() { return cGroup; }
+
+ // "call"
+ public Keyword ele0KeywordCall() { return c0KeywordCall; }
+
+ // valid ?= ";"
+ public Assignment ele1AssignmentValid() { return c1AssignmentValid; }
+
+ // ";"
+ public Keyword ele10KeywordSemicolon() { return c10KeywordSemicolon; }
+ }
+
+ public class ML_COMMENTElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(10);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword c0KeywordSolidusAsterisk = (Keyword)cGroup.eContents().get(0);
+ private final UpToToken c1UpToToken = (UpToToken)cGroup.eContents().get(1);
+ private final Keyword c10KeywordAsteriskSolidus = (Keyword)c1UpToToken.eContents().get(0);
+
+ // terminal ML_COMMENT returns EString : "/*" -> "*/" ;
+ public ParserRule getRule() { return rule; }
+
+ // "/*" -> "*/"
+ public Group eleGroup() { return cGroup; }
+
+ // "/*"
+ public Keyword ele0KeywordSolidusAsterisk() { return c0KeywordSolidusAsterisk; }
+
+ // -> "*/"
+ public UpToToken ele1UpToToken() { return c1UpToToken; }
+
+ // "*/"
+ public Keyword ele10KeywordAsteriskSolidus() { return c10KeywordAsteriskSolidus; }
+ }
+
+ public class SL_COMMENTElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(11);
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group c0Group = (Group)cGroup.eContents().get(0);
+ private final Keyword c00KeywordSolidusSolidus = (Keyword)c0Group.eContents().get(0);
+ private final NegatedToken c01NegatedToken = (NegatedToken)c0Group.eContents().get(1);
+ private final Alternatives c010Alternatives = (Alternatives)c01NegatedToken.eContents().get(0);
+ private final Keyword c0100Keyword = (Keyword)c010Alternatives.eContents().get(0);
+ private final Keyword c0101Keyword = (Keyword)c010Alternatives.eContents().get(1);
+ private final Group c1Group = (Group)cGroup.eContents().get(1);
+ private final Keyword c10Keyword = (Keyword)c1Group.eContents().get(0);
+ private final Keyword c11Keyword = (Keyword)c1Group.eContents().get(1);
+
+ // terminal SL_COMMENT returns EString : "//" ! ( "\n" | "\r" ) * ( "\r" ? "\n" ) ? ;
+ public ParserRule getRule() { return rule; }
+
+ // "//" ! ( "\n" | "\r" ) * ( "\r" ? "\n" ) ?
+ public Group eleGroup() { return cGroup; }
+
+ // "//" ! ( "\n" | "\r" ) *
+ public Group ele0Group() { return c0Group; }
+
+ // "//"
+ public Keyword ele00KeywordSolidusSolidus() { return c00KeywordSolidusSolidus; }
+
+ // ! ( "\n" | "\r" ) *
+ public NegatedToken ele01NegatedToken() { return c01NegatedToken; }
+
+ // "\n" | "\r"
+ public Alternatives ele010Alternatives() { return c010Alternatives; }
+
+ // "\n"
+ public Keyword ele0100Keyword() { return c0100Keyword; }
+
+ // "\r"
+ public Keyword ele0101Keyword() { return c0101Keyword; }
+
+ // ( "\r" ? "\n" ) ?
+ public Group ele1Group() { return c1Group; }
+
+ // "\r" ?
+ public Keyword ele10Keyword() { return c10Keyword; }
+
+ // "\n"
+ public Keyword ele11Keyword() { return c11Keyword; }
+ }
+
+ public class WSElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(12);
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Alternatives c0Alternatives = (Alternatives)cAlternatives.eContents().get(0);
+ private final Alternatives c00Alternatives = (Alternatives)c0Alternatives.eContents().get(0);
+ private final Keyword c000KeywordSpace = (Keyword)c00Alternatives.eContents().get(0);
+ private final Keyword c001Keyword = (Keyword)c00Alternatives.eContents().get(1);
+ private final Keyword c01Keyword = (Keyword)c0Alternatives.eContents().get(1);
+ private final Keyword c1Keyword = (Keyword)cAlternatives.eContents().get(1);
+
+ // terminal WS returns EString : ( " " | "\t" | "\r" | "\n" ) + ;
+ public ParserRule getRule() { return rule; }
+
+ // ( " " | "\t" | "\r" | "\n" ) +
+ public Alternatives eleAlternatives() { return cAlternatives; }
+
+ // " " | "\t" | "\r"
+ public Alternatives ele0Alternatives() { return c0Alternatives; }
+
+ // " " | "\t"
+ public Alternatives ele00Alternatives() { return c00Alternatives; }
+
+ // " "
+ public Keyword ele000KeywordSpace() { return c000KeywordSpace; }
+
+ // "\t"
+ public Keyword ele001Keyword() { return c001Keyword; }
+
+ // "\r"
+ public Keyword ele01Keyword() { return c01Keyword; }
+
+ // "\n"
+ public Keyword ele1Keyword() { return c1Keyword; }
+ }
+
+ public class ANY_OTHERElements implements IParserRuleAccess {
+ private final ParserRule rule = (ParserRule) getGrammar().eContents().get(13);
+ private final Wildcard cWildcard = (Wildcard)rule.eContents().get(1);
+
+ // terminal ANY_OTHER returns EString : . ;
+ public ParserRule getRule() { return rule; }
+
+ // .
+ public Wildcard eleWildcard() { return cWildcard; }
+ }
+
+ public final static HiddenTerminalsTestLanguageGrammarAccess INSTANCE = new HiddenTerminalsTestLanguageGrammarAccess();
+
+ private static final String HIDDENTERMINALSTESTLANGUAGE_GRAMMAR_CP_URI = "classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xmi";
+ private static Grammar GRAMMAR = null;
+ private static ModelElements pModel;
+ private static WithoutHiddensElements pWithoutHiddens;
+ private static WithHiddensElements pWithHiddens;
+ private static OverridingHiddensElements pOverridingHiddens;
+ private static OverridingHiddensCallElements pOverridingHiddensCall;
+ private static InheritingHiddensElements pInheritingHiddens;
+ private static HidingHiddensElements pHidingHiddens;
+ private static InheritingHiddensCallElements pInheritingHiddensCall;
+ private static ML_COMMENTElements pML_COMMENT;
+ private static SL_COMMENTElements pSL_COMMENT;
+ private static WSElements pWS;
+ private static ANY_OTHERElements pANY_OTHER;
+
+ @SuppressWarnings("unused")
+ public synchronized Grammar getGrammar() {
+ if (GRAMMAR==null) {
+ // assert the XtextPackage implementation is loaded
+ XtextPackage xtextPackage = XtextPackage.eINSTANCE;
+ GRAMMAR = (Grammar) loadGrammarFile(HiddenTerminalsTestLanguageGrammarAccess.class.getClassLoader(),HIDDENTERMINALSTESTLANGUAGE_GRAMMAR_CP_URI);
+ }
+ return GRAMMAR;
+ }
+
+ public IGrammarAccess getSuperGrammar() {
+ return null;
+ }
+
+
+ // Model : WithoutHiddens | WithHiddens | OverridingHiddens | InheritingHiddens ;
+ public ModelElements prModel() {
+ return (pModel != null) ? pModel : (pModel = new ModelElements());
+ }
+
+ // WithoutHiddens : "without" spaces += WS "hiddens" ( spaces += WS ) ? valid ?= ";" ;
+ public WithoutHiddensElements prWithoutHiddens() {
+ return (pWithoutHiddens != null) ? pWithoutHiddens : (pWithoutHiddens = new WithoutHiddensElements());
+ }
+
+ // WithHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "with" "hiddens" valid ?= ";" ;
+ public WithHiddensElements prWithHiddens() {
+ return (pWithHiddens != null) ? pWithHiddens : (pWithHiddens = new WithHiddensElements());
+ }
+
+ // OverridingHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "overriding" "hiddens" "(" called = OverridingHiddensCall ")" valid ?= ";" ;
+ public OverridingHiddensElements prOverridingHiddens() {
+ return (pOverridingHiddens != null) ? pOverridingHiddens : (pOverridingHiddens = new OverridingHiddensElements());
+ }
+
+ // OverridingHiddensCall hidden ( ) : "call" ( spaces += WS ) ? valid ?= ";" ;
+ public OverridingHiddensCallElements prOverridingHiddensCall() {
+ return (pOverridingHiddensCall != null) ? pOverridingHiddensCall : (pOverridingHiddensCall = new OverridingHiddensCallElements());
+ }
+
+ // InheritingHiddens hidden ( WS , ML_COMMENT , SL_COMMENT ) : "inheriting" "hiddens" "(" ( called = InheritingHiddensCall | hidingCalled = HidingHiddens ) ")" valid ?= ";" ;
+ public InheritingHiddensElements prInheritingHiddens() {
+ return (pInheritingHiddens != null) ? pInheritingHiddens : (pInheritingHiddens = new InheritingHiddensElements());
+ }
+
+ // HidingHiddens hidden ( ) : "hiding" space = WS called = InheritingHiddensCall ;
+ public HidingHiddensElements prHidingHiddens() {
+ return (pHidingHiddens != null) ? pHidingHiddens : (pHidingHiddens = new HidingHiddensElements());
+ }
+
+ // InheritingHiddensCall : "call" valid ?= ";" ;
+ public InheritingHiddensCallElements prInheritingHiddensCall() {
+ return (pInheritingHiddensCall != null) ? pInheritingHiddensCall : (pInheritingHiddensCall = new InheritingHiddensCallElements());
+ }
+
+ // terminal ML_COMMENT returns EString : "/*" -> "*/" ;
+ public ML_COMMENTElements prML_COMMENT() {
+ return (pML_COMMENT != null) ? pML_COMMENT : (pML_COMMENT = new ML_COMMENTElements());
+ }
+
+ // terminal SL_COMMENT returns EString : "//" ! ( "\n" | "\r" ) * ( "\r" ? "\n" ) ? ;
+ public SL_COMMENTElements prSL_COMMENT() {
+ return (pSL_COMMENT != null) ? pSL_COMMENT : (pSL_COMMENT = new SL_COMMENTElements());
+ }
+
+ // terminal WS returns EString : ( " " | "\t" | "\r" | "\n" ) + ;
+ public WSElements prWS() {
+ return (pWS != null) ? pWS : (pWS = new WSElements());
+ }
+
+ // terminal ANY_OTHER returns EString : . ;
+ public ANY_OTHERElements prANY_OTHER() {
+ return (pANY_OTHER != null) ? pANY_OTHER : (pANY_OTHER = new ANY_OTHERElements());
+ }
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageMetamodelAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageMetamodelAccess.java
new file mode 100644
index 0000000..4ff9421
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageMetamodelAccess.java
@@ -0,0 +1,53 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.services;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.IMetamodelAccess;
+import org.eclipse.xtext.parser.BaseEPackageAccess;
+
+public class HiddenTerminalsTestLanguageMetamodelAccess extends BaseEPackageAccess implements IMetamodelAccess {
+
+{
+
+ if (!EPackage.Registry.INSTANCE.containsKey(HIDDENTERMINALSTESTLANGUAGE_NS_URI))
+ EPackage.Registry.INSTANCE.put(HIDDENTERMINALSTESTLANGUAGE_NS_URI, loadEcoreFile(getClass().getClassLoader(), "classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.ecore"));
+
+}
+
+ private EPackage[] generated = new EPackage[] {
+
+ getHiddenTerminalsTestLanguageEPackage()
+
+ };
+
+ public EPackage[] getGeneratedEPackages() {
+ return generated;
+ }
+
+ private EPackage[] referenced = new EPackage[] {
+
+ BaseEPackageAccess.getEPackageFromRegistry("http://www.eclipse.org/emf/2002/Ecore")
+
+ };
+ public EPackage[] getReferencedEPackages() {
+ return referenced;
+ }
+
+ private EPackage[] all = new EPackage[] {
+ getHiddenTerminalsTestLanguageEPackage(),BaseEPackageAccess.getEPackageFromRegistry("http://www.eclipse.org/emf/2002/Ecore")
+ };
+
+ public EPackage[] getAllEPackages() {
+ return all;
+ }
+
+
+ protected static final String HIDDENTERMINALSTESTLANGUAGE_NS_URI = "http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest";
+
+ protected EPackage getHiddenTerminalsTestLanguageEPackage() {
+ return EPackage.Registry.INSTANCE.getEPackage(HIDDENTERMINALSTESTLANGUAGE_NS_URI);
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageResourceFactory.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageResourceFactory.java
new file mode 100644
index 0000000..f1449db
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/HiddenTerminalsTestLanguageResourceFactory.java
@@ -0,0 +1,28 @@
+/*
+Generated with Xtext
+*/
+package org.eclipse.xtext.parser.terminalrules.services;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.resource.IResourceFactory;
+import org.eclipse.xtext.resource.XtextResource;
+import org.eclipse.xtext.service.ServiceRegistry;
+import org.eclipse.xtext.service.ServiceScopeFactory;
+
+public class HiddenTerminalsTestLanguageResourceFactory implements IResourceFactory {
+
+ public String[] getModelFileExtensions() {
+ return new String[] { "hiddenterminalstestlanguage" };
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.ecore.resource.Resource.Factory#createResource(org.eclipse.emf.common.util.URI)
+ */
+ public Resource createResource(URI uri) {
+ XtextResource resource = new XtextResource(uri);
+ ServiceRegistry.injectServices(ServiceScopeFactory.get("org.eclipse.xtext.parser.terminalrules.HiddenTerminalsTestLanguage"), resource);
+ return resource;
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/XtextTerminalsTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/XtextTerminalsTestLanguageGrammarAccess.java
index c3cfd3e..0f59abf 100644
--- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/XtextTerminalsTestLanguageGrammarAccess.java
+++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/terminalrules/services/XtextTerminalsTestLanguageGrammarAccess.java
@@ -367,35 +367,35 @@ public class XtextTerminalsTestLanguageGrammarAccess extends BaseEPackageAccess
private final Group c0001Group = (Group)c000Group.eContents().get(1);
private final Group c00010Group = (Group)c0001Group.eContents().get(0);
private final Group c000100Group = (Group)c00010Group.eContents().get(0);
- private final Group c0001000Group = (Group)c000100Group.eContents().get(0);
- private final Assignment c00010000AssignmentDefinesHiddenTokens = (Assignment)c0001000Group.eContents().get(0);
- private final Keyword c000100000KeywordHidden = (Keyword)c00010000AssignmentDefinesHiddenTokens.eContents().get(0);
- private final Keyword c00010001KeywordLeftParenthesis = (Keyword)c0001000Group.eContents().get(1);
- private final Assignment c0001001AssignmentHiddenTokens = (Assignment)c000100Group.eContents().get(1);
- private final CrossReference c00010010CrossReferenceEStringAbstractRule = (CrossReference)c0001001AssignmentHiddenTokens.eContents().get(0);
+ private final Assignment c0001000AssignmentDefinesHiddenTokens = (Assignment)c000100Group.eContents().get(0);
+ private final Keyword c00010000KeywordHidden = (Keyword)c0001000AssignmentDefinesHiddenTokens.eContents().get(0);
+ private final Keyword c0001001KeywordLeftParenthesis = (Keyword)c000100Group.eContents().get(1);
private final Group c000101Group = (Group)c00010Group.eContents().get(1);
- private final Keyword c0001010KeywordComma = (Keyword)c000101Group.eContents().get(0);
- private final Assignment c0001011AssignmentHiddenTokens = (Assignment)c000101Group.eContents().get(1);
- private final CrossReference c00010110CrossReferenceEStringAbstractRule = (CrossReference)c0001011AssignmentHiddenTokens.eContents().get(0);
+ private final Assignment c0001010AssignmentHiddenTokens = (Assignment)c000101Group.eContents().get(0);
+ private final CrossReference c00010100CrossReferenceEStringAbstractRule = (CrossReference)c0001010AssignmentHiddenTokens.eContents().get(0);
+ private final Group c0001011Group = (Group)c000101Group.eContents().get(1);
+ private final Keyword c00010110KeywordComma = (Keyword)c0001011Group.eContents().get(0);
+ private final Assignment c00010111AssignmentHiddenTokens = (Assignment)c0001011Group.eContents().get(1);
+ private final CrossReference c000101110CrossReferenceEStringAbstractRule = (CrossReference)c00010111AssignmentHiddenTokens.eContents().get(0);
private final Keyword c00011KeywordRightParenthesis = (Keyword)c0001Group.eContents().get(1);
private final Keyword c001KeywordColon = (Keyword)c00Group.eContents().get(1);
private final Assignment c01AssignmentAlternatives = (Assignment)c0Group.eContents().get(1);
private final RuleCall c010ParserRuleCallAlternatives = (RuleCall)c01AssignmentAlternatives.eContents().get(0);
private final Keyword c1KeywordSemicolon = (Keyword)cGroup.eContents().get(1);
- // ParserRule : name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":" alternatives = Alternatives ";" ;
+ // ParserRule : name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":" alternatives = Alternatives ";" ;
public ParserRule getRule() { return rule; }
- // name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":" alternatives = Alternatives ";"
+ // name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":" alternatives = Alternatives ";"
public Group eleGroup() { return cGroup; }
- // name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":" alternatives = Alternatives
+ // name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":" alternatives = Alternatives
public Group ele0Group() { return c0Group; }
- // name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":"
+ // name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":"
public Group ele00Group() { return c00Group; }
- // name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ?
+ // name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ?
public Group ele000Group() { return c000Group; }
// name = ID ( "returns" type = TypeRef ) ?
@@ -419,44 +419,44 @@ public class XtextTerminalsTestLanguageGrammarAccess extends BaseEPackageAccess
// TypeRef
public RuleCall ele0000110ParserRuleCallTypeRef() { return c0000110ParserRuleCallTypeRef; }
- // ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ?
+ // ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ?
public Group ele0001Group() { return c0001Group; }
- // definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) *
+ // definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ?
public Group ele00010Group() { return c00010Group; }
- // definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ]
- public Group ele000100Group() { return c000100Group; }
-
// definesHiddenTokens ?= "hidden" "("
- public Group ele0001000Group() { return c0001000Group; }
+ public Group ele000100Group() { return c000100Group; }
// definesHiddenTokens ?= "hidden"
- public Assignment ele00010000AssignmentDefinesHiddenTokens() { return c00010000AssignmentDefinesHiddenTokens; }
+ public Assignment ele0001000AssignmentDefinesHiddenTokens() { return c0001000AssignmentDefinesHiddenTokens; }
// "hidden"
- public Keyword ele000100000KeywordHidden() { return c000100000KeywordHidden; }
+ public Keyword ele00010000KeywordHidden() { return c00010000KeywordHidden; }
// "("
- public Keyword ele00010001KeywordLeftParenthesis() { return c00010001KeywordLeftParenthesis; }
+ public Keyword ele0001001KeywordLeftParenthesis() { return c0001001KeywordLeftParenthesis; }
+
+ // ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ?
+ public Group ele000101Group() { return c000101Group; }
// hiddenTokens += [ AbstractRule ]
- public Assignment ele0001001AssignmentHiddenTokens() { return c0001001AssignmentHiddenTokens; }
+ public Assignment ele0001010AssignmentHiddenTokens() { return c0001010AssignmentHiddenTokens; }
// [ AbstractRule ]
- public CrossReference ele00010010CrossReferenceEStringAbstractRule() { return c00010010CrossReferenceEStringAbstractRule; }
+ public CrossReference ele00010100CrossReferenceEStringAbstractRule() { return c00010100CrossReferenceEStringAbstractRule; }
// ( "," hiddenTokens += [ AbstractRule ] ) *
- public Group ele000101Group() { return c000101Group; }
+ public Group ele0001011Group() { return c0001011Group; }
// ","
- public Keyword ele0001010KeywordComma() { return c0001010KeywordComma; }
+ public Keyword ele00010110KeywordComma() { return c00010110KeywordComma; }
// hiddenTokens += [ AbstractRule ]
- public Assignment ele0001011AssignmentHiddenTokens() { return c0001011AssignmentHiddenTokens; }
+ public Assignment ele00010111AssignmentHiddenTokens() { return c00010111AssignmentHiddenTokens; }
// [ AbstractRule ]
- public CrossReference ele00010110CrossReferenceEStringAbstractRule() { return c00010110CrossReferenceEStringAbstractRule; }
+ public CrossReference ele000101110CrossReferenceEStringAbstractRule() { return c000101110CrossReferenceEStringAbstractRule; }
// ")"
public Keyword ele00011KeywordRightParenthesis() { return c00011KeywordRightParenthesis; }
@@ -1847,7 +1847,7 @@ public class XtextTerminalsTestLanguageGrammarAccess extends BaseEPackageAccess
return (pLexerRule != null) ? pLexerRule : (pLexerRule = new LexerRuleElements());
}
- // ParserRule : name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ")" ) ? ":" alternatives = Alternatives ";" ;
+ // ParserRule : name = ID ( "returns" type = TypeRef ) ? ( definesHiddenTokens ?= "hidden" "(" ( hiddenTokens += [ AbstractRule ] ( "," hiddenTokens += [ AbstractRule ] ) * ) ? ")" ) ? ":" alternatives = Alternatives ";" ;
public ParserRuleElements prParserRule() {
return (pParserRule != null) ? pParserRule : (pParserRule = new ParserRuleElements());
}
diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GenerateAllTestGrammars.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GenerateAllTestGrammars.java
index 301869c..d8c3aba 100755
--- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GenerateAllTestGrammars.java
+++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/GenerateAllTestGrammars.java
@@ -20,6 +20,7 @@ import org.eclipse.xtext.grammarinheritance.ConcreteTestLanguage;
import org.eclipse.xtext.metamodelreferencing.tests.MetamodelRefTestLanguage;
import org.eclipse.xtext.metamodelreferencing.tests.MultiGenMMTestLanguage;
import org.eclipse.xtext.parser.datatyperules.DatatypeRulesTestLanguage;
+import org.eclipse.xtext.parser.terminalrules.HiddenTerminalsTestLanguage;
import org.eclipse.xtext.parser.terminalrules.TerminalRulesTestLanguage;
import org.eclipse.xtext.parser.terminalrules.XtextTerminalsTestLanguage;
import org.eclipse.xtext.parsetree.formatter.FormatterTestLanguage;
@@ -78,7 +79,9 @@ public class GenerateAllTestGrammars {
DatatypeRulesTestLanguage.class,
MultiValueFeatureTestLanguage.class,
TerminalRulesTestLanguage.class,
- XtextTerminalsTestLanguage.class
+ XtextTerminalsTestLanguage.class,
+ HiddenTerminalsTestLanguage.class //,
+// EpatchTestLanguage.class
};
public static void main(String... args) throws Exception {
diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.java
new file mode 100644
index 0000000..ddc0265
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2009 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.parser.terminalrules;
+
+/**
+ * @author Sebastian Zarnekow - Initial contribution and API
+ */
+public class HiddenTerminalsTestLanguage {
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xtext b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xtext
new file mode 100644
index 0000000..6b30d3c
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xtext
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2008 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *******************************************************************************/
+language org.eclipse.xtext.parser.terminalrules.HiddenTerminalsTestLanguage extends NULL
+
+import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+generate HiddenTerminalsTestLanguage "http://www.eclipse.org/2008/tmf/xtext/HiddenTerminalsTest"
+
+Model:
+ WithoutHiddens | WithHiddens | OverridingHiddens | InheritingHiddens
+;
+
+WithoutHiddens:
+ 'without' spaces+=WS 'hiddens' spaces+=WS? valid?=';';
+
+WithHiddens hidden(WS, ML_COMMENT, SL_COMMENT):
+ 'with' 'hiddens' valid?=';';
+
+OverridingHiddens hidden(WS, ML_COMMENT, SL_COMMENT):
+ 'overriding' 'hiddens' '(' called=OverridingHiddensCall ')' valid?=';';
+
+OverridingHiddensCall hidden():
+ 'call' (spaces+=WS)? valid?=';';
+
+InheritingHiddens hidden(WS, ML_COMMENT, SL_COMMENT):
+ 'inheriting' 'hiddens' '(' (called=InheritingHiddensCall | hidingCalled=HidingHiddens) ')' valid?=';';
+
+HidingHiddens hidden():
+ 'hiding' space=WS called=InheritingHiddensCall;
+
+InheritingHiddensCall:
+ 'call' valid?=';';
+
+terminal ML_COMMENT : '/*' -> '*/';
+terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?;
+
+terminal WS : (' '|'\t'|'\r'|'\n')+;
+
+terminal ANY_OTHER: .; \ No newline at end of file
diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageChecks.chk b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageChecks.chk
new file mode 100644
index 0000000..0a06472
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageChecks.chk
@@ -0,0 +1,7 @@
+import HiddenTerminalsTestLanguage;
+/*
+ * this check file is used to specify constraints for the derived metamodels
+ * example:
+ * context Entity WARNING "Entity names should start with a capital" :
+ * name.toFirstUpper() == name;
+ */
diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageRuntimeConfig.java
new file mode 100644
index 0000000..7d60f09
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguageRuntimeConfig.java
@@ -0,0 +1,58 @@
+package org.eclipse.xtext.parser.terminalrules;
+
+import java.util.Set;
+
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.conversion.IValueConverterService;
+import org.eclipse.xtext.crossref.ILinker;
+import org.eclipse.xtext.crossref.ILinkingService;
+import org.eclipse.xtext.crossref.IScopeProvider;
+import org.eclipse.xtext.crossref.impl.DefaultLinkingService;
+import org.eclipse.xtext.crossref.impl.DefaultScopeProvider;
+import org.eclipse.xtext.crossref.internal.Linker;
+import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
+import org.eclipse.xtext.resource.DefaultFragmentProvider;
+import org.eclipse.xtext.resource.IFragmentProvider;
+
+/**
+ * used to register components to be used at runtime.
+ */
+public class HiddenTerminalsTestLanguageRuntimeConfig extends AbstractHiddenTerminalsTestLanguageRuntimeConfig {
+
+ public Set<IServiceRegistration> registrations() {
+ Set<IServiceRegistration> generated = super.registrations();
+ generated.addAll(
+ scope(HiddenTerminalsTestLanguageStandaloneSetup.getServiceScope())
+ .with(IGrammarAccess.class, getIGrammarAccess())
+ .with(IValueConverterService.class, getIValueConverterService())
+ .with(ILinker.class, getILinker())
+ .with(ILinkingService.class, getILinkingService())
+ .with(IScopeProvider.class, getIScopeProvider())
+ .with(IFragmentProvider.class, getIFragmentProvider())
+ .with(AntlrTokenDefProvider.class)
+ .registrations());
+ return generated;
+ }
+
+ protected Class<? extends IFragmentProvider> getIFragmentProvider() {
+ return DefaultFragmentProvider.class;
+ }
+
+ protected Class<? extends IScopeProvider> getIScopeProvider() {
+ return DefaultScopeProvider.class;
+ }
+
+ protected Class<? extends ILinkingService> getILinkingService() {
+ return DefaultLinkingService.class;
+ }
+
+ protected Class<? extends ILinker> getILinker() {
+ return Linker.class;
+ }
+
+ protected Class<? extends IValueConverterService> getIValueConverterService() {
+ return TerminalRuleTestLanguageConverters.class;
+ }
+
+}
+
diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddensTest.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddensTest.java
new file mode 100644
index 0000000..8513803
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/HiddensTest.java
@@ -0,0 +1,170 @@
+/*******************************************************************************
+ * Copyright (c) 2009 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.parser.terminalrules;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.tests.AbstractGeneratorTest;
+
+/**
+ * @author Sebastian Zarnekow - Initial contribution and API
+ */
+public class HiddensTest extends AbstractGeneratorTest {
+
+ private EClass withoutHiddens;
+ private EClass withHiddens;
+ private EClass overridingHiddens;
+ private EClass inheritingHiddens;
+ private EClass model;
+ private EStructuralFeature spacesWithoutHiddens;
+ private EStructuralFeature valid;
+ private EClass overridingHiddensCall;
+ private EClass inheritingHiddensCall;
+ private EStructuralFeature overridingCall;
+ private EStructuralFeature inheritingCall;
+ private EStructuralFeature overridingValid;
+ private EStructuralFeature inheritingValid;
+
+ @Override
+ protected void setUp() throws Exception {
+ with(HiddenTerminalsTestLanguageStandaloneSetup.class);
+ EPackage pack = getMetamodelAccess().getGeneratedEPackages()[0];
+ withoutHiddens = (EClass) pack.getEClassifier("WithoutHiddens");
+ withHiddens = (EClass) pack.getEClassifier("WithHiddens");
+ overridingHiddens = (EClass) pack.getEClassifier("OverridingHiddens");
+ overridingHiddensCall = (EClass) pack.getEClassifier("OverridingHiddensCall");
+ inheritingHiddens = (EClass) pack.getEClassifier("InheritingHiddens");
+ inheritingHiddensCall = (EClass) pack.getEClassifier("InheritingHiddensCall");
+ model = (EClass) pack.getEClassifier("Model");
+ spacesWithoutHiddens = withoutHiddens.getEStructuralFeature("spaces");
+ valid = model.getEStructuralFeature("valid");
+ overridingValid = overridingHiddensCall.getEStructuralFeature("valid");
+ inheritingValid = inheritingHiddensCall.getEStructuralFeature("valid");
+ inheritingCall = inheritingHiddens.getEStructuralFeature("called");
+ overridingCall = overridingHiddens.getEStructuralFeature("called");
+ }
+
+ public void testSetup() {
+ assertNotNull(withoutHiddens);
+ assertNotNull(withHiddens);
+ assertNotNull(overridingHiddens);
+ assertNotNull(inheritingHiddens);
+ assertNotNull(overridingHiddensCall);
+ assertNotNull(inheritingHiddensCall);
+ assertNotNull(model);
+ assertNotNull(spacesWithoutHiddens);
+ assertNotNull(valid);
+ assertNotNull(overridingValid);
+ assertNotNull(inheritingValid);
+ assertNotNull(overridingCall);
+ assertNotNull(inheritingCall);
+ }
+
+ public void testWithoutHiddens_01() throws Exception {
+ String model = "without hiddens ;";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(withoutHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testWithoutHiddens_02() throws Exception {
+ String model = "without hiddens;";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(withoutHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testWithHiddens_01() throws Exception {
+ String model = "with hiddens ;";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(withHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testWithHiddens_02() throws Exception {
+ String model = "with/* comment */hiddens;";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(withHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testOverridingHiddens_01() throws Exception {
+ String model = "overriding hiddens (call;);";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(overridingHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testOverridingHiddens_02() throws Exception {
+ String model = "overriding hiddens ( call ; ) ;";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(overridingHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testInheritingHiddens_01() throws Exception {
+ String model = "inheriting hiddens (call;);";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(inheritingHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testInheritingHiddens_02() throws Exception {
+ String model = "inheriting hiddens ( call /*comment */ ; ) ;";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(inheritingHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testInheritingHiddens_03() throws Exception {
+ String model = "inheriting hiddens ( hiding call; ) ;";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(inheritingHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+
+ public void testInheritingHiddens_04() throws Exception {
+ String model = "inheriting hiddens (/*comment*/hiding call;/*comment*/) ;";
+ Resource res = getResourceFromString(model);
+ assertTrue(res.getErrors().isEmpty());
+ EObject root = res.getContents().get(0);
+ assertNotNull(root);
+ assertEquals(inheritingHiddens, root.eClass());
+ assertTrue((Boolean) root.eGet(valid));
+ }
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/PackratHiddensTest.java b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/PackratHiddensTest.java
new file mode 100644
index 0000000..0658af4
--- /dev/null
+++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/PackratHiddensTest.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2009 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.parser.terminalrules;
+
+import org.eclipse.xtext.parser.SwitchingParser;
+
+/**
+ * @author Sebastian Zarnekow - Initial contribution and API
+ */
+public class PackratHiddensTest extends HiddensTest {
+
+ @Override
+ protected void setUp() throws Exception {
+ SwitchingParser.setUsePackrat(true);
+ super.setUp();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ SwitchingParser.setUsePackrat(false);
+ }
+
+}
diff --git a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext
index b94a006..2f3f96a 100644
--- a/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext
+++ b/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext
@@ -9,6 +9,7 @@ language org.eclipse.xtext.parser.terminalrules.XtextTerminalsTestLanguage exten
generate XtextTerminalsTestLanguage "http://www.eclipse.org/2008/tmf/xtext/XtextTerminalsTestLanguage"
import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+
Grammar hidden(WS, ML_COMMENT, SL_COMMENT):
(abstract?='abstract language' | 'language') idElements+=ID ('.' idElements+=ID)* ('extends' superGrammarIdElements+=ID ('.' superGrammarIdElements+=ID)*)?
metamodelDeclarations+=AbstractMetamodelDeclaration*
@@ -36,7 +37,7 @@ LexerRule :
;
ParserRule :
- name=ID ('returns' type=TypeRef)? (definesHiddenTokens?='hidden' '(' hiddenTokens+=[AbstractRule] (',' hiddenTokens+=[AbstractRule])* ')')?':'
+ name=ID ('returns' type=TypeRef)? (definesHiddenTokens?='hidden' '(' (hiddenTokens+=[AbstractRule] (',' hiddenTokens+=[AbstractRule])*)? ')')?':'
alternatives=Alternatives
';'
;
@@ -130,6 +131,7 @@ Keyword :
RuleCall :
rule=[AbstractRule]
;
+
terminal ID : '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
terminal INT : ('0'..'9')+;