| author | szarnekow | 2009-01-29 04:40:49 (EST) |
|---|---|---|
| committer | sefftinge | 2009-01-29 04:40:49 (EST) |
| commit | d8e3ea8f56c0bb4159f27453b269c7ac1c79318b (patch) (side-by-side diff) | |
| tree | 57365397b9c87539fc3c843381bfc2cf65ecf389 | |
| parent | 39e0a9eaa5e1736c10e182c06a669c4547b9c2d6 (diff) | |
| download | org.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
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 --- a/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 --- a/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 --- a/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="
"/> + <groups xsi:type="xtext:Keyword" value="
"/> + </terminal> + </abstractTokens> + </abstractTokens> + <abstractTokens xsi:type="xtext:Group" cardinality="?"> + <abstractTokens xsi:type="xtext:Keyword" cardinality="?" value="
"/> + <abstractTokens xsi:type="xtext:Keyword" value="
"/> + </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="	"/> + </groups> + <groups xsi:type="xtext:Keyword" value="
"/> + </groups> + <groups xsi:type="xtext:Keyword" value="
"/> + </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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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 --- a/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')+; |

