| author | szarnekow | 2008-12-16 10:11:32 (EST) |
|---|---|---|
| committer | sefftinge | 2008-12-16 10:11:32 (EST) |
| commit | 1354f8458631a55737fac94288f9021f927d69bb (patch) (side-by-side diff) | |
| tree | 76bda05b2749f8003494dae6edfcf362e40cb616 | |
| parent | 20de41ac1e8f0a7a991fbebd1868f664eb606a1e (diff) | |
| download | org.eclipse.xtext-1354f8458631a55737fac94288f9021f927d69bb.zip org.eclipse.xtext-1354f8458631a55737fac94288f9021f927d69bb.tar.gz org.eclipse.xtext-1354f8458631a55737fac94288f9021f927d69bb.tar.bz2 | |
Datatype rules on parser level (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=249952)
todo: pass AbstractNode to ValueConverter as additional parameter
161 files changed, 10322 insertions, 4852 deletions
diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/AbstractProposalProvider.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/AbstractProposalProvider.java index 5faa9cf..a9ce3a4 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/AbstractProposalProvider.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/AbstractProposalProvider.java @@ -34,7 +34,6 @@ import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.crossref.IScopedElement; import org.eclipse.xtext.parsetree.AbstractNode; import org.eclipse.xtext.parsetree.LeafNode; -import org.eclipse.xtext.resource.XtextResource; import org.eclipse.xtext.service.Inject; import org.eclipse.xtext.util.Strings; @@ -86,7 +85,7 @@ public abstract class AbstractProposalProvider implements IProposalProvider { + "' for model '" + model + "' and prefix '" + prefix.trim() + "'"); } - AbstractRule calledRule = GrammarUtil.calledRule(ruleCall); + AbstractRule calledRule = ruleCall.getRule(); if (calledRule instanceof LexerRule) { return doCompleteLexerRuleRuleCall((LexerRule) calledRule, ruleCall, model, offset); @@ -176,24 +175,18 @@ public abstract class AbstractProposalProvider implements IProposalProvider { List<ICompletionProposal> completionProposalList = new ArrayList<ICompletionProposal>(); if (linkingCandidatesService != null) { - - XtextResource xtextResource = (XtextResource) model.eResource(); - ParserRule containingParserRule = GrammarUtil.containingParserRule(crossReference); - - EClass eClass = xtextResource.getElementFactory(). - getEClass(GrammarUtil.getReturnTypeName(containingParserRule)); - - EReference ref = GrammarUtil.getReference(crossReference, eClass); - - Iterable<IScopedElement> candidates = linkingCandidatesService.getLinkingCandidates(model, ref); - - final String trimmedPrefix = prefix.trim(); - for (IScopedElement candidate : candidates) { - if (candidate.name() != null && isCandidateMatchingPrefix(model, ref, candidate, trimmedPrefix)) { - completionProposalList.add( - createCompletionProposal(crossReference, model, candidate.name(), offset)); - } + if (!GrammarUtil.isDatatypeRule(containingParserRule)) { + final EClass eClass = (EClass) containingParserRule.getType().getType(); + final EReference ref = GrammarUtil.getReference(crossReference, eClass); + final String trimmedPrefix = prefix.trim(); + final Iterable<IScopedElement> candidates = linkingCandidatesService.getLinkingCandidates(model, ref); + for (IScopedElement candidate : candidates) { + if (candidate.name() != null && isCandidateMatchingPrefix(model, ref, candidate, trimmedPrefix)) { + completionProposalList.add( + createCompletionProposal(crossReference, model, candidate.name(), offset)); + } + } } } diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalCandidateResolverSwitch.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalCandidateResolverSwitch.java index d309adf..91f1a09 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalCandidateResolverSwitch.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalCandidateResolverSwitch.java @@ -110,7 +110,7 @@ public class ProposalCandidateResolverSwitch extends XtextSwitch<List<EObject>> List<EObject> elementList = new ArrayList<EObject>(); elementList.add(ruleCall); - AbstractRule abstractRule = GrammarUtil.calledRule(ruleCall); + AbstractRule abstractRule = ruleCall.getRule(); if (abstractRule instanceof ParserRule) { addWithNullCheck(elementList, doSwitch(((ParserRule) abstractRule).getAlternatives())); diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalProviderInvokerSwitch.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalProviderInvokerSwitch.java index 80041c2..bb58a4a 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalProviderInvokerSwitch.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/codecompletion/ProposalProviderInvokerSwitch.java @@ -140,7 +140,7 @@ public class ProposalProviderInvokerSwitch extends XtextSwitch<List<ICompletionP completionProposalList.addAll(ruleCallProposalList); } - AbstractRule calledRule = GrammarUtil.calledRule(ruleCall); + AbstractRule calledRule = ruleCall.getRule(); if (calledRule.getType() != null) { diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextTest.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextTest.ecore index 8617a78..e39b7fa 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextTest.ecore +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/XtextTest.ecore @@ -14,10 +14,10 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="rules" 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:EAttribute" name="alias"> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g index 1f25dac..66c9f31 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; } @parser::members { @@ -58,6 +59,7 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream; + // Entry rule entryRuleMain entryRuleMain returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } @@ -84,8 +86,12 @@ ruleMain returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "imports", lv_imports,null); - } + try { + factory.add($current, "imports", lv_imports,"Import"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*( @@ -101,11 +107,17 @@ ruleMain returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "types", lv_types,null); - } + try { + factory.add($current, "types", lv_types,"Type"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*); - + + + // Entry rule entryRuleImport @@ -137,11 +149,17 @@ ruleImport returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "importURI", lv_importURI,"STRING"); - } + try { + factory.set($current, "importURI", lv_importURI,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )); - + + + // Entry rule entryRuleType @@ -173,8 +191,12 @@ ruleType returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))'extends' { @@ -196,7 +218,8 @@ ruleType returns [EObject current=null] ) )); - + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageLexer.java index 65b7420..52fc633 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g 2008-12-10 21:58:21 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g 2008-12-16 15:27:15 package org.eclipse.xtext.crossrefs.parser.internal; @@ -92,10 +92,10 @@ public class InternalImportUriTestLanguageLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:203:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:203:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:226:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:226:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:203:11: ( '^' )? + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:226:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -104,7 +104,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { } switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:203:12: '^' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:226:12: '^' { match('^'); @@ -123,7 +123,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { recover(mse); throw mse; } - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:203:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:226:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -171,10 +171,10 @@ public class InternalImportUriTestLanguageLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:205:10: ( ( '0' .. '9' )+ ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:205:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:228:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:228:12: ( '0' .. '9' )+ { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:205:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:228:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -188,7 +188,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:205:13: '0' .. '9' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:228:13: '0' .. '9' { matchRange('0','9'); @@ -218,7 +218,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -230,16 +230,16 @@ public class InternalImportUriTestLanguageLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("207:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("230:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -255,7 +255,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -272,7 +272,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:65: ~ ( '\\\\' | '\"' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -298,10 +298,10 @@ public class InternalImportUriTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -317,7 +317,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -334,7 +334,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:207:152: ~ ( '\\\\' | '\\'' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:230:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -372,12 +372,12 @@ public class InternalImportUriTestLanguageLexer extends Lexer { public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:209:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:209:19: '/*' ( options {greedy=false; } : . )* '*/' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:232:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:232:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:209:24: ( options {greedy=false; } : . )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:232:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -402,7 +402,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:209:52: . + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:232:52: . { matchAny(); @@ -431,12 +431,12 @@ public class InternalImportUriTestLanguageLexer extends Lexer { public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:211:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:211:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:234:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:234:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:211:24: (~ ( '\\n' | '\\r' ) )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:234:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -449,7 +449,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:211:24: ~ ( '\\n' | '\\r' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:234: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(); @@ -470,7 +470,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { } } while (true); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:211:38: ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:234:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -479,9 +479,9 @@ public class InternalImportUriTestLanguageLexer extends Lexer { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:211:39: ( '\\r' )? '\\n' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:234:39: ( '\\r' )? '\\n' { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:211:39: ( '\\r' )? + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:234:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -490,7 +490,7 @@ public class InternalImportUriTestLanguageLexer extends Lexer { } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:211:39: '\\r' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:234:39: '\\r' { match('\r'); @@ -521,10 +521,10 @@ public class InternalImportUriTestLanguageLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:213:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:213:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:236:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:236:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:213:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:236:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -578,8 +578,8 @@ public class InternalImportUriTestLanguageLexer extends Lexer { public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:215:16: ( . ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:215:18: . + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:238:16: ( . ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:238:18: . { matchAny(); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageParser.java index 39dafad..ac903a9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g 2008-12-10 21:58:21 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g 2008-12-16 15:27:15 package org.eclipse.xtext.crossrefs.parser.internal; @@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; import org.antlr.runtime.*; @@ -61,7 +62,7 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleMain - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:62:1: entryRuleMain returns [EObject current=null] : iv_ruleMain= ruleMain EOF ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:64:1: entryRuleMain returns [EObject current=null] : iv_ruleMain= ruleMain EOF ; public final EObject entryRuleMain() throws RecognitionException { EObject current = null; @@ -69,16 +70,16 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:62:46: (iv_ruleMain= ruleMain EOF ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:63:2: iv_ruleMain= ruleMain EOF + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:64:46: (iv_ruleMain= ruleMain EOF ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:65:2: iv_ruleMain= ruleMain EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleMain_in_entryRuleMain70); + pushFollow(FOLLOW_ruleMain_in_entryRuleMain71); iv_ruleMain=ruleMain(); _fsp--; current =iv_ruleMain; - match(input,EOF,FOLLOW_EOF_in_entryRuleMain80); + match(input,EOF,FOLLOW_EOF_in_entryRuleMain81); } @@ -96,7 +97,7 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleMain - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:70:1: ruleMain returns [EObject current=null] : ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:72:1: ruleMain returns [EObject current=null] : ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) ; public final EObject ruleMain() throws RecognitionException { EObject current = null; @@ -107,13 +108,13 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:72:33: ( ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:73:1: ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:74:33: ( ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:75:1: ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:73:1: ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:73:2: (lv_imports= ruleImport )* (lv_types= ruleType )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:75:1: ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:75:2: (lv_imports= ruleImport )* (lv_types= ruleType )* { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:73:2: (lv_imports= ruleImport )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:75:2: (lv_imports= ruleImport )* loop1: do { int alt1=2; @@ -126,12 +127,12 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:76:6: lv_imports= ruleImport + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:78:6: lv_imports= ruleImport { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleImport_in_ruleMain139); + pushFollow(FOLLOW_ruleImport_in_ruleMain140); lv_imports=ruleImport(); _fsp--; @@ -142,8 +143,12 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.add(current, "imports", lv_imports,null); - + try { + factory.add(current, "imports", lv_imports,"Import"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -153,7 +158,7 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { } } while (true); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:90:3: (lv_types= ruleType )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:96:3: (lv_types= ruleType )* loop2: do { int alt2=2; @@ -166,12 +171,12 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { switch (alt2) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:93:6: lv_types= ruleType + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:99:6: lv_types= ruleType { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleType_in_ruleMain178); + pushFollow(FOLLOW_ruleType_in_ruleMain179); lv_types=ruleType(); _fsp--; @@ -182,8 +187,12 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.add(current, "types", lv_types,null); - + try { + factory.add(current, "types", lv_types,"Type"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -214,7 +223,7 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleImport - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:112:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:124:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; public final EObject entryRuleImport() throws RecognitionException { EObject current = null; @@ -222,16 +231,16 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:112:48: (iv_ruleImport= ruleImport EOF ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:113:2: iv_ruleImport= ruleImport EOF + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:124:48: (iv_ruleImport= ruleImport EOF ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:125:2: iv_ruleImport= ruleImport EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleImport_in_entryRuleImport218); + pushFollow(FOLLOW_ruleImport_in_entryRuleImport217); iv_ruleImport=ruleImport(); _fsp--; current =iv_ruleImport; - match(input,EOF,FOLLOW_EOF_in_entryRuleImport228); + match(input,EOF,FOLLOW_EOF_in_entryRuleImport227); } @@ -249,7 +258,7 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleImport - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:120:1: ruleImport returns [EObject current=null] : ( 'import' (lv_importURI= RULE_STRING ) ) ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:132:1: ruleImport returns [EObject current=null] : ( 'import' (lv_importURI= RULE_STRING ) ) ; public final EObject ruleImport() throws RecognitionException { EObject current = null; @@ -257,21 +266,21 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:122:33: ( ( 'import' (lv_importURI= RULE_STRING ) ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:123:1: ( 'import' (lv_importURI= RULE_STRING ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:134:33: ( ( 'import' (lv_importURI= RULE_STRING ) ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:135:1: ( 'import' (lv_importURI= RULE_STRING ) ) { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:123:1: ( 'import' (lv_importURI= RULE_STRING ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:123:2: 'import' (lv_importURI= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:135:1: ( 'import' (lv_importURI= RULE_STRING ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:135:2: 'import' (lv_importURI= RULE_STRING ) { - match(input,11,FOLLOW_11_in_ruleImport262); + match(input,11,FOLLOW_11_in_ruleImport261); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:127:1: (lv_importURI= RULE_STRING ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:129:6: lv_importURI= RULE_STRING + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:139:1: (lv_importURI= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:141:6: lv_importURI= RULE_STRING { lv_importURI=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport283); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport282); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "importURI"); @@ -281,8 +290,12 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.set(current, "importURI", lv_importURI,"STRING"); - + try { + factory.set(current, "importURI", lv_importURI,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -307,7 +320,7 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleType - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:148:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:166:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ; public final EObject entryRuleType() throws RecognitionException { EObject current = null; @@ -315,16 +328,16 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:148:46: (iv_ruleType= ruleType EOF ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:149:2: iv_ruleType= ruleType EOF + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:166:46: (iv_ruleType= ruleType EOF ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:167:2: iv_ruleType= ruleType EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.2" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleType_in_entryRuleType329); + pushFollow(FOLLOW_ruleType_in_entryRuleType326); iv_ruleType=ruleType(); _fsp--; current =iv_ruleType; - match(input,EOF,FOLLOW_EOF_in_entryRuleType339); + match(input,EOF,FOLLOW_EOF_in_entryRuleType336); } @@ -342,7 +355,7 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleType - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:156:1: ruleType returns [EObject current=null] : ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:174:1: ruleType returns [EObject current=null] : ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) ; public final EObject ruleType() throws RecognitionException { EObject current = null; @@ -350,27 +363,27 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:158:33: ( ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:159:1: ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:176:33: ( ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:177:1: ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:159:1: ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:159:2: ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:177:1: ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:177:2: ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:159:2: ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:159:3: ( 'type' (lv_name= RULE_ID ) ) 'extends' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:177:2: ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:177:3: ( 'type' (lv_name= RULE_ID ) ) 'extends' { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:159:3: ( 'type' (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:159:4: 'type' (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:177:3: ( 'type' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:177:4: 'type' (lv_name= RULE_ID ) { - match(input,12,FOLLOW_12_in_ruleType375); + match(input,12,FOLLOW_12_in_ruleType372); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:163:1: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:165:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:181:1: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:183:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleType396); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleType393); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -380,23 +393,27 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - match(input,13,FOLLOW_13_in_ruleType417); + match(input,13,FOLLOW_13_in_ruleType414); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:183:2: ( ( RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:186:3: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:205:2: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:208:3: ( RULE_ID ) { if (current==null) { @@ -404,10 +421,10 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:192:1: ( RULE_ID ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:193:2: RULE_ID + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:214:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g:215:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleType442); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleType439); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/ImportUriTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "extends"); @@ -439,19 +456,19 @@ public class InternalImportUriTestLanguageParser extends AbstractAntlrParser { - public static final BitSet FOLLOW_ruleMain_in_entryRuleMain70 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleMain80 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleImport_in_ruleMain139 = new BitSet(new long[]{0x0000000000001802L}); - public static final BitSet FOLLOW_ruleType_in_ruleMain178 = new BitSet(new long[]{0x0000000000001002L}); - public static final BitSet FOLLOW_ruleImport_in_entryRuleImport218 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleImport228 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_11_in_ruleImport262 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleImport283 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleType_in_entryRuleType329 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleType339 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_12_in_ruleType375 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleType396 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_13_in_ruleType417 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleType442 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleMain_in_entryRuleMain71 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleMain81 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleImport_in_ruleMain140 = new BitSet(new long[]{0x0000000000001802L}); + public static final BitSet FOLLOW_ruleType_in_ruleMain179 = new BitSet(new long[]{0x0000000000001002L}); + public static final BitSet FOLLOW_ruleImport_in_entryRuleImport217 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleImport227 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_ruleImport261 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleImport282 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleType_in_entryRuleType326 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleType336 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_12_in_ruleType372 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleType393 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleType414 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleType439 = 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/crossrefs/parser/internal/InternalImportUriTestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage__.g index 618f11d..1a1a789 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage__.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage__.g @@ -11,25 +11,25 @@ T11 : 'import' ; T12 : 'type' ; T13 : 'extends' ; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 203 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 226 RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 205 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 228 RULE_INT : ('0'..'9')+; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 207 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 230 RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 209 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 232 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 211 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 234 RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 213 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 236 RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 215 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalImportUriTestLanguage.g" 238 RULE_ANY_OTHER : .; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g index 5dc1c1e..015dcd2 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; } @parser::members { @@ -58,6 +59,7 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream; + // Entry rule entryRuleMain entryRuleMain returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } @@ -84,8 +86,12 @@ ruleMain returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "imports", lv_imports,null); - } + try { + factory.add($current, "imports", lv_imports,"Import"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*( @@ -101,11 +107,17 @@ ruleMain returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "types", lv_types,null); - } + try { + factory.add($current, "types", lv_types,"Type"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*); - + + + // Entry rule entryRuleImport @@ -137,11 +149,17 @@ ruleImport returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "uri", lv_uri,"STRING"); - } + try { + factory.set($current, "uri", lv_uri,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )); - + + + // Entry rule entryRuleType @@ -173,8 +191,12 @@ ruleType returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))'extends' { @@ -196,7 +218,8 @@ ruleType returns [EObject current=null] ) )); - + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageLexer.java index 1cdda93..04ab0e7 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g 2008-12-10 21:58:10 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g 2008-12-16 15:27:03 package org.eclipse.xtext.crossrefs.parser.internal; @@ -92,10 +92,10 @@ public class InternalLangATestLanguageLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:203:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:203:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:226:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:226:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:203:11: ( '^' )? + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:226:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -104,7 +104,7 @@ public class InternalLangATestLanguageLexer extends Lexer { } switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:203:12: '^' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:226:12: '^' { match('^'); @@ -123,7 +123,7 @@ public class InternalLangATestLanguageLexer extends Lexer { recover(mse); throw mse; } - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:203:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:226:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -171,10 +171,10 @@ public class InternalLangATestLanguageLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:205:10: ( ( '0' .. '9' )+ ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:205:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:228:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:228:12: ( '0' .. '9' )+ { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:205:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:228:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -188,7 +188,7 @@ public class InternalLangATestLanguageLexer extends Lexer { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:205:13: '0' .. '9' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:228:13: '0' .. '9' { matchRange('0','9'); @@ -218,7 +218,7 @@ public class InternalLangATestLanguageLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -230,16 +230,16 @@ public class InternalLangATestLanguageLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("207:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("230:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -255,7 +255,7 @@ public class InternalLangATestLanguageLexer extends Lexer { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -272,7 +272,7 @@ public class InternalLangATestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:65: ~ ( '\\\\' | '\"' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -298,10 +298,10 @@ public class InternalLangATestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -317,7 +317,7 @@ public class InternalLangATestLanguageLexer extends Lexer { switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -334,7 +334,7 @@ public class InternalLangATestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:207:152: ~ ( '\\\\' | '\\'' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:230:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -372,12 +372,12 @@ public class InternalLangATestLanguageLexer extends Lexer { public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:209:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:209:19: '/*' ( options {greedy=false; } : . )* '*/' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:232:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:232:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:209:24: ( options {greedy=false; } : . )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:232:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -402,7 +402,7 @@ public class InternalLangATestLanguageLexer extends Lexer { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:209:52: . + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:232:52: . { matchAny(); @@ -431,12 +431,12 @@ public class InternalLangATestLanguageLexer extends Lexer { public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:211:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:211:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:234:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:234:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:211:24: (~ ( '\\n' | '\\r' ) )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:234:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -449,7 +449,7 @@ public class InternalLangATestLanguageLexer extends Lexer { switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:211:24: ~ ( '\\n' | '\\r' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:234: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(); @@ -470,7 +470,7 @@ public class InternalLangATestLanguageLexer extends Lexer { } } while (true); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:211:38: ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:234:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -479,9 +479,9 @@ public class InternalLangATestLanguageLexer extends Lexer { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:211:39: ( '\\r' )? '\\n' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:234:39: ( '\\r' )? '\\n' { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:211:39: ( '\\r' )? + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:234:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -490,7 +490,7 @@ public class InternalLangATestLanguageLexer extends Lexer { } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:211:39: '\\r' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:234:39: '\\r' { match('\r'); @@ -521,10 +521,10 @@ public class InternalLangATestLanguageLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:213:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:213:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:236:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:236:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:213:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:236:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -578,8 +578,8 @@ public class InternalLangATestLanguageLexer extends Lexer { public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:215:16: ( . ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:215:18: . + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:238:16: ( . ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:238:18: . { matchAny(); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageParser.java index cce7093..7183b68 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g 2008-12-10 21:58:09 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g 2008-12-16 15:27:03 package org.eclipse.xtext.crossrefs.parser.internal; @@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; import org.antlr.runtime.*; @@ -61,7 +62,7 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleMain - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:62:1: entryRuleMain returns [EObject current=null] : iv_ruleMain= ruleMain EOF ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:64:1: entryRuleMain returns [EObject current=null] : iv_ruleMain= ruleMain EOF ; public final EObject entryRuleMain() throws RecognitionException { EObject current = null; @@ -69,16 +70,16 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:62:46: (iv_ruleMain= ruleMain EOF ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:63:2: iv_ruleMain= ruleMain EOF + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:64:46: (iv_ruleMain= ruleMain EOF ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:65:2: iv_ruleMain= ruleMain EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleMain_in_entryRuleMain70); + pushFollow(FOLLOW_ruleMain_in_entryRuleMain71); iv_ruleMain=ruleMain(); _fsp--; current =iv_ruleMain; - match(input,EOF,FOLLOW_EOF_in_entryRuleMain80); + match(input,EOF,FOLLOW_EOF_in_entryRuleMain81); } @@ -96,7 +97,7 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleMain - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:70:1: ruleMain returns [EObject current=null] : ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:72:1: ruleMain returns [EObject current=null] : ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) ; public final EObject ruleMain() throws RecognitionException { EObject current = null; @@ -107,13 +108,13 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:72:33: ( ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:73:1: ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:74:33: ( ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:75:1: ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:73:1: ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:73:2: (lv_imports= ruleImport )* (lv_types= ruleType )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:75:1: ( (lv_imports= ruleImport )* (lv_types= ruleType )* ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:75:2: (lv_imports= ruleImport )* (lv_types= ruleType )* { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:73:2: (lv_imports= ruleImport )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:75:2: (lv_imports= ruleImport )* loop1: do { int alt1=2; @@ -126,12 +127,12 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:76:6: lv_imports= ruleImport + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:78:6: lv_imports= ruleImport { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleImport_in_ruleMain139); + pushFollow(FOLLOW_ruleImport_in_ruleMain140); lv_imports=ruleImport(); _fsp--; @@ -142,8 +143,12 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.add(current, "imports", lv_imports,null); - + try { + factory.add(current, "imports", lv_imports,"Import"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -153,7 +158,7 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { } } while (true); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:90:3: (lv_types= ruleType )* + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:96:3: (lv_types= ruleType )* loop2: do { int alt2=2; @@ -166,12 +171,12 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { switch (alt2) { case 1 : - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:93:6: lv_types= ruleType + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:99:6: lv_types= ruleType { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleType_in_ruleMain178); + pushFollow(FOLLOW_ruleType_in_ruleMain179); lv_types=ruleType(); _fsp--; @@ -182,8 +187,12 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.add(current, "types", lv_types,null); - + try { + factory.add(current, "types", lv_types,"Type"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -214,7 +223,7 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleImport - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:112:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:124:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; public final EObject entryRuleImport() throws RecognitionException { EObject current = null; @@ -222,16 +231,16 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:112:48: (iv_ruleImport= ruleImport EOF ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:113:2: iv_ruleImport= ruleImport EOF + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:124:48: (iv_ruleImport= ruleImport EOF ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:125:2: iv_ruleImport= ruleImport EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleImport_in_entryRuleImport218); + pushFollow(FOLLOW_ruleImport_in_entryRuleImport217); iv_ruleImport=ruleImport(); _fsp--; current =iv_ruleImport; - match(input,EOF,FOLLOW_EOF_in_entryRuleImport228); + match(input,EOF,FOLLOW_EOF_in_entryRuleImport227); } @@ -249,7 +258,7 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleImport - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:120:1: ruleImport returns [EObject current=null] : ( 'import' (lv_uri= RULE_STRING ) ) ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:132:1: ruleImport returns [EObject current=null] : ( 'import' (lv_uri= RULE_STRING ) ) ; public final EObject ruleImport() throws RecognitionException { EObject current = null; @@ -257,21 +266,21 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:122:33: ( ( 'import' (lv_uri= RULE_STRING ) ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:123:1: ( 'import' (lv_uri= RULE_STRING ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:134:33: ( ( 'import' (lv_uri= RULE_STRING ) ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:135:1: ( 'import' (lv_uri= RULE_STRING ) ) { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:123:1: ( 'import' (lv_uri= RULE_STRING ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:123:2: 'import' (lv_uri= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:135:1: ( 'import' (lv_uri= RULE_STRING ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:135:2: 'import' (lv_uri= RULE_STRING ) { - match(input,11,FOLLOW_11_in_ruleImport262); + match(input,11,FOLLOW_11_in_ruleImport261); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:127:1: (lv_uri= RULE_STRING ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:129:6: lv_uri= RULE_STRING + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:139:1: (lv_uri= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:141:6: lv_uri= RULE_STRING { lv_uri=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport283); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport282); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "uri"); @@ -281,8 +290,12 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.set(current, "uri", lv_uri,"STRING"); - + try { + factory.set(current, "uri", lv_uri,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -307,7 +320,7 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleType - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:148:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:166:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ; public final EObject entryRuleType() throws RecognitionException { EObject current = null; @@ -315,16 +328,16 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:148:46: (iv_ruleType= ruleType EOF ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:149:2: iv_ruleType= ruleType EOF + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:166:46: (iv_ruleType= ruleType EOF ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:167:2: iv_ruleType= ruleType EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.2" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleType_in_entryRuleType329); + pushFollow(FOLLOW_ruleType_in_entryRuleType326); iv_ruleType=ruleType(); _fsp--; current =iv_ruleType; - match(input,EOF,FOLLOW_EOF_in_entryRuleType339); + match(input,EOF,FOLLOW_EOF_in_entryRuleType336); } @@ -342,7 +355,7 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleType - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:156:1: ruleType returns [EObject current=null] : ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) ; + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:174:1: ruleType returns [EObject current=null] : ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) ; public final EObject ruleType() throws RecognitionException { EObject current = null; @@ -350,27 +363,27 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:158:33: ( ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:159:1: ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:176:33: ( ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:177:1: ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:159:1: ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:159:2: ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:177:1: ( ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:177:2: ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) ( ( RULE_ID ) ) { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:159:2: ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:159:3: ( 'type' (lv_name= RULE_ID ) ) 'extends' + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:177:2: ( ( 'type' (lv_name= RULE_ID ) ) 'extends' ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:177:3: ( 'type' (lv_name= RULE_ID ) ) 'extends' { - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:159:3: ( 'type' (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:159:4: 'type' (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:177:3: ( 'type' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:177:4: 'type' (lv_name= RULE_ID ) { - match(input,12,FOLLOW_12_in_ruleType375); + match(input,12,FOLLOW_12_in_ruleType372); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:163:1: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:165:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:181:1: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:183:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleType396); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleType393); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -380,23 +393,27 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - match(input,13,FOLLOW_13_in_ruleType417); + match(input,13,FOLLOW_13_in_ruleType414); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:183:2: ( ( RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:186:3: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:205:2: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:208:3: ( RULE_ID ) { if (current==null) { @@ -404,10 +421,10 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:192:1: ( RULE_ID ) - // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:193:2: RULE_ID + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:214:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g:215:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleType442); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleType439); createLeafNode("classpath:/org/eclipse/xtext/crossrefs/LangATestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "extends"); @@ -439,19 +456,19 @@ public class InternalLangATestLanguageParser extends AbstractAntlrParser { - public static final BitSet FOLLOW_ruleMain_in_entryRuleMain70 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleMain80 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleImport_in_ruleMain139 = new BitSet(new long[]{0x0000000000001802L}); - public static final BitSet FOLLOW_ruleType_in_ruleMain178 = new BitSet(new long[]{0x0000000000001002L}); - public static final BitSet FOLLOW_ruleImport_in_entryRuleImport218 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleImport228 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_11_in_ruleImport262 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleImport283 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleType_in_entryRuleType329 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleType339 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_12_in_ruleType375 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleType396 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_13_in_ruleType417 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleType442 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleMain_in_entryRuleMain71 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleMain81 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleImport_in_ruleMain140 = new BitSet(new long[]{0x0000000000001802L}); + public static final BitSet FOLLOW_ruleType_in_ruleMain179 = new BitSet(new long[]{0x0000000000001002L}); + public static final BitSet FOLLOW_ruleImport_in_entryRuleImport217 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleImport227 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_ruleImport261 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleImport282 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleType_in_entryRuleType326 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleType336 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_12_in_ruleType372 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleType393 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleType414 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleType439 = 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/crossrefs/parser/internal/InternalLangATestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage__.g index 7c88314..7018d6a 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage__.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage__.g @@ -11,25 +11,25 @@ T11 : 'import' ; T12 : 'type' ; T13 : 'extends' ; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 203 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 226 RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 205 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 228 RULE_INT : ('0'..'9')+; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 207 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 230 RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 209 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 232 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 211 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 234 RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 213 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 236 RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 215 +// $ANTLR src "./src-gen/org/eclipse/xtext/crossrefs/parser/internal/InternalLangATestLanguage.g" 238 RULE_ANY_OTHER : .; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parsetree/reconstr/ImportUriTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parsetree/reconstr/ImportUriTestLanguageParseTreeConstructor.java index 3d32e92..8fe7d85 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parsetree/reconstr/ImportUriTestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parsetree/reconstr/ImportUriTestLanguageParseTreeConstructor.java @@ -25,12 +25,19 @@ public class ImportUriTestLanguageParseTreeConstructor extends AbstractParseTree protected Solution internalSerialize(EObject obj) { IInstanceDescription inst = getDescr(obj); Solution s; + if(inst.isInstanceOf("Main") && (s = new Main_Group(inst, null).firstSolution()) != null) return s; + + if(inst.isInstanceOf("Import") && (s = new Import_Group(inst, null).firstSolution()) != null) return s; + + if(inst.isInstanceOf("Type") && (s = new Type_Group(inst, null).firstSolution()) != null) return s; + return null; } + /************ begin Rule Main **************** * * Main : ( imports += Import ) * ( types += Type ) * ; @@ -80,6 +87,7 @@ protected class Main_0_Assignment_imports extends AssignmentToken { protected Solution createSolution() { if((value = current.getConsumable("imports",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("imports"); + if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); if(param.isInstanceOf("Import")) { @@ -90,6 +98,7 @@ protected class Main_0_Assignment_imports extends AssignmentToken { } } } + return null; } } @@ -108,6 +117,7 @@ protected class Main_1_Assignment_types extends AssignmentToken { protected Solution createSolution() { if((value = current.getConsumable("types",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("types"); + if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); if(param.isInstanceOf("Type")) { @@ -118,6 +128,7 @@ protected class Main_1_Assignment_types extends AssignmentToken { } } } + return null; } } @@ -125,6 +136,7 @@ protected class Main_1_Assignment_types extends AssignmentToken { /************ end Rule Main ****************/ + /************ begin Rule Import **************** * * Import : 'import' importURI = STRING ; @@ -198,6 +210,7 @@ protected class Import_1_Assignment_importURI extends AssignmentToken { /************ end Rule Import ****************/ + /************ begin Rule Type **************** * * Type : 'type' name = ID 'extends' ^extends = [ Type ] ; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parsetree/reconstr/LangATestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parsetree/reconstr/LangATestLanguageParseTreeConstructor.java index 4dc05ac..443fa43 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parsetree/reconstr/LangATestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/crossrefs/parsetree/reconstr/LangATestLanguageParseTreeConstructor.java @@ -25,12 +25,19 @@ public class LangATestLanguageParseTreeConstructor extends AbstractParseTreeCons protected Solution internalSerialize(EObject obj) { IInstanceDescription inst = getDescr(obj); Solution s; + if(inst.isInstanceOf("Main") && (s = new Main_Group(inst, null).firstSolution()) != null) return s; + + if(inst.isInstanceOf("Import") && (s = new Import_Group(inst, null).firstSolution()) != null) return s; + + if(inst.isInstanceOf("Type") && (s = new Type_Group(inst, null).firstSolution()) != null) return s; + return null; } + /************ begin Rule Main **************** * * Main : ( imports += Import ) * ( types += Type ) * ; @@ -80,6 +87,7 @@ protected class Main_0_Assignment_imports extends AssignmentToken { protected Solution createSolution() { if((value = current.getConsumable("imports",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("imports"); + if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); if(param.isInstanceOf("Import")) { @@ -90,6 +98,7 @@ protected class Main_0_Assignment_imports extends AssignmentToken { } } } + return null; } } @@ -108,6 +117,7 @@ protected class Main_1_Assignment_types extends AssignmentToken { protected Solution createSolution() { if((value = current.getConsumable("types",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("types"); + if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); if(param.isInstanceOf("Type")) { @@ -118,6 +128,7 @@ protected class Main_1_Assignment_types extends AssignmentToken { } } } + return null; } } @@ -125,6 +136,7 @@ protected class Main_1_Assignment_types extends AssignmentToken { /************ end Rule Main ****************/ + /************ begin Rule Import **************** * * Import : 'import' uri = STRING ; @@ -198,6 +210,7 @@ protected class Import_1_Assignment_uri extends AssignmentToken { /************ end Rule Import ****************/ + /************ begin Rule Type **************** * * Type : 'type' name = ID 'extends' ^extends = [ Type ] ; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g index f8c9c3e..f7d372b 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; } @parser::members { @@ -58,6 +59,7 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream; + // Entry rule entryRuleModel entryRuleModel returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } @@ -84,11 +86,17 @@ ruleModel returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "elements", lv_elements,null); - } + try { + factory.add($current, "elements", lv_elements,"Element"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*; - + + + // Entry rule entryRuleElement @@ -116,8 +124,12 @@ ruleElement returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "optional", true,"optional"); - } + try { + factory.set($current, "optional", true,"optional"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )?'element' { @@ -136,8 +148,12 @@ ruleElement returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))( @@ -152,15 +168,20 @@ ruleElement returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "descriptions", lv_descriptions,"STRING"); - } + try { + factory.add($current, "descriptions", lv_descriptions,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*)';' { createLeafNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); } ); - + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageLexer.java index 0519acd..1ceb3d0 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g 2008-12-10 21:58:14 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g 2008-12-16 15:27:08 package org.eclipse.xtext.dummy.parser.internal; @@ -91,10 +91,10 @@ public class InternalDummyTestLanguageLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:167:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:167:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:188:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:188:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:167:11: ( '^' )? + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:188:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -103,7 +103,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { } switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:167:12: '^' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:188:12: '^' { match('^'); @@ -122,7 +122,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { recover(mse); throw mse; } - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:167:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:188:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -170,10 +170,10 @@ public class InternalDummyTestLanguageLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:169:10: ( ( '0' .. '9' )+ ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:169:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:190:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:190:12: ( '0' .. '9' )+ { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:169:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:190:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -187,7 +187,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:169:13: '0' .. '9' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:190:13: '0' .. '9' { matchRange('0','9'); @@ -217,7 +217,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -229,16 +229,16 @@ public class InternalDummyTestLanguageLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("171:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("192:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -254,7 +254,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -271,7 +271,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:65: ~ ( '\\\\' | '\"' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -297,10 +297,10 @@ public class InternalDummyTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -316,7 +316,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -333,7 +333,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:171:152: ~ ( '\\\\' | '\\'' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:192:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -371,12 +371,12 @@ public class InternalDummyTestLanguageLexer extends Lexer { public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:173:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:173:19: '/*' ( options {greedy=false; } : . )* '*/' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:194:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:194:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:173:24: ( options {greedy=false; } : . )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:194:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -401,7 +401,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:173:52: . + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:194:52: . { matchAny(); @@ -430,12 +430,12 @@ public class InternalDummyTestLanguageLexer extends Lexer { public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:175:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:175:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:196:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:196:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:175:24: (~ ( '\\n' | '\\r' ) )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:196:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -448,7 +448,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:175:24: ~ ( '\\n' | '\\r' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:196: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(); @@ -469,7 +469,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { } } while (true); - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:175:38: ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:196:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -478,9 +478,9 @@ public class InternalDummyTestLanguageLexer extends Lexer { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:175:39: ( '\\r' )? '\\n' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:196:39: ( '\\r' )? '\\n' { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:175:39: ( '\\r' )? + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:196:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -489,7 +489,7 @@ public class InternalDummyTestLanguageLexer extends Lexer { } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:175:39: '\\r' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:196:39: '\\r' { match('\r'); @@ -520,10 +520,10 @@ public class InternalDummyTestLanguageLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:177:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:177:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:198:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:198:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:177:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:198:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -577,8 +577,8 @@ public class InternalDummyTestLanguageLexer extends Lexer { public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:179:16: ( . ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:179:18: . + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:200:16: ( . ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:200:18: . { matchAny(); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageParser.java index 8049c9f..4fcfc09 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g 2008-12-10 21:58:14 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g 2008-12-16 15:27:07 package org.eclipse.xtext.dummy.parser.internal; @@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; import org.antlr.runtime.*; @@ -61,7 +62,7 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleModel - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:62:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ; + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:64:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ; public final EObject entryRuleModel() throws RecognitionException { EObject current = null; @@ -69,16 +70,16 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:62:47: (iv_ruleModel= ruleModel EOF ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:63:2: iv_ruleModel= ruleModel EOF + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:64:47: (iv_ruleModel= ruleModel EOF ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:65:2: iv_ruleModel= ruleModel EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleModel_in_entryRuleModel70); + pushFollow(FOLLOW_ruleModel_in_entryRuleModel71); iv_ruleModel=ruleModel(); _fsp--; current =iv_ruleModel; - match(input,EOF,FOLLOW_EOF_in_entryRuleModel80); + match(input,EOF,FOLLOW_EOF_in_entryRuleModel81); } @@ -96,7 +97,7 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleModel - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:70:1: ruleModel returns [EObject current=null] : (lv_elements= ruleElement )* ; + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:72:1: ruleModel returns [EObject current=null] : (lv_elements= ruleElement )* ; public final EObject ruleModel() throws RecognitionException { EObject current = null; @@ -105,10 +106,10 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:72:33: ( (lv_elements= ruleElement )* ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:73:1: (lv_elements= ruleElement )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:74:33: ( (lv_elements= ruleElement )* ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:75:1: (lv_elements= ruleElement )* { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:73:1: (lv_elements= ruleElement )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:75:1: (lv_elements= ruleElement )* loop1: do { int alt1=2; @@ -121,12 +122,12 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:76:6: lv_elements= ruleElement + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:78:6: lv_elements= ruleElement { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.0/@alternatives/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleElement_in_ruleModel138); + pushFollow(FOLLOW_ruleElement_in_ruleModel139); lv_elements=ruleElement(); _fsp--; @@ -137,8 +138,12 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.add(current, "elements", lv_elements,null); - + try { + factory.add(current, "elements", lv_elements,"Element"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -166,7 +171,7 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleElement - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:95:1: entryRuleElement returns [EObject current=null] : iv_ruleElement= ruleElement EOF ; + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:103:1: entryRuleElement returns [EObject current=null] : iv_ruleElement= ruleElement EOF ; public final EObject entryRuleElement() throws RecognitionException { EObject current = null; @@ -174,16 +179,16 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:95:49: (iv_ruleElement= ruleElement EOF ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:96:2: iv_ruleElement= ruleElement EOF + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:103:49: (iv_ruleElement= ruleElement EOF ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:104:2: iv_ruleElement= ruleElement EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleElement_in_entryRuleElement177); + pushFollow(FOLLOW_ruleElement_in_entryRuleElement176); iv_ruleElement=ruleElement(); _fsp--; current =iv_ruleElement; - match(input,EOF,FOLLOW_EOF_in_entryRuleElement187); + match(input,EOF,FOLLOW_EOF_in_entryRuleElement186); } @@ -201,7 +206,7 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleElement - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:103:1: ruleElement returns [EObject current=null] : ( ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' ) ; + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:111:1: ruleElement returns [EObject current=null] : ( ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' ) ; public final EObject ruleElement() throws RecognitionException { EObject current = null; @@ -211,22 +216,22 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:105:33: ( ( ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' ) ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:1: ( ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:113:33: ( ( ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' ) ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:1: ( ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' ) { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:1: ( ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:2: ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:1: ( ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:2: ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) ';' { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:2: ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:3: ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:2: ( ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:3: ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) (lv_descriptions= RULE_STRING )* { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:3: ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:4: ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:3: ( ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:4: ( (lv_optional= 'optional' )? 'element' ) (lv_name= RULE_ID ) { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:4: ( (lv_optional= 'optional' )? 'element' ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:5: (lv_optional= 'optional' )? 'element' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:4: ( (lv_optional= 'optional' )? 'element' ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:5: (lv_optional= 'optional' )? 'element' { - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:106:5: (lv_optional= 'optional' )? + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:114:5: (lv_optional= 'optional' )? int alt2=2; int LA2_0 = input.LA(1); @@ -235,10 +240,10 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { } switch (alt2) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:108:6: lv_optional= 'optional' + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:116:6: lv_optional= 'optional' { lv_optional=(Token)input.LT(1); - match(input,11,FOLLOW_11_in_ruleElement236); + match(input,11,FOLLOW_11_in_ruleElement235); createLeafNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::Keyword */, "optional"); @@ -248,26 +253,30 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.set(current, "optional", true,"optional"); - + try { + factory.set(current, "optional", true,"optional"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; } - match(input,12,FOLLOW_12_in_ruleElement258); + match(input,12,FOLLOW_12_in_ruleElement257); createLeafNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:126:2: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:128:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:138:2: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:140:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleElement280); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleElement279); createLeafNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -277,15 +286,19 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:142:3: (lv_descriptions= RULE_STRING )* + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:158:3: (lv_descriptions= RULE_STRING )* loop3: do { int alt3=2; @@ -298,10 +311,10 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:144:6: lv_descriptions= RULE_STRING + // ./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g:160:6: lv_descriptions= RULE_STRING { lv_descriptions=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleElement313); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleElement312); createLeafNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "descriptions"); @@ -311,8 +324,12 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.add(current, "descriptions", lv_descriptions,"STRING"); - + try { + factory.add(current, "descriptions", lv_descriptions,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -325,7 +342,7 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { } - match(input,13,FOLLOW_13_in_ruleElement335); + match(input,13,FOLLOW_13_in_ruleElement334); createLeafNode("classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -351,15 +368,15 @@ public class InternalDummyTestLanguageParser extends AbstractAntlrParser { - public static final BitSet FOLLOW_ruleModel_in_entryRuleModel70 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleModel80 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleElement_in_ruleModel138 = new BitSet(new long[]{0x0000000000001802L}); - public static final BitSet FOLLOW_ruleElement_in_entryRuleElement177 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleElement187 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_11_in_ruleElement236 = new BitSet(new long[]{0x0000000000001000L}); - public static final BitSet FOLLOW_12_in_ruleElement258 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleElement280 = new BitSet(new long[]{0x0000000000002020L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleElement313 = new BitSet(new long[]{0x0000000000002020L}); - public static final BitSet FOLLOW_13_in_ruleElement335 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleModel_in_entryRuleModel71 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleModel81 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleElement_in_ruleModel139 = new BitSet(new long[]{0x0000000000001802L}); + public static final BitSet FOLLOW_ruleElement_in_entryRuleElement176 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleElement186 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_ruleElement235 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleElement257 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleElement279 = new BitSet(new long[]{0x0000000000002020L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleElement312 = new BitSet(new long[]{0x0000000000002020L}); + public static final BitSet FOLLOW_13_in_ruleElement334 = 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/dummy/parser/internal/InternalDummyTestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage__.g index f4804c9..e53b7d3 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage__.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage__.g @@ -11,25 +11,25 @@ T11 : 'optional' ; T12 : 'element' ; T13 : ';' ; -// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 167 +// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 188 RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; -// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 169 +// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 190 RULE_INT : ('0'..'9')+; -// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 171 +// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 192 RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; -// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 173 +// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 194 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 175 +// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 196 RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 177 +// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 198 RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 179 +// $ANTLR src "./src-gen/org/eclipse/xtext/dummy/parser/internal/InternalDummyTestLanguage.g" 200 RULE_ANY_OTHER : .; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parsetree/reconstr/DummyTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parsetree/reconstr/DummyTestLanguageParseTreeConstructor.java index 948d6a4..d3b8466 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parsetree/reconstr/DummyTestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/dummy/parsetree/reconstr/DummyTestLanguageParseTreeConstructor.java @@ -25,11 +25,16 @@ public class DummyTestLanguageParseTreeConstructor extends AbstractParseTreeCons protected Solution internalSerialize(EObject obj) { IInstanceDescription inst = getDescr(obj); Solution s; + if(inst.isInstanceOf("Model") && (s = new Model_Assignment_elements(inst, null).firstSolution()) != null) return s; + + if(inst.isInstanceOf("Element") && (s = new Element_Group(inst, null).firstSolution()) != null) return s; + return null; } + /************ begin Rule Model **************** * * Model : ( elements += Element ) * ; @@ -51,6 +56,7 @@ protected class Model_Assignment_elements extends AssignmentToken { protected Solution createSolution() { if((value = current.getConsumable("elements",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("elements"); + if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); if(param.isInstanceOf("Element")) { @@ -61,12 +67,14 @@ protected class Model_Assignment_elements extends AssignmentToken { } } } + return null; } } /************ end Rule Model ****************/ + /************ begin Rule Element **************** * * Element : ( optional ?= 'optional' ) ? 'element' name = ID ( descriptions += STRING ) * ';' ; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g index 214c01b..7214f64 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; } @parser::members { @@ -58,6 +59,7 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream; + // Entry rule entryRuleConcreteParserRule entryRuleConcreteParserRule returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } @@ -87,8 +89,12 @@ ruleConcreteParserRule returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "magicNumber", lv_magicNumber,"REAL"); - } + try { + factory.set($current, "magicNumber", lv_magicNumber,"REAL"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))':' { @@ -108,11 +114,17 @@ ruleConcreteParserRule returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "elements", lv_elements,null); - } + try { + factory.add($current, "elements", lv_elements,"InheritedParserRule"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*); - + + + // Entry rule entryRuleInheritedParserRule @@ -140,15 +152,20 @@ ruleInheritedParserRule returns [EObject current=null] { if ($current==null) { - $current = factory.create("mm::AType"); + $current = factory.create("AType"); associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )); - + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageLexer.java index 417f69e..02f73b9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g 2008-12-10 21:58:10 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g 2008-12-16 15:27:04 package org.eclipse.xtext.grammarinheritance.parser.internal; @@ -92,8 +92,8 @@ public class InternalConcreteTestLanguageLexer extends Lexer { public final void mRULE_REAL() throws RecognitionException { try { int _type = RULE_REAL; - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:155:11: ( RULE_INT '.' RULE_INT ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:155:13: RULE_INT '.' RULE_INT + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:172:11: ( RULE_INT '.' RULE_INT ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:172:13: RULE_INT '.' RULE_INT { mRULE_INT(); match('.'); @@ -112,10 +112,10 @@ public class InternalConcreteTestLanguageLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:157:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | 'ö' | 'ä' | 'ü' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:157:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | 'ö' | 'ä' | 'ü' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:174:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | 'ö' | 'ä' | 'ü' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:174:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | 'ö' | 'ä' | 'ü' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:157:11: ( '^' )? + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:174:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -124,7 +124,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { } switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:157:12: '^' + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:174:12: '^' { match('^'); @@ -143,7 +143,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { recover(mse); throw mse; } - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:157:53: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:174:53: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -191,10 +191,10 @@ public class InternalConcreteTestLanguageLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:159:10: ( ( '0' .. '9' )+ ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:159:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:176:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:176:12: ( '0' .. '9' )+ { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:159:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:176:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -208,7 +208,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:159:13: '0' .. '9' + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:176:13: '0' .. '9' { matchRange('0','9'); @@ -238,7 +238,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -250,16 +250,16 @@ public class InternalConcreteTestLanguageLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("161:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("178:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -275,7 +275,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -292,7 +292,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:65: ~ ( '\\\\' | '\"' ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -318,10 +318,10 @@ public class InternalConcreteTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -337,7 +337,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -354,7 +354,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:161:152: ~ ( '\\\\' | '\\'' ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:178:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -392,12 +392,12 @@ public class InternalConcreteTestLanguageLexer extends Lexer { public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:163:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:163:19: '/*' ( options {greedy=false; } : . )* '*/' + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:180:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:180:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:163:24: ( options {greedy=false; } : . )* + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:180:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -422,7 +422,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:163:52: . + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:180:52: . { matchAny(); @@ -451,12 +451,12 @@ public class InternalConcreteTestLanguageLexer extends Lexer { public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:165:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:165:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:182:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:182:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:165:24: (~ ( '\\n' | '\\r' ) )* + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:182:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -469,7 +469,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:165:24: ~ ( '\\n' | '\\r' ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:182: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(); @@ -490,7 +490,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { } } while (true); - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:165:38: ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:182:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -499,9 +499,9 @@ public class InternalConcreteTestLanguageLexer extends Lexer { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:165:39: ( '\\r' )? '\\n' + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:182:39: ( '\\r' )? '\\n' { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:165:39: ( '\\r' )? + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:182:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -510,7 +510,7 @@ public class InternalConcreteTestLanguageLexer extends Lexer { } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:165:39: '\\r' + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:182:39: '\\r' { match('\r'); @@ -541,10 +541,10 @@ public class InternalConcreteTestLanguageLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:167:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:167:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:184:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:184:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:167:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:184:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -598,8 +598,8 @@ public class InternalConcreteTestLanguageLexer extends Lexer { public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:169:16: ( . ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:169:18: . + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:186:16: ( . ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:186:18: . { matchAny(); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageParser.java index 0b7f965..fa8605c 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g 2008-12-10 21:58:10 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g 2008-12-16 15:27:04 package org.eclipse.xtext.grammarinheritance.parser.internal; @@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; import org.antlr.runtime.*; @@ -62,7 +63,7 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleConcreteParserRule - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:62:1: entryRuleConcreteParserRule returns [EObject current=null] : iv_ruleConcreteParserRule= ruleConcreteParserRule EOF ; + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:64:1: entryRuleConcreteParserRule returns [EObject current=null] : iv_ruleConcreteParserRule= ruleConcreteParserRule EOF ; public final EObject entryRuleConcreteParserRule() throws RecognitionException { EObject current = null; @@ -70,16 +71,16 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:62:60: (iv_ruleConcreteParserRule= ruleConcreteParserRule EOF ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:63:2: iv_ruleConcreteParserRule= ruleConcreteParserRule EOF + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:64:60: (iv_ruleConcreteParserRule= ruleConcreteParserRule EOF ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:65:2: iv_ruleConcreteParserRule= ruleConcreteParserRule EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleConcreteParserRule_in_entryRuleConcreteParserRule70); + pushFollow(FOLLOW_ruleConcreteParserRule_in_entryRuleConcreteParserRule71); iv_ruleConcreteParserRule=ruleConcreteParserRule(); _fsp--; current =iv_ruleConcreteParserRule; - match(input,EOF,FOLLOW_EOF_in_entryRuleConcreteParserRule80); + match(input,EOF,FOLLOW_EOF_in_entryRuleConcreteParserRule81); } @@ -97,7 +98,7 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleConcreteParserRule - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:70:1: ruleConcreteParserRule returns [EObject current=null] : ( ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* ) ; + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:72:1: ruleConcreteParserRule returns [EObject current=null] : ( ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* ) ; public final EObject ruleConcreteParserRule() throws RecognitionException { EObject current = null; @@ -107,27 +108,27 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:72:33: ( ( ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* ) ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:73:1: ( ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:74:33: ( ( ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* ) ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:75:1: ( ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* ) { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:73:1: ( ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:73:2: ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:75:1: ( ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:75:2: ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) (lv_elements= ruleInheritedParserRule )* { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:73:2: ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:73:3: ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:75:2: ( ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:75:3: ( 'model' (lv_magicNumber= RULE_REAL ) ) ':' { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:73:3: ( 'model' (lv_magicNumber= RULE_REAL ) ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:73:4: 'model' (lv_magicNumber= RULE_REAL ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:75:3: ( 'model' (lv_magicNumber= RULE_REAL ) ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:75:4: 'model' (lv_magicNumber= RULE_REAL ) { - match(input,12,FOLLOW_12_in_ruleConcreteParserRule116); + match(input,12,FOLLOW_12_in_ruleConcreteParserRule117); createLeafNode("classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:77:1: (lv_magicNumber= RULE_REAL ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:79:6: lv_magicNumber= RULE_REAL + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:79:1: (lv_magicNumber= RULE_REAL ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:81:6: lv_magicNumber= RULE_REAL { lv_magicNumber=(Token)input.LT(1); - match(input,RULE_REAL,FOLLOW_RULE_REAL_in_ruleConcreteParserRule137); + match(input,RULE_REAL,FOLLOW_RULE_REAL_in_ruleConcreteParserRule138); createLeafNode("classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "magicNumber"); @@ -137,22 +138,26 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.set(current, "magicNumber", lv_magicNumber,"REAL"); - + try { + factory.set(current, "magicNumber", lv_magicNumber,"REAL"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - match(input,13,FOLLOW_13_in_ruleConcreteParserRule158); + match(input,13,FOLLOW_13_in_ruleConcreteParserRule159); createLeafNode("classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:97:2: (lv_elements= ruleInheritedParserRule )* + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:103:2: (lv_elements= ruleInheritedParserRule )* loop1: do { int alt1=2; @@ -165,12 +170,12 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:100:6: lv_elements= ruleInheritedParserRule + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:106:6: lv_elements= ruleInheritedParserRule { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleInheritedParserRule_in_ruleConcreteParserRule193); + pushFollow(FOLLOW_ruleInheritedParserRule_in_ruleConcreteParserRule194); lv_elements=ruleInheritedParserRule(); _fsp--; @@ -181,8 +186,12 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.add(current, "elements", lv_elements,null); - + try { + factory.add(current, "elements", lv_elements,"InheritedParserRule"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -213,7 +222,7 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleInheritedParserRule - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:119:1: entryRuleInheritedParserRule returns [EObject current=null] : iv_ruleInheritedParserRule= ruleInheritedParserRule EOF ; + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:131:1: entryRuleInheritedParserRule returns [EObject current=null] : iv_ruleInheritedParserRule= ruleInheritedParserRule EOF ; public final EObject entryRuleInheritedParserRule() throws RecognitionException { EObject current = null; @@ -221,16 +230,16 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:119:61: (iv_ruleInheritedParserRule= ruleInheritedParserRule EOF ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:120:2: iv_ruleInheritedParserRule= ruleInheritedParserRule EOF + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:131:61: (iv_ruleInheritedParserRule= ruleInheritedParserRule EOF ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:132:2: iv_ruleInheritedParserRule= ruleInheritedParserRule EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleInheritedParserRule_in_entryRuleInheritedParserRule233); + pushFollow(FOLLOW_ruleInheritedParserRule_in_entryRuleInheritedParserRule232); iv_ruleInheritedParserRule=ruleInheritedParserRule(); _fsp--; current =iv_ruleInheritedParserRule; - match(input,EOF,FOLLOW_EOF_in_entryRuleInheritedParserRule243); + match(input,EOF,FOLLOW_EOF_in_entryRuleInheritedParserRule242); } @@ -248,7 +257,7 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleInheritedParserRule - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:127:1: ruleInheritedParserRule returns [EObject current=null] : ( 'element' (lv_name= RULE_ID ) ) ; + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:139:1: ruleInheritedParserRule returns [EObject current=null] : ( 'element' (lv_name= RULE_ID ) ) ; public final EObject ruleInheritedParserRule() throws RecognitionException { EObject current = null; @@ -256,32 +265,36 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:129:33: ( ( 'element' (lv_name= RULE_ID ) ) ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:130:1: ( 'element' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:141:33: ( ( 'element' (lv_name= RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:142:1: ( 'element' (lv_name= RULE_ID ) ) { - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:130:1: ( 'element' (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:130:2: 'element' (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:142:1: ( 'element' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:142:2: 'element' (lv_name= RULE_ID ) { - match(input,14,FOLLOW_14_in_ruleInheritedParserRule277); + match(input,14,FOLLOW_14_in_ruleInheritedParserRule276); createLeafNode("classpath:/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:134:1: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:136:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:146:1: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g:148:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleInheritedParserRule298); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleInheritedParserRule297); createLeafNode("classpath:/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); if (current==null) { - current = factory.create("mm::AType"); + current = factory.create("AType"); associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -307,15 +320,15 @@ public class InternalConcreteTestLanguageParser extends AbstractAntlrParser { - public static final BitSet FOLLOW_ruleConcreteParserRule_in_entryRuleConcreteParserRule70 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleConcreteParserRule80 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_12_in_ruleConcreteParserRule116 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_REAL_in_ruleConcreteParserRule137 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_13_in_ruleConcreteParserRule158 = new BitSet(new long[]{0x0000000000004002L}); - public static final BitSet FOLLOW_ruleInheritedParserRule_in_ruleConcreteParserRule193 = new BitSet(new long[]{0x0000000000004002L}); - public static final BitSet FOLLOW_ruleInheritedParserRule_in_entryRuleInheritedParserRule233 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleInheritedParserRule243 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_14_in_ruleInheritedParserRule277 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleInheritedParserRule298 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleConcreteParserRule_in_entryRuleConcreteParserRule71 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleConcreteParserRule81 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_12_in_ruleConcreteParserRule117 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_REAL_in_ruleConcreteParserRule138 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleConcreteParserRule159 = new BitSet(new long[]{0x0000000000004002L}); + public static final BitSet FOLLOW_ruleInheritedParserRule_in_ruleConcreteParserRule194 = new BitSet(new long[]{0x0000000000004002L}); + public static final BitSet FOLLOW_ruleInheritedParserRule_in_entryRuleInheritedParserRule232 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleInheritedParserRule242 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_14_in_ruleInheritedParserRule276 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleInheritedParserRule297 = 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/grammarinheritance/parser/internal/InternalConcreteTestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage__.g index edda42f..9e7698f 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage__.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage__.g @@ -11,28 +11,28 @@ T12 : 'model' ; T13 : ':' ; T14 : 'element' ; -// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 155 +// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 172 RULE_REAL : RULE_INT '.' RULE_INT; -// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 157 +// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 174 RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'ö'|'ä'|'ü'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; -// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 159 +// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 176 RULE_INT : ('0'..'9')+; -// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 161 +// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 178 RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; -// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 163 +// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 180 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 165 +// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 182 RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 167 +// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 184 RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 169 +// $ANTLR src "./src-gen/org/eclipse/xtext/grammarinheritance/parser/internal/InternalConcreteTestLanguage.g" 186 RULE_ANY_OTHER : .; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parsetree/reconstr/ConcreteTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parsetree/reconstr/ConcreteTestLanguageParseTreeConstructor.java index f55a88a..69bba0d 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parsetree/reconstr/ConcreteTestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/grammarinheritance/parsetree/reconstr/ConcreteTestLanguageParseTreeConstructor.java @@ -26,11 +26,16 @@ public class ConcreteTestLanguageParseTreeConstructor extends AbstractParseTreeC protected Solution internalSerialize(EObject obj) { IInstanceDescription inst = getDescr(obj); Solution s; + if(inst.isInstanceOf("ConcreteParserRule") && (s = new ConcreteParserRule_Group(inst, null).firstSolution()) != null) return s; - if(inst.isInstanceOf("mm::AType") && (s = new InheritedParserRule_Group(inst, null).firstSolution()) != null) return s; + + + if(inst.isInstanceOf("AType") && (s = new InheritedParserRule_Group(inst, null).firstSolution()) != null) return s; + return null; } + /************ begin Rule ConcreteParserRule **************** * * ConcreteParserRule : 'model' magicNumber = REAL ':' ( elements += InheritedParserRule ) * ; @@ -185,9 +190,10 @@ protected class ConcreteParserRule_1_Assignment_elements extends AssignmentToken protected Solution createSolution() { if((value = current.getConsumable("elements",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("elements"); + if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); - if(param.isInstanceOf("mm::AType")) { + if(param.isInstanceOf("AType")) { Solution s = new InheritedParserRule_Group(param, this).firstSolution(); if(s != null) { type = AssignmentType.PRC; @@ -195,6 +201,7 @@ protected class ConcreteParserRule_1_Assignment_elements extends AssignmentToken } } } + return null; } } @@ -202,6 +209,7 @@ protected class ConcreteParserRule_1_Assignment_elements extends AssignmentToken /************ end Rule ConcreteParserRule ****************/ + /************ begin Rule InheritedParserRule **************** * * InheritedParserRule returns AType : 'element' name = ID ; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g index 2fd9b57..6cce23b 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; } @parser::members { @@ -58,6 +59,7 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream; + // Entry rule entryRuleFoo entryRuleFoo returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } @@ -83,8 +85,12 @@ ruleFoo returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )( @@ -100,11 +106,17 @@ ruleFoo returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "nameRefs", lv_nameRefs,null); - } + try { + factory.add($current, "nameRefs", lv_nameRefs,"NameRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*); - + + + // Entry rule entryRuleNameRef @@ -124,7 +136,7 @@ ruleNameRef returns [EObject current=null] { if ($current==null) { - $current = factory.create("xtext::RuleCall"); + $current = factory.create("RuleCall"); associateNodeWithAstElement(currentNode, $current); } } @@ -135,7 +147,8 @@ ruleNameRef returns [EObject current=null] ) ); - + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageLexer.java index 421fc09..3c124ab 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g 2008-12-10 21:58:13 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g 2008-12-16 15:27:07 package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; @@ -32,10 +32,10 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:144:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:144:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:157:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:157:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:144:11: ( '^' )? + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:157:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -44,7 +44,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { } switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:144:12: '^' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:157:12: '^' { match('^'); @@ -63,7 +63,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { recover(mse); throw mse; } - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:144:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:157:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -111,10 +111,10 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:146:10: ( ( '0' .. '9' )+ ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:146:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:159:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:159:12: ( '0' .. '9' )+ { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:146:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:159:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -128,7 +128,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:146:13: '0' .. '9' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:159:13: '0' .. '9' { matchRange('0','9'); @@ -158,7 +158,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -170,16 +170,16 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("148:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("161:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -195,7 +195,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -212,7 +212,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:65: ~ ( '\\\\' | '\"' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -238,10 +238,10 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -257,7 +257,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -274,7 +274,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:148:152: ~ ( '\\\\' | '\\'' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:161:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -312,12 +312,12 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:150:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:150:19: '/*' ( options {greedy=false; } : . )* '*/' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:163:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:163:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:150:24: ( options {greedy=false; } : . )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:163:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -342,7 +342,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:150:52: . + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:163:52: . { matchAny(); @@ -371,12 +371,12 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:152:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:152:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:165:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:165:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:152:24: (~ ( '\\n' | '\\r' ) )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:165:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -389,7 +389,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:152:24: ~ ( '\\n' | '\\r' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:165: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(); @@ -410,7 +410,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { } } while (true); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:152:38: ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:165:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -419,9 +419,9 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:152:39: ( '\\r' )? '\\n' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:165:39: ( '\\r' )? '\\n' { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:152:39: ( '\\r' )? + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:165:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -430,7 +430,7 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:152:39: '\\r' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:165:39: '\\r' { match('\r'); @@ -461,10 +461,10 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:154:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:154:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:167:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:167:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:154:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:167:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -518,8 +518,8 @@ public class InternalMetamodelRefTestLanguageLexer extends Lexer { public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:156:16: ( . ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:156:18: . + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:169:16: ( . ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:169:18: . { matchAny(); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageParser.java index db4be87..29e7907 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g 2008-12-10 21:58:13 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g 2008-12-16 15:27:07 package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; @@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; import org.antlr.runtime.*; @@ -61,7 +62,7 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleFoo - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:62:1: entryRuleFoo returns [EObject current=null] : iv_ruleFoo= ruleFoo EOF ; + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:64:1: entryRuleFoo returns [EObject current=null] : iv_ruleFoo= ruleFoo EOF ; public final EObject entryRuleFoo() throws RecognitionException { EObject current = null; @@ -69,16 +70,16 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:62:45: (iv_ruleFoo= ruleFoo EOF ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:63:2: iv_ruleFoo= ruleFoo EOF + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:64:45: (iv_ruleFoo= ruleFoo EOF ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:65:2: iv_ruleFoo= ruleFoo EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleFoo_in_entryRuleFoo70); + pushFollow(FOLLOW_ruleFoo_in_entryRuleFoo71); iv_ruleFoo=ruleFoo(); _fsp--; current =iv_ruleFoo; - match(input,EOF,FOLLOW_EOF_in_entryRuleFoo80); + match(input,EOF,FOLLOW_EOF_in_entryRuleFoo81); } @@ -96,7 +97,7 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleFoo - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:70:1: ruleFoo returns [EObject current=null] : ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) ; + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:72:1: ruleFoo returns [EObject current=null] : ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) ; public final EObject ruleFoo() throws RecognitionException { EObject current = null; @@ -106,17 +107,17 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:72:33: ( ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:73:1: ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:74:33: ( ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:75:1: ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:73:1: ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:73:2: (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:75:1: ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:75:2: (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:73:2: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:75:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:75:2: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:77:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFoo126); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFoo127); createLeafNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "name"); @@ -126,12 +127,16 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:89:2: (lv_nameRefs= ruleNameRef )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:95:2: (lv_nameRefs= ruleNameRef )* loop1: do { int alt1=2; @@ -144,12 +149,12 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:92:6: lv_nameRefs= ruleNameRef + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:98:6: lv_nameRefs= ruleNameRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleNameRef_in_ruleFoo171); + pushFollow(FOLLOW_ruleNameRef_in_ruleFoo172); lv_nameRefs=ruleNameRef(); _fsp--; @@ -160,8 +165,12 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "nameRefs", lv_nameRefs,null); - + try { + factory.add(current, "nameRefs", lv_nameRefs,"NameRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -192,7 +201,7 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleNameRef - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:111:1: entryRuleNameRef returns [EObject current=null] : iv_ruleNameRef= ruleNameRef EOF ; + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:123:1: entryRuleNameRef returns [EObject current=null] : iv_ruleNameRef= ruleNameRef EOF ; public final EObject entryRuleNameRef() throws RecognitionException { EObject current = null; @@ -200,16 +209,16 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser try { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:111:49: (iv_ruleNameRef= ruleNameRef EOF ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:112:2: iv_ruleNameRef= ruleNameRef EOF + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:123:49: (iv_ruleNameRef= ruleNameRef EOF ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:124:2: iv_ruleNameRef= ruleNameRef EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleNameRef_in_entryRuleNameRef211); + pushFollow(FOLLOW_ruleNameRef_in_entryRuleNameRef210); iv_ruleNameRef=ruleNameRef(); _fsp--; current =iv_ruleNameRef; - match(input,EOF,FOLLOW_EOF_in_entryRuleNameRef221); + match(input,EOF,FOLLOW_EOF_in_entryRuleNameRef220); } @@ -227,28 +236,28 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleNameRef - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:119:1: ruleNameRef returns [EObject current=null] : ( ( RULE_ID ) ) ; + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:131:1: ruleNameRef returns [EObject current=null] : ( ( RULE_ID ) ) ; public final EObject ruleNameRef() throws RecognitionException { EObject current = null; EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:121:33: ( ( ( RULE_ID ) ) ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:122:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:133:33: ( ( ( RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:134:1: ( ( RULE_ID ) ) { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:122:1: ( ( RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:125:3: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:134:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:137:3: ( RULE_ID ) { if (current==null) { - current = factory.create("xtext::RuleCall"); + current = factory.create("RuleCall"); associateNodeWithAstElement(currentNode, current); } - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:131:1: ( RULE_ID ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:132:2: RULE_ID + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:143:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g:144:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNameRef269); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNameRef268); createLeafNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xmi#//@rules.1/@alternatives/@terminal" /* xtext::CrossReference */, "rule"); @@ -277,12 +286,12 @@ public class InternalMetamodelRefTestLanguageParser extends AbstractAntlrParser - public static final BitSet FOLLOW_ruleFoo_in_entryRuleFoo70 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleFoo80 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleFoo126 = new BitSet(new long[]{0x0000000000000012L}); - public static final BitSet FOLLOW_ruleNameRef_in_ruleFoo171 = new BitSet(new long[]{0x0000000000000012L}); - public static final BitSet FOLLOW_ruleNameRef_in_entryRuleNameRef211 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleNameRef221 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleNameRef269 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFoo_in_entryRuleFoo71 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFoo81 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleFoo127 = new BitSet(new long[]{0x0000000000000012L}); + public static final BitSet FOLLOW_ruleNameRef_in_ruleFoo172 = new BitSet(new long[]{0x0000000000000012L}); + public static final BitSet FOLLOW_ruleNameRef_in_entryRuleNameRef210 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleNameRef220 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleNameRef268 = 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/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage__.g index d9aa6a5..b18eaf2 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage__.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage__.g @@ -7,25 +7,25 @@ package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; import org.eclipse.xtext.parser.antlr.Lexer; } -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 144 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 157 RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 146 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 159 RULE_INT : ('0'..'9')+; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 148 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 161 RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 150 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 163 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 152 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 165 RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 154 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 167 RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 156 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMetamodelRefTestLanguage.g" 169 RULE_ANY_OTHER : .; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g index d77150d..1cad8b4 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; } @parser::members { @@ -58,6 +59,7 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream; + // Entry rule entryRuleFoo entryRuleFoo returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } @@ -83,8 +85,12 @@ ruleFoo returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )( @@ -100,11 +106,17 @@ ruleFoo returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "nameRefs", lv_nameRefs,null); - } + try { + factory.add($current, "nameRefs", lv_nameRefs,"NameRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*); - + + + // Entry rule entryRuleNameRef @@ -128,15 +140,20 @@ ruleNameRef returns [EObject current=null] { if ($current==null) { - $current = factory.create("other::FooBar"); + $current = factory.create("FooBar"); associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"STRING"); - } + try { + factory.set($current, "name", lv_name,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ); - + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageLexer.java index 4e8ce5f..a93b4d8 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g 2008-12-10 21:58:14 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g 2008-12-16 15:27:07 package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; @@ -32,10 +32,10 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:143:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:143:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:160:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:160:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:143:11: ( '^' )? + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:160:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -44,7 +44,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { } switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:143:12: '^' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:160:12: '^' { match('^'); @@ -63,7 +63,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { recover(mse); throw mse; } - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:143:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:160:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -111,10 +111,10 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:145:10: ( ( '0' .. '9' )+ ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:145:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:162:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:162:12: ( '0' .. '9' )+ { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:145:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:162:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -128,7 +128,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:145:13: '0' .. '9' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:162:13: '0' .. '9' { matchRange('0','9'); @@ -158,7 +158,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -170,16 +170,16 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("147:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("164:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -195,7 +195,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -212,7 +212,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:65: ~ ( '\\\\' | '\"' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -238,10 +238,10 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -257,7 +257,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -274,7 +274,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:147:152: ~ ( '\\\\' | '\\'' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:164:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -312,12 +312,12 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:149:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:149:19: '/*' ( options {greedy=false; } : . )* '*/' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:166:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:166:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:149:24: ( options {greedy=false; } : . )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:166:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -342,7 +342,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:149:52: . + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:166:52: . { matchAny(); @@ -371,12 +371,12 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:151:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:151:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:168:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:168:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:151:24: (~ ( '\\n' | '\\r' ) )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:168:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -389,7 +389,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:151:24: ~ ( '\\n' | '\\r' ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:168: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(); @@ -410,7 +410,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { } } while (true); - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:151:38: ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:168:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -419,9 +419,9 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:151:39: ( '\\r' )? '\\n' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:168:39: ( '\\r' )? '\\n' { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:151:39: ( '\\r' )? + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:168:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -430,7 +430,7 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:151:39: '\\r' + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:168:39: '\\r' { match('\r'); @@ -461,10 +461,10 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:153:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:153:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:170:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:170:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:153:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:170:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -518,8 +518,8 @@ public class InternalMultiGenMMTestLanguageLexer extends Lexer { public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:155:16: ( . ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:155:18: . + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:172:16: ( . ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:172:18: . { matchAny(); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageParser.java index 45e5868..fab48be 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g 2008-12-10 21:58:13 +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g 2008-12-16 15:27:07 package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; @@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; import org.antlr.runtime.*; @@ -61,7 +62,7 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleFoo - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:62:1: entryRuleFoo returns [EObject current=null] : iv_ruleFoo= ruleFoo EOF ; + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:64:1: entryRuleFoo returns [EObject current=null] : iv_ruleFoo= ruleFoo EOF ; public final EObject entryRuleFoo() throws RecognitionException { EObject current = null; @@ -69,16 +70,16 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:62:45: (iv_ruleFoo= ruleFoo EOF ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:63:2: iv_ruleFoo= ruleFoo EOF + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:64:45: (iv_ruleFoo= ruleFoo EOF ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:65:2: iv_ruleFoo= ruleFoo EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleFoo_in_entryRuleFoo70); + pushFollow(FOLLOW_ruleFoo_in_entryRuleFoo71); iv_ruleFoo=ruleFoo(); _fsp--; current =iv_ruleFoo; - match(input,EOF,FOLLOW_EOF_in_entryRuleFoo80); + match(input,EOF,FOLLOW_EOF_in_entryRuleFoo81); } @@ -96,7 +97,7 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleFoo - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:70:1: ruleFoo returns [EObject current=null] : ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) ; + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:72:1: ruleFoo returns [EObject current=null] : ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) ; public final EObject ruleFoo() throws RecognitionException { EObject current = null; @@ -106,17 +107,17 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:72:33: ( ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:73:1: ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:74:33: ( ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:75:1: ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:73:1: ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:73:2: (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:75:1: ( (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:75:2: (lv_name= RULE_ID ) (lv_nameRefs= ruleNameRef )* { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:73:2: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:75:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:75:2: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:77:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFoo126); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFoo127); createLeafNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "name"); @@ -126,12 +127,16 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:89:2: (lv_nameRefs= ruleNameRef )* + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:95:2: (lv_nameRefs= ruleNameRef )* loop1: do { int alt1=2; @@ -144,12 +149,12 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:92:6: lv_nameRefs= ruleNameRef + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:98:6: lv_nameRefs= ruleNameRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleNameRef_in_ruleFoo171); + pushFollow(FOLLOW_ruleNameRef_in_ruleFoo172); lv_nameRefs=ruleNameRef(); _fsp--; @@ -160,8 +165,12 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { associateNodeWithAstElement(currentNode, current); } - factory.add(current, "nameRefs", lv_nameRefs,null); - + try { + factory.add(current, "nameRefs", lv_nameRefs,"NameRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -192,7 +201,7 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { // $ANTLR start entryRuleNameRef - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:111:1: entryRuleNameRef returns [EObject current=null] : iv_ruleNameRef= ruleNameRef EOF ; + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:123:1: entryRuleNameRef returns [EObject current=null] : iv_ruleNameRef= ruleNameRef EOF ; public final EObject entryRuleNameRef() throws RecognitionException { EObject current = null; @@ -200,16 +209,16 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { try { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:111:49: (iv_ruleNameRef= ruleNameRef EOF ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:112:2: iv_ruleNameRef= ruleNameRef EOF + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:123:49: (iv_ruleNameRef= ruleNameRef EOF ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:124:2: iv_ruleNameRef= ruleNameRef EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleNameRef_in_entryRuleNameRef211); + pushFollow(FOLLOW_ruleNameRef_in_entryRuleNameRef210); iv_ruleNameRef=ruleNameRef(); _fsp--; current =iv_ruleNameRef; - match(input,EOF,FOLLOW_EOF_in_entryRuleNameRef221); + match(input,EOF,FOLLOW_EOF_in_entryRuleNameRef220); } @@ -227,7 +236,7 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { // $ANTLR start ruleNameRef - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:119:1: ruleNameRef returns [EObject current=null] : (lv_name= RULE_STRING ) ; + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:131:1: ruleNameRef returns [EObject current=null] : (lv_name= RULE_STRING ) ; public final EObject ruleNameRef() throws RecognitionException { EObject current = null; @@ -235,25 +244,29 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:121:33: ( (lv_name= RULE_STRING ) ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:122:1: (lv_name= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:133:33: ( (lv_name= RULE_STRING ) ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:134:1: (lv_name= RULE_STRING ) { - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:122:1: (lv_name= RULE_STRING ) - // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:124:6: lv_name= RULE_STRING + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:134:1: (lv_name= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g:136:6: lv_name= RULE_STRING { lv_name=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleNameRef266); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleNameRef265); createLeafNode("classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xmi#//@rules.1/@alternatives/@terminal" /* xtext::RuleCall */, "name"); if (current==null) { - current = factory.create("other::FooBar"); + current = factory.create("FooBar"); associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"STRING"); - + try { + factory.set(current, "name", lv_name,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -276,12 +289,12 @@ public class InternalMultiGenMMTestLanguageParser extends AbstractAntlrParser { - public static final BitSet FOLLOW_ruleFoo_in_entryRuleFoo70 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleFoo80 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleFoo126 = new BitSet(new long[]{0x0000000000000022L}); - public static final BitSet FOLLOW_ruleNameRef_in_ruleFoo171 = new BitSet(new long[]{0x0000000000000022L}); - public static final BitSet FOLLOW_ruleNameRef_in_entryRuleNameRef211 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleNameRef221 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleNameRef266 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFoo_in_entryRuleFoo71 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFoo81 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleFoo127 = new BitSet(new long[]{0x0000000000000022L}); + public static final BitSet FOLLOW_ruleNameRef_in_ruleFoo172 = new BitSet(new long[]{0x0000000000000022L}); + public static final BitSet FOLLOW_ruleNameRef_in_entryRuleNameRef210 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleNameRef220 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleNameRef265 = 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/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage__.g index 4a4614d..bd44469 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage__.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage__.g @@ -7,25 +7,25 @@ package org.eclipse.xtext.metamodelreferencing.tests.parser.internal; import org.eclipse.xtext.parser.antlr.Lexer; } -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 143 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 160 RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 145 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 162 RULE_INT : ('0'..'9')+; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 147 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 164 RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 149 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 166 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 151 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 168 RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 153 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 170 RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 155 +// $ANTLR src "./src-gen/org/eclipse/xtext/metamodelreferencing/tests/parser/internal/InternalMultiGenMMTestLanguage.g" 172 RULE_ANY_OTHER : .; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MetamodelRefTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MetamodelRefTestLanguageParseTreeConstructor.java index 3cc4d71..3e56289 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MetamodelRefTestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MetamodelRefTestLanguageParseTreeConstructor.java @@ -25,12 +25,19 @@ public class MetamodelRefTestLanguageParseTreeConstructor extends AbstractParseT protected Solution internalSerialize(EObject obj) { IInstanceDescription inst = getDescr(obj); Solution s; + if(inst.isInstanceOf("Foo") && (s = new Foo_Group(inst, null).firstSolution()) != null) return s; - if(inst.isInstanceOf("xtext::RuleCall") && (s = new NameRef_Assignment_rule(inst, null).firstSolution()) != null) return s; - if(inst.isInstanceOf("xtext::ParserRule") && (s = new MyRule_Assignment_name(inst, null).firstSolution()) != null) return s; + + + if(inst.isInstanceOf("RuleCall") && (s = new NameRef_Assignment_rule(inst, null).firstSolution()) != null) return s; + + + if(inst.isInstanceOf("ParserRule") && (s = new MyRule_Assignment_name(inst, null).firstSolution()) != null) return s; + return null; } + /************ begin Rule Foo **************** * * Foo : name = ID ( nameRefs += NameRef ) * ; @@ -103,9 +110,10 @@ protected class Foo_1_Assignment_nameRefs extends AssignmentToken { protected Solution createSolution() { if((value = current.getConsumable("nameRefs",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("nameRefs"); + if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); - if(param.isInstanceOf("xtext::RuleCall")) { + if(param.isInstanceOf("RuleCall")) { Solution s = new NameRef_Assignment_rule(param, this).firstSolution(); if(s != null) { type = AssignmentType.PRC; @@ -113,6 +121,7 @@ protected class Foo_1_Assignment_nameRefs extends AssignmentToken { } } } + return null; } } @@ -120,6 +129,7 @@ protected class Foo_1_Assignment_nameRefs extends AssignmentToken { /************ end Rule Foo ****************/ + /************ begin Rule NameRef **************** * * NameRef returns RuleCall : rule = [ ParserRule ] ; @@ -155,6 +165,7 @@ protected class NameRef_Assignment_rule extends AssignmentToken { /************ end Rule NameRef ****************/ + /************ begin Rule MyRule **************** * * MyRule returns ParserRule : name = ID ; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MultiGenMMTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MultiGenMMTestLanguageParseTreeConstructor.java index 0637076..e8d7c88 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MultiGenMMTestLanguageParseTreeConstructor.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/metamodelreferencing/tests/parsetree/reconstr/MultiGenMMTestLanguageParseTreeConstructor.java @@ -25,11 +25,16 @@ public class MultiGenMMTestLanguageParseTreeConstructor extends AbstractParseTre protected Solution internalSerialize(EObject obj) { IInstanceDescription inst = getDescr(obj); Solution s; + if(inst.isInstanceOf("Foo") && (s = new Foo_Group(inst, null).firstSolution()) != null) return s; - if(inst.isInstanceOf("other::FooBar") && (s = new NameRef_Assignment_name(inst, null).firstSolution()) != null) return s; + + + if(inst.isInstanceOf("FooBar") && (s = new NameRef_Assignment_name(inst, null).firstSolution()) != null) return s; + return null; } + /************ begin Rule Foo **************** * * Foo : name = ID ( nameRefs += NameRef ) * ; @@ -102,9 +107,10 @@ protected class Foo_1_Assignment_nameRefs extends AssignmentToken { protected Solution createSolution() { if((value = current.getConsumable("nameRefs",!IS_REQUIRED)) == null) return null; IInstanceDescription obj = current.cloneAndConsume("nameRefs"); + if(value instanceof EObject) { // xtext::RuleCall IInstanceDescription param = getDescr((EObject)value); - if(param.isInstanceOf("other::FooBar")) { + if(param.isInstanceOf("FooBar")) { Solution s = new NameRef_Assignment_name(param, this).firstSolution(); if(s != null) { type = AssignmentType.PRC; @@ -112,6 +118,7 @@ protected class Foo_1_Assignment_nameRefs extends AssignmentToken { } } } + return null; } } @@ -119,6 +126,7 @@ protected class Foo_1_Assignment_nameRefs extends AssignmentToken { /************ end Rule Foo ****************/ + /************ begin Rule NameRef **************** * * NameRef returns other :: FooBar : name = STRING ; diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/AbstractDatatypeRulesTestLanguageRuntimeConfig.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/AbstractDatatypeRulesTestLanguageRuntimeConfig.java new file mode 100644 index 0000000..e17bc99 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/AbstractDatatypeRulesTestLanguageRuntimeConfig.java @@ -0,0 +1,75 @@ +package org.eclipse.xtext.parser.datatyperules; + +import java.util.Set; + +import org.eclipse.xtext.service.AbstractServiceRegistrationFactory; + +/** + * used to register components to be used at runtime. + */ +public abstract class AbstractDatatypeRulesTestLanguageRuntimeConfig extends AbstractServiceRegistrationFactory { + + protected Class<? extends org.eclipse.xtext.IMetamodelAccess> getIMetamodelAccess() { + return org.eclipse.xtext.parser.datatyperules.services.DatatypeRulesTestLanguageMetamodelAccess.class; + } + + protected Class<? extends org.eclipse.xtext.IGrammarAccess> getIGrammarAccess() { + return org.eclipse.xtext.parser.datatyperules.services.DatatypeRulesTestLanguageGrammarAccess.class; + } + + protected Class<? extends org.eclipse.xtext.parser.IAstFactory> getIAstFactory() { + return org.eclipse.xtext.parser.GenericEcoreElementFactory.class; + } + + protected Class<? extends org.eclipse.xtext.parser.IParser> getIParser() { + return org.eclipse.xtext.parser.datatyperules.parser.DatatypeRulesTestLanguageParser.class; + } + + protected Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> getIAntlrTokenFileProvider() { + return org.eclipse.xtext.parser.datatyperules.parser.DatatypeRulesTestLanguageAntlrTokenFileProvider.class; + } + + protected Class<? extends org.eclipse.xtext.resource.IResourceFactory> getIResourceFactory() { + return org.eclipse.xtext.parser.datatyperules.services.DatatypeRulesTestLanguageResourceFactory.class; + } + + protected Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> getIParseTreeConstructor() { + return org.eclipse.xtext.parser.datatyperules.parsetree.reconstr.DatatypeRulesTestLanguageParseTreeConstructor.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.Lexer> getLexer() { + return org.eclipse.xtext.parser.datatyperules.parser.internal.InternalDatatypeRulesTestLanguageLexer.class; + } + + + public Set<IServiceRegistration> registrations() { + return scope(org.eclipse.xtext.parser.datatyperules.IDatatypeRulesTestLanguage.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.parser.IParser.class, getIParser()) + .with(org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider.class, getIAntlrTokenFileProvider()) + .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.Lexer.class, getLexer()) + + .registrations(); + } + +} + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.ecore b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.ecore new file mode 100644 index 0000000..07ebf0c --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.ecore @@ -0,0 +1,14 @@ +<?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="DatatypeRulesTestLanguage" nsURI="http://www.eclipse.org/2008/tmf/xtext/DatatypeRulesTest" nsPrefix="DatatypeRulesTestLanguage"> + <eClassifiers xsi:type="ecore:EClass" name="CompositeModel"> + <eStructuralFeatures xsi:type="ecore:EReference" name="model" upperBound="-1" eType="//Model" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Model"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="id"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> + </eStructuralFeatures> + </eClassifiers> +</ecore:EPackage> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi new file mode 100644 index 0000000..f7aaf0f --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi @@ -0,0 +1,82 @@ +<?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>datatyperules</idElements> + <idElements>DatatypeRulesTestLanguage</idElements> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore" uri="http://www.eclipse.org/emf/2002/Ecore"/> + <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="DatatypeRulesTestLanguage" nsURI="http://www.eclipse.org/2008/tmf/xtext/DatatypeRulesTest"/> + <rules xsi:type="xtext:ParserRule" name="CompositeModel"> + <type metamodel="//@metamodelDeclarations.1"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/DatatypeRulesTest#//CompositeModel"/> + </type> + <alternatives xsi:type="xtext:Assignment" cardinality="+" feature="model" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Model"> + <type metamodel="//@metamodelDeclarations.1"> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/2008/tmf/xtext/DatatypeRulesTest#//Model"/> + </type> + <alternatives xsi:type="xtext:Group"> + <abstractTokens xsi:type="xtext:Group"> + <abstractTokens xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="//@rules.3"/> + </abstractTokens> + <abstractTokens xsi:type="xtext:Group" cardinality="?"> + <abstractTokens xsi:type="xtext:Keyword" value=":"/> + <abstractTokens xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="//@rules.4"/> + </abstractTokens> + </abstractTokens> + </abstractTokens> + <abstractTokens xsi:type="xtext:Keyword" value=";"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ModelId"> + <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:RuleCall"> + <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> + </abstractTokens> + <abstractTokens xsi:type="xtext:Keyword" value="."/> + </abstractTokens> + <abstractTokens xsi:type="xtext:RuleCall"> + <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.0"/> + </abstractTokens> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="NestedModelId"> + <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:RuleCall" rule="//@rules.2"/> + <abstractTokens xsi:type="xtext:Keyword" value="."/> + </abstractTokens> + <abstractTokens xsi:type="xtext:RuleCall" rule="//@rules.2"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Fraction"> + <type metamodel="//@metamodelDeclarations.0"> + <type xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> + </type> + <alternatives xsi:type="xtext:Group"> + <abstractTokens xsi:type="xtext:RuleCall"> + <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.1"/> + </abstractTokens> + <abstractTokens xsi:type="xtext:Group" cardinality="?"> + <abstractTokens xsi:type="xtext:Keyword" value="/"/> + <abstractTokens xsi:type="xtext:RuleCall"> + <rule href="classpath:/org/eclipse/xtext/builtin/XtextBuiltin.xmi#//@rules.1"/> + </abstractTokens> + </abstractTokens> + </alternatives> + </rules> +</xtext:Grammar> diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguageStandaloneSetup.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguageStandaloneSetup.java new file mode 100644 index 0000000..ddf14e8 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguageStandaloneSetup.java @@ -0,0 +1,53 @@ +/* +Generated with Xtext +*/ +package org.eclipse.xtext.parser.datatyperules; + +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.datatyperules.IDatatypeRulesTestLanguage; + +public abstract class DatatypeRulesTestLanguageStandaloneSetup { + + private static boolean isInitialized = false; + + public synchronized static void doSetup() { + if(!isInitialized) { + // setup super language first + org.eclipse.xtext.builtin.XtextBuiltinStandaloneSetup.doSetup(); + + for (IServiceRegistration reg : new org.eclipse.xtext.parser.datatyperules.DatatypeRulesTestLanguageRuntimeConfig().registrations()) { + ServiceRegistry.registerFactory(reg.scope(), reg.serviceFactory(), reg.priority()); + } + + // register resource factory to EMF + IResourceFactory resourceFactory = new org.eclipse.xtext.parser.datatyperules.services.DatatypeRulesTestLanguageResourceFactory(); + Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("datatyperulestestlanguage", resourceFactory); + + + // initialize EPackages + + if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/2008/tmf/xtext/DatatypeRulesTest")) { + EPackage DatatypeRulesTestLanguage = EcoreUtil2.loadEPackage( + "classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.ecore", + DatatypeRulesTestLanguageStandaloneSetup.class.getClassLoader()); + if (DatatypeRulesTestLanguage == null) + throw new IllegalStateException( + "Couldn't load EPackage from 'classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.ecore'"); + EPackage.Registry.INSTANCE.put("http://www.eclipse.org/2008/tmf/xtext/DatatypeRulesTest", DatatypeRulesTestLanguage); + } + + isInitialized = true; + } + } + + public static IServiceScope getServiceScope() { + return org.eclipse.xtext.parser.datatyperules.IDatatypeRulesTestLanguage.SCOPE; + } +} diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/IDatatypeRulesTestLanguage.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/IDatatypeRulesTestLanguage.java new file mode 100644 index 0000000..551aee7 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/IDatatypeRulesTestLanguage.java @@ -0,0 +1,23 @@ +/* +Generated with Xtext +*/ +package org.eclipse.xtext.parser.datatyperules; + +import org.eclipse.xtext.service.IServiceScope; +import org.eclipse.xtext.service.ServiceScopeFactory; + +public interface IDatatypeRulesTestLanguage { + + /** + * 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.datatyperules.DatatypeRulesTestLanguage"; + public static final String NAME = "DatatypeRulesTestLanguage"; + public static final String NAMESPACE = "org.eclipse.xtext.parser.datatyperules"; + public static final String[] FILE_EXTENSIONS = new String[]{"datatyperulestestlanguage"}; + public static final IServiceScope SCOPE = ServiceScopeFactory.createScope(ID, org.eclipse.xtext.builtin.IXtextBuiltin.SCOPE); + +} diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/DatatypeRulesTestLanguageAntlrTokenFileProvider.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/DatatypeRulesTestLanguageAntlrTokenFileProvider.java new file mode 100644 index 0000000..4387dc2 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/DatatypeRulesTestLanguageAntlrTokenFileProvider.java @@ -0,0 +1,15 @@ +/* +Generated with Xtext +*/ +package org.eclipse.xtext.parser.datatyperules.parser; + +import java.io.InputStream; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; + +public class DatatypeRulesTestLanguageAntlrTokenFileProvider implements IAntlrTokenFileProvider { + + public InputStream getAntlrTokenFile() { + ClassLoader classLoader = DatatypeRulesTestLanguageAntlrTokenFileProvider.class.getClassLoader(); + return classLoader.getResourceAsStream("org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.tokens"); + } +} diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/DatatypeRulesTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/DatatypeRulesTestLanguageParser.java new file mode 100644 index 0000000..07a0ddb --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/DatatypeRulesTestLanguageParser.java @@ -0,0 +1,44 @@ +/* +Generated with Xtext +*/ +package org.eclipse.xtext.parser.datatyperules.parser; + +import org.antlr.runtime.ANTLRInputStream; +import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; +import org.eclipse.xtext.parser.IAstFactory; +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.datatyperules.parser.internal.InternalDatatypeRulesTestLanguageLexer; +import org.eclipse.xtext.parser.datatyperules.parser.internal.InternalDatatypeRulesTestLanguageParser; + +public class DatatypeRulesTestLanguageParser extends org.eclipse.xtext.parser.AbstractParser { + + @Inject + protected AntlrTokenDefProvider antlrTokenDefProvider; + + @Override + protected IParseResult parse(String ruleName, ANTLRInputStream in, IAstFactory factory) { + InternalDatatypeRulesTestLanguageLexer lexer = new InternalDatatypeRulesTestLanguageLexer(in); + XtextTokenStream stream = new XtextTokenStream(lexer); + InternalDatatypeRulesTestLanguageParser parser = new InternalDatatypeRulesTestLanguageParser( + stream, factory, 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 "CompositeModel"; + } +} diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g new file mode 100644 index 0000000..63900e8 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g @@ -0,0 +1,318 @@ +/* +Generated with Xtext +*/ +grammar InternalDatatypeRulesTestLanguage; + +options { + superClass=AbstractAntlrParser; +} + +@lexer::header { +package org.eclipse.xtext.parser.datatyperules.parser.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.datatyperules.parser.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.AbstractAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; +} + +@parser::members { + + public InternalDatatypeRulesTestLanguageParser(TokenStream input, IAstFactory factory, Grammar g) { + this(input); + this.factory = factory; + grammar = g; + } + + @Override + protected InputStream getTokenFile() { + ClassLoader classLoader = InternalDatatypeRulesTestLanguageParser.class.getClassLoader(); + return classLoader.getResourceAsStream("org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.tokens"); + } + + @Override + protected String getFirstRuleName() { + return "CompositeModel"; + } +} + +@rulecatch { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } +} + + + + +// Entry rule entryRuleCompositeModel +entryRuleCompositeModel returns [EObject current=null] : + { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } + iv_ruleCompositeModel=ruleCompositeModel + { $current=$iv_ruleCompositeModel.current; } + EOF +; + +// Rule CompositeModel +ruleCompositeModel returns [EObject current=null] + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } + @after { resetLookahead(); }: +( + + + { + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.0/@alternatives/@terminal" /* xtext::RuleCall */, currentNode); + } + lv_model=ruleModel + { + currentNode = currentNode.getParent(); + if ($current==null) { + $current = factory.create("CompositeModel"); + associateNodeWithAstElement(currentNode, $current); + } + + try { + factory.add($current, "model", lv_model,"Model"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } + +)+; + + + + + +// Entry rule entryRuleModel +entryRuleModel returns [EObject current=null] : + { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1" /* 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/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::RuleCall */, currentNode); + } + lv_id=ruleNestedModelId + { + currentNode = currentNode.getParent(); + if ($current==null) { + $current = factory.create("Model"); + associateNodeWithAstElement(currentNode, $current); + } + + try { + factory.set($current, "id", lv_id,"NestedModelId"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } + +)(':' + { + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); + } +( + + + { + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); + } + lv_value=ruleFraction + { + currentNode = currentNode.getParent(); + if ($current==null) { + $current = factory.create("Model"); + associateNodeWithAstElement(currentNode, $current); + } + + try { + factory.set($current, "value", lv_value,"Fraction"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } + +))?)';' + { + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); + } +); + + + + + +// Entry rule entryRuleModelId +entryRuleModelId returns [String current=null] : + { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.2" /* xtext::ParserRule */, currentNode); } + iv_ruleModelId=ruleModelId + { $current=$iv_ruleModelId.current; } + EOF +; + +// Rule ModelId +ruleModelId returns [String current=null] + @init { StringBuilder buffer=new StringBuilder(20); setCurrentLookahead(); resetLookahead(); } + @after { resetLookahead(); current = buffer.length() > 0 ? buffer.toString() : null; }: +(( this_ID=RULE_ID { + + buffer.append($this_ID.text); + + } + + { + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::RuleCall */, null); + } +'.' + { + buffer.append("."); + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); + } +) this_ID=RULE_ID { + + buffer.append($this_ID.text); + + } + + { + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.1" /* xtext::RuleCall */, null); + } +) + ; + + + + + +// Entry rule entryRuleNestedModelId +entryRuleNestedModelId returns [String current=null] : + { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.3" /* xtext::ParserRule */, currentNode); } + iv_ruleNestedModelId=ruleNestedModelId + { $current=$iv_ruleNestedModelId.current; } + EOF +; + +// Rule NestedModelId +ruleNestedModelId returns [String current=null] + @init { StringBuilder buffer=new StringBuilder(20); setCurrentLookahead(); resetLookahead(); } + @after { resetLookahead(); current = buffer.length() > 0 ? buffer.toString() : null; }: +(( + { + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::RuleCall */, currentNode); + } + this_ModelId=ruleModelId { + + if ($this_ModelId.current != null) buffer.append($this_ModelId.current); + + } + + { + currentNode = currentNode.getParent(); + } +'.' + { + buffer.append("."); + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); + } +) + { + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.1" /* xtext::RuleCall */, currentNode); + } + this_ModelId=ruleModelId { + + if ($this_ModelId.current != null) buffer.append($this_ModelId.current); + + } + + { + currentNode = currentNode.getParent(); + } +) + ; + + + + + +// Entry rule entryRuleFraction +entryRuleFraction returns [String current=null] : + { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.4" /* xtext::ParserRule */, currentNode); } + iv_ruleFraction=ruleFraction + { $current=$iv_ruleFraction.current; } + EOF +; + +// Rule Fraction +ruleFraction returns [String current=null] + @init { StringBuilder buffer=new StringBuilder(20); setCurrentLookahead(); resetLookahead(); } + @after { resetLookahead(); current = buffer.length() > 0 ? buffer.toString() : null; }: +( this_INT=RULE_INT { + + buffer.append($this_INT.text); + + } + + { + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, null); + } +('/' + { + buffer.append("/"); + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); + } + this_INT=RULE_INT { + + buffer.append($this_INT.text); + + } + + { + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.1/@abstractTokens.1" /* xtext::RuleCall */, null); + } +)?) + ; + + + + + +RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +RULE_INT : ('0'..'9')+; + +RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; + +RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; + +RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; + +RULE_ANY_OTHER : .; + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.tokens b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.tokens new file mode 100644 index 0000000..3b51bc2 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.tokens @@ -0,0 +1,11 @@ +RULE_ML_COMMENT=7 +RULE_ID=4 +RULE_WS=9 +RULE_INT=5 +RULE_STRING=6 +RULE_ANY_OTHER=10 +RULE_SL_COMMENT=8 +':'=11 +'.'=13 +';'=12 +'/'=14 diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguageLexer.java new file mode 100644 index 0000000..77ad2a6 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguageLexer.java @@ -0,0 +1,772 @@ +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g 2008-12-16 15:27:18 + +package org.eclipse.xtext.parser.datatyperules.parser.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 InternalDatatypeRulesTestLanguageLexer extends Lexer { + public static final int RULE_ML_COMMENT=7; + public static final int T14=14; + public static final int RULE_ID=4; + public static final int RULE_WS=9; + public static final int T11=11; + public static final int EOF=-1; + public static final int RULE_INT=5; + public static final int RULE_STRING=6; + public static final int T12=12; + public static final int Tokens=15; + public static final int RULE_ANY_OTHER=10; + public static final int RULE_SL_COMMENT=8; + public static final int T13=13; + public InternalDatatypeRulesTestLanguageLexer() {;} + public InternalDatatypeRulesTestLanguageLexer(CharStream input) { + super(input); + } + public String getGrammarFileName() { return "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g"; } + + // $ANTLR start T11 + public final void mT11() throws RecognitionException { + try { + int _type = T11; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:10:5: ( ':' ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:10:7: ':' + { + match(':'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T11 + + // $ANTLR start T12 + public final void mT12() throws RecognitionException { + try { + int _type = T12; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:11:5: ( ';' ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:11:7: ';' + { + match(';'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T12 + + // $ANTLR start T13 + public final void mT13() throws RecognitionException { + try { + int _type = T13; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:12:5: ( '.' ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:12:7: '.' + { + match('.'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T13 + + // $ANTLR start T14 + public final void mT14() throws RecognitionException { + try { + int _type = T14; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:13:5: ( '/' ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:13:7: '/' + { + match('/'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T14 + + // $ANTLR start RULE_ID + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:304:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:304:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:304:11: ( '^' )? + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='^') ) { + alt1=1; + } + switch (alt1) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:304:12: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:304:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop2; + } + } while (true); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end RULE_ID + + // $ANTLR start RULE_INT + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:306:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:306:12: ( '0' .. '9' )+ + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:306:12: ( '0' .. '9' )+ + int cnt3=0; + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( ((LA3_0>='0' && LA3_0<='9')) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:306:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt3 >= 1 ) break loop3; + EarlyExitException eee = + new EarlyExitException(3, input); + throw eee; + } + cnt3++; + } while (true); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end RULE_INT + + // $ANTLR start RULE_STRING + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='\"') ) { + alt6=1; + } + else if ( (LA6_0=='\'') ) { + alt6=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("308:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + { + match('\"'); + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + loop4: + do { + int alt4=3; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='\\') ) { + alt4=1; + } + else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFE')) ) { + alt4=2; + } + + + switch (alt4) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:65: ~ ( '\\\\' | '\"' ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop4; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + { + match('\''); + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + loop5: + do { + int alt5=3; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='\\') ) { + alt5=1; + } + else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFE')) ) { + alt5=2; + } + + + switch (alt5) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + case 2 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:308:152: ~ ( '\\\\' | '\\'' ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop5; + } + } while (true); + + match('\''); + + } + break; + + } + this.type = _type; + } + finally { + } + } + // $ANTLR end RULE_STRING + + // $ANTLR start RULE_ML_COMMENT + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:310:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:310:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:310:24: ( options {greedy=false; } : . )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='*') ) { + int LA7_1 = input.LA(2); + + if ( (LA7_1=='/') ) { + alt7=2; + } + else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFE')) ) { + alt7=1; + } + + + } + else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFE')) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:310:52: . + { + matchAny(); + + } + break; + + default : + break loop7; + } + } while (true); + + match("*/"); + + channel=HIDDEN; + + } + + 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; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:312:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:312:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:312:24: (~ ( '\\n' | '\\r' ) )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); + + if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFE')) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:312: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 loop8; + } + } while (true); + + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:312:38: ( ( '\\r' )? '\\n' )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='\n'||LA10_0=='\r') ) { + alt10=1; + } + switch (alt10) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:312:39: ( '\\r' )? '\\n' + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:312:39: ( '\\r' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='\r') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:312:39: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + channel=HIDDEN; + + } + + 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; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:314:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:314:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:314:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt11=0; + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.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 ( cnt11 >= 1 ) break loop11; + EarlyExitException eee = + new EarlyExitException(11, input); + throw eee; + } + cnt11++; + } while (true); + + channel=HIDDEN; + + } + + 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; + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:316:16: ( . ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:316:18: . + { + matchAny(); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end RULE_ANY_OTHER + + public void mTokens() throws RecognitionException { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:8: ( T11 | T12 | T13 | T14 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt12=11; + int LA12_0 = input.LA(1); + + if ( (LA12_0==':') ) { + alt12=1; + } + else if ( (LA12_0==';') ) { + alt12=2; + } + else if ( (LA12_0=='.') ) { + alt12=3; + } + else if ( (LA12_0=='/') ) { + switch ( input.LA(2) ) { + case '/': + { + alt12=9; + } + break; + case '*': + { + alt12=8; + } + break; + default: + alt12=4;} + + } + else if ( (LA12_0=='^') ) { + int LA12_5 = input.LA(2); + + if ( ((LA12_5>='A' && LA12_5<='Z')||LA12_5=='_'||(LA12_5>='a' && LA12_5<='z')) ) { + alt12=5; + } + else { + alt12=11;} + } + else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) { + alt12=5; + } + else if ( ((LA12_0>='0' && LA12_0<='9')) ) { + alt12=6; + } + else if ( (LA12_0=='\"') ) { + int LA12_8 = input.LA(2); + + if ( ((LA12_8>='\u0000' && LA12_8<='\uFFFE')) ) { + alt12=7; + } + else { + alt12=11;} + } + else if ( (LA12_0=='\'') ) { + int LA12_9 = input.LA(2); + + if ( ((LA12_9>='\u0000' && LA12_9<='\uFFFE')) ) { + alt12=7; + } + else { + alt12=11;} + } + else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) { + alt12=10; + } + else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='-')||(LA12_0>='<' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFE')) ) { + alt12=11; + } + else { + NoViableAltException nvae = + new NoViableAltException("1:1: Tokens : ( T11 | T12 | T13 | T14 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );", 12, 0, input); + + throw nvae; + } + switch (alt12) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:10: T11 + { + mT11(); + + } + break; + case 2 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:14: T12 + { + mT12(); + + } + break; + case 3 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:18: T13 + { + mT13(); + + } + break; + case 4 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:22: T14 + { + mT14(); + + } + break; + case 5 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:26: RULE_ID + { + mRULE_ID(); + + } + break; + case 6 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:34: RULE_INT + { + mRULE_INT(); + + } + break; + case 7 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:43: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 8 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:55: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 9 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:71: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 10 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:87: RULE_WS + { + mRULE_WS(); + + } + break; + case 11 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:1:95: 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/datatyperules/parser/internal/InternalDatatypeRulesTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguageParser.java new file mode 100644 index 0000000..ddcb737 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguageParser.java @@ -0,0 +1,686 @@ +// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g 2008-12-16 15:27:18 + +package org.eclipse.xtext.parser.datatyperules.parser.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.AbstractAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +public class InternalDatatypeRulesTestLanguageParser extends AbstractAntlrParser { + public static final String[] tokenNames = new String[] { + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "':'", "';'", "'.'", "'/'" + }; + public static final int RULE_ML_COMMENT=7; + public static final int RULE_ID=4; + public static final int RULE_WS=9; + public static final int EOF=-1; + public static final int RULE_INT=5; + public static final int RULE_STRING=6; + public static final int RULE_ANY_OTHER=10; + public static final int RULE_SL_COMMENT=8; + + public InternalDatatypeRulesTestLanguageParser(TokenStream input) { + super(input); + } + + + public String[] getTokenNames() { return tokenNames; } + public String getGrammarFileName() { return "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g"; } + + + + public InternalDatatypeRulesTestLanguageParser(TokenStream input, IAstFactory factory, Grammar g) { + this(input); + this.factory = factory; + grammar = g; + } + + @Override + protected InputStream getTokenFile() { + ClassLoader classLoader = InternalDatatypeRulesTestLanguageParser.class.getClassLoader(); + return classLoader.getResourceAsStream("org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.tokens"); + } + + @Override + protected String getFirstRuleName() { + return "CompositeModel"; + } + + + + // $ANTLR start entryRuleCompositeModel + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:64:1: entryRuleCompositeModel returns [EObject current=null] : iv_ruleCompositeModel= ruleCompositeModel EOF ; + public final EObject entryRuleCompositeModel() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCompositeModel = null; + + + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:64:56: (iv_ruleCompositeModel= ruleCompositeModel EOF ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:65:2: iv_ruleCompositeModel= ruleCompositeModel EOF + { + currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); + pushFollow(FOLLOW_ruleCompositeModel_in_entryRuleCompositeModel71); + iv_ruleCompositeModel=ruleCompositeModel(); + _fsp--; + + current =iv_ruleCompositeModel; + match(input,EOF,FOLLOW_EOF_in_entryRuleCompositeModel81); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end entryRuleCompositeModel + + + // $ANTLR start ruleCompositeModel + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:72:1: ruleCompositeModel returns [EObject current=null] : (lv_model= ruleModel )+ ; + public final EObject ruleCompositeModel() throws RecognitionException { + EObject current = null; + + EObject lv_model = null; + + + EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:74:33: ( (lv_model= ruleModel )+ ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:75:1: (lv_model= ruleModel )+ + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:75:1: (lv_model= ruleModel )+ + int cnt1=0; + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==RULE_ID) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:78:6: lv_model= ruleModel + { + + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.0/@alternatives/@terminal" /* xtext::RuleCall */, currentNode); + + pushFollow(FOLLOW_ruleModel_in_ruleCompositeModel139); + lv_model=ruleModel(); + _fsp--; + + + currentNode = currentNode.getParent(); + if (current==null) { + current = factory.create("CompositeModel"); + associateNodeWithAstElement(currentNode, current); + } + + try { + factory.add(current, "model", lv_model,"Model"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + + + } + break; + + default : + if ( cnt1 >= 1 ) break loop1; + EarlyExitException eee = + new EarlyExitException(1, input); + throw eee; + } + cnt1++; + } while (true); + + + } + + resetLookahead(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end ruleCompositeModel + + + // $ANTLR start entryRuleModel + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:103:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ; + public final EObject entryRuleModel() throws RecognitionException { + EObject current = null; + + EObject iv_ruleModel = null; + + + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:103:47: (iv_ruleModel= ruleModel EOF ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:104:2: iv_ruleModel= ruleModel EOF + { + currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); + pushFollow(FOLLOW_ruleModel_in_entryRuleModel176); + iv_ruleModel=ruleModel(); + _fsp--; + + current =iv_ruleModel; + match(input,EOF,FOLLOW_EOF_in_entryRuleModel186); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end entryRuleModel + + + // $ANTLR start ruleModel + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:111:1: ruleModel returns [EObject current=null] : ( ( (lv_id= ruleNestedModelId ) ( ':' (lv_value= ruleFraction ) )? ) ';' ) ; + public final EObject ruleModel() throws RecognitionException { + EObject current = null; + + String lv_id = null; + + String lv_value = null; + + + EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:113:33: ( ( ( (lv_id= ruleNestedModelId ) ( ':' (lv_value= ruleFraction ) )? ) ';' ) ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:114:1: ( ( (lv_id= ruleNestedModelId ) ( ':' (lv_value= ruleFraction ) )? ) ';' ) + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:114:1: ( ( (lv_id= ruleNestedModelId ) ( ':' (lv_value= ruleFraction ) )? ) ';' ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:114:2: ( (lv_id= ruleNestedModelId ) ( ':' (lv_value= ruleFraction ) )? ) ';' + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:114:2: ( (lv_id= ruleNestedModelId ) ( ':' (lv_value= ruleFraction ) )? ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:114:3: (lv_id= ruleNestedModelId ) ( ':' (lv_value= ruleFraction ) )? + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:114:3: (lv_id= ruleNestedModelId ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:117:6: lv_id= ruleNestedModelId + { + + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::RuleCall */, currentNode); + + pushFollow(FOLLOW_ruleNestedModelId_in_ruleModel246); + lv_id=ruleNestedModelId(); + _fsp--; + + + currentNode = currentNode.getParent(); + if (current==null) { + current = factory.create("Model"); + associateNodeWithAstElement(currentNode, current); + } + + try { + factory.set(current, "id", lv_id,"NestedModelId"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + + + } + + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:135:2: ( ':' (lv_value= ruleFraction ) )? + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==11) ) { + alt2=1; + } + switch (alt2) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:135:3: ':' (lv_value= ruleFraction ) + { + match(input,11,FOLLOW_11_in_ruleModel260); + + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); + + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:139:1: (lv_value= ruleFraction ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:142:6: lv_value= ruleFraction + { + + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); + + pushFollow(FOLLOW_ruleFraction_in_ruleModel294); + lv_value=ruleFraction(); + _fsp--; + + + currentNode = currentNode.getParent(); + if (current==null) { + current = factory.create("Model"); + associateNodeWithAstElement(currentNode, current); + } + + try { + factory.set(current, "value", lv_value,"Fraction"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + + + } + + + } + break; + + } + + + } + + match(input,12,FOLLOW_12_in_ruleModel310); + + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.1/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); + + + } + + + } + + resetLookahead(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end ruleModel + + + // $ANTLR start entryRuleModelId + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:171:1: entryRuleModelId returns [String current=null] : iv_ruleModelId= ruleModelId EOF ; + public final String entryRuleModelId() throws RecognitionException { + String current = null; + + String iv_ruleModelId = null; + + + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:171:48: (iv_ruleModelId= ruleModelId EOF ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:172:2: iv_ruleModelId= ruleModelId EOF + { + currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.2" /* xtext::ParserRule */, currentNode); + pushFollow(FOLLOW_ruleModelId_in_entryRuleModelId344); + iv_ruleModelId=ruleModelId(); + _fsp--; + + current =iv_ruleModelId; + match(input,EOF,FOLLOW_EOF_in_entryRuleModelId355); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end entryRuleModelId + + + // $ANTLR start ruleModelId + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:179:1: ruleModelId returns [String current=null] : ( (this_ID= RULE_ID '.' ) this_ID= RULE_ID ) ; + public final String ruleModelId() throws RecognitionException { + String current = null; + + Token this_ID=null; + + StringBuilder buffer=new StringBuilder(20); setCurrentLookahead(); resetLookahead(); + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:181:91: ( ( (this_ID= RULE_ID '.' ) this_ID= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:182:1: ( (this_ID= RULE_ID '.' ) this_ID= RULE_ID ) + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:182:1: ( (this_ID= RULE_ID '.' ) this_ID= RULE_ID ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:182:2: (this_ID= RULE_ID '.' ) this_ID= RULE_ID + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:182:2: (this_ID= RULE_ID '.' ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:182:7: this_ID= RULE_ID '.' + { + this_ID=(Token)input.LT(1); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleModelId396); + + + buffer.append(this_ID.getText()); + + + + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::RuleCall */, null); + + match(input,13,FOLLOW_13_in_ruleModelId410); + + buffer.append("."); + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); + + + } + + this_ID=(Token)input.LT(1); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleModelId426); + + + buffer.append(this_ID.getText()); + + + + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.2/@alternatives/@abstractTokens.1" /* xtext::RuleCall */, null); + + + } + + + } + + resetLookahead(); current = buffer.length() > 0 ? buffer.toString() : null; + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end ruleModelId + + + // $ANTLR start entryRuleNestedModelId + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:213:1: entryRuleNestedModelId returns [String current=null] : iv_ruleNestedModelId= ruleNestedModelId EOF ; + public final String entryRuleNestedModelId() throws RecognitionException { + String current = null; + + String iv_ruleNestedModelId = null; + + + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:213:54: (iv_ruleNestedModelId= ruleNestedModelId EOF ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:214:2: iv_ruleNestedModelId= ruleNestedModelId EOF + { + currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.3" /* xtext::ParserRule */, currentNode); + pushFollow(FOLLOW_ruleNestedModelId_in_entryRuleNestedModelId470); + iv_ruleNestedModelId=ruleNestedModelId(); + _fsp--; + + current =iv_ruleNestedModelId; + match(input,EOF,FOLLOW_EOF_in_entryRuleNestedModelId481); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end entryRuleNestedModelId + + + // $ANTLR start ruleNestedModelId + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:221:1: ruleNestedModelId returns [String current=null] : ( (this_ModelId= ruleModelId '.' ) this_ModelId= ruleModelId ) ; + public final String ruleNestedModelId() throws RecognitionException { + String current = null; + + String this_ModelId = null; + + + StringBuilder buffer=new StringBuilder(20); setCurrentLookahead(); resetLookahead(); + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:223:91: ( ( (this_ModelId= ruleModelId '.' ) this_ModelId= ruleModelId ) ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:224:1: ( (this_ModelId= ruleModelId '.' ) this_ModelId= ruleModelId ) + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:224:1: ( (this_ModelId= ruleModelId '.' ) this_ModelId= ruleModelId ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:224:2: (this_ModelId= ruleModelId '.' ) this_ModelId= ruleModelId + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:224:2: (this_ModelId= ruleModelId '.' ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:225:5: this_ModelId= ruleModelId '.' + { + + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::RuleCall */, currentNode); + + pushFollow(FOLLOW_ruleModelId_in_ruleNestedModelId529); + this_ModelId=ruleModelId(); + _fsp--; + + + + if (this_ModelId != null) buffer.append(this_ModelId); + + + + currentNode = currentNode.getParent(); + + match(input,13,FOLLOW_13_in_ruleNestedModelId543); + + buffer.append("."); + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); + + + } + + + currentNode=createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.1" /* xtext::RuleCall */, currentNode); + + pushFollow(FOLLOW_ruleModelId_in_ruleNestedModelId566); + this_ModelId=ruleModelId(); + _fsp--; + + + + if (this_ModelId != null) buffer.append(this_ModelId); + + + + currentNode = currentNode.getParent(); + + + } + + + } + + resetLookahead(); current = buffer.length() > 0 ? buffer.toString() : null; + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end ruleNestedModelId + + + // $ANTLR start entryRuleFraction + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:263:1: entryRuleFraction returns [String current=null] : iv_ruleFraction= ruleFraction EOF ; + public final String entryRuleFraction() throws RecognitionException { + String current = null; + + String iv_ruleFraction = null; + + + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:263:49: (iv_ruleFraction= ruleFraction EOF ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:264:2: iv_ruleFraction= ruleFraction EOF + { + currentNode = createCompositeNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.4" /* xtext::ParserRule */, currentNode); + pushFollow(FOLLOW_ruleFraction_in_entryRuleFraction610); + iv_ruleFraction=ruleFraction(); + _fsp--; + + current =iv_ruleFraction; + match(input,EOF,FOLLOW_EOF_in_entryRuleFraction621); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end entryRuleFraction + + + // $ANTLR start ruleFraction + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:271:1: ruleFraction returns [String current=null] : (this_INT= RULE_INT ( '/' this_INT= RULE_INT )? ) ; + public final String ruleFraction() throws RecognitionException { + String current = null; + + Token this_INT=null; + + StringBuilder buffer=new StringBuilder(20); setCurrentLookahead(); resetLookahead(); + try { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:273:91: ( (this_INT= RULE_INT ( '/' this_INT= RULE_INT )? ) ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:274:1: (this_INT= RULE_INT ( '/' this_INT= RULE_INT )? ) + { + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:274:1: (this_INT= RULE_INT ( '/' this_INT= RULE_INT )? ) + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:274:6: this_INT= RULE_INT ( '/' this_INT= RULE_INT )? + { + this_INT=(Token)input.LT(1); + match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleFraction661); + + + buffer.append(this_INT.getText()); + + + + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, null); + + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:283:1: ( '/' this_INT= RULE_INT )? + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==14) ) { + alt3=1; + } + switch (alt3) { + case 1 : + // ./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g:283:2: '/' this_INT= RULE_INT + { + match(input,14,FOLLOW_14_in_ruleFraction676); + + buffer.append("/"); + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); + + this_INT=(Token)input.LT(1); + match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleFraction691); + + + buffer.append(this_INT.getText()); + + + + createLeafNode("classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.1/@abstractTokens.1" /* xtext::RuleCall */, null); + + + } + break; + + } + + + } + + + } + + resetLookahead(); current = buffer.length() > 0 ? buffer.toString() : null; + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end ruleFraction + + + + + public static final BitSet FOLLOW_ruleCompositeModel_in_entryRuleCompositeModel71 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCompositeModel81 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleModel_in_ruleCompositeModel139 = new BitSet(new long[]{0x0000000000000012L}); + public static final BitSet FOLLOW_ruleModel_in_entryRuleModel176 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleModel186 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleNestedModelId_in_ruleModel246 = new BitSet(new long[]{0x0000000000001800L}); + public static final BitSet FOLLOW_11_in_ruleModel260 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_ruleFraction_in_ruleModel294 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleModel310 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleModelId_in_entryRuleModelId344 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleModelId355 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleModelId396 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleModelId410 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleModelId426 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleNestedModelId_in_entryRuleNestedModelId470 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleNestedModelId481 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleModelId_in_ruleNestedModelId529 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleNestedModelId543 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_ruleModelId_in_ruleNestedModelId566 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFraction_in_entryRuleFraction610 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFraction621 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_INT_in_ruleFraction661 = new BitSet(new long[]{0x0000000000004002L}); + public static final BitSet FOLLOW_14_in_ruleFraction676 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_INT_in_ruleFraction691 = 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/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage__.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage__.g new file mode 100644 index 0000000..73a31c3 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage__.g @@ -0,0 +1,36 @@ +lexer grammar InternalDatatypeRulesTestLanguage; +@header { +package org.eclipse.xtext.parser.datatyperules.parser.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; +} + +T11 : ':' ; +T12 : ';' ; +T13 : '.' ; +T14 : '/' ; + +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g" 304 +RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g" 306 +RULE_INT : ('0'..'9')+; + +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g" 308 +RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; + +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g" 310 +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; + +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g" 312 +RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; + +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g" 314 +RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; + +// $ANTLR src "./src-gen/org/eclipse/xtext/parser/datatyperules/parser/internal/InternalDatatypeRulesTestLanguage.g" 316 +RULE_ANY_OTHER : .; + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parsetree/reconstr/DatatypeRulesTestLanguageParseTreeConstructor.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parsetree/reconstr/DatatypeRulesTestLanguageParseTreeConstructor.java new file mode 100644 index 0000000..2c5a196 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/parsetree/reconstr/DatatypeRulesTestLanguageParseTreeConstructor.java @@ -0,0 +1,254 @@ +/* +Generated with Xtext +*/ +package org.eclipse.xtext.parser.datatyperules.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.builtin.XtextBuiltinGrammarAccess; +import org.eclipse.xtext.parser.datatyperules.services.DatatypeRulesTestLanguageGrammarAccess; + + +public class DatatypeRulesTestLanguageParseTreeConstructor extends AbstractParseTreeConstructor { + + public IAbstractToken serialize(EObject object) { + if(object == null) throw new IllegalArgumentException("The to-be-serialialized model is null"); + Solution t = internalSerialize(object); + if(t == null) throw new XtextSerializationException(getDescr(object), "No rule found for serialization"); + return t.getPredecessor(); + } + + protected Solution internalSerialize(EObject obj) { + IInstanceDescription inst = getDescr(obj); + Solution s; + + if(inst.isInstanceOf("CompositeModel") && (s = new CompositeModel_Assignment_model(inst, null).firstSolution()) != null) return s; + + + if(inst.isInstanceOf("Model") && (s = new Model_Group(inst, null).firstSolution()) != null) return s; + + + + + return null; + } + + +/************ begin Rule CompositeModel **************** + * + * CompositeModel : ( model += Model ) + ; + * + **/ + + +// ( model += Model ) + +protected class CompositeModel_Assignment_model extends AssignmentToken { + + public CompositeModel_Assignment_model(IInstanceDescription curr, AbstractToken pred) { + super(curr, pred, IS_MANY, IS_REQUIRED); + } + + public Assignment getGrammarElement() { + return DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prCompositeModel().eleAssignmentModel(); + } + + protected Solution createSolution() { + if((value = current.getConsumable("model",IS_REQUIRED)) == null) return null; + IInstanceDescription obj = current.cloneAndConsume("model"); + + if(value instanceof EObject) { // xtext::RuleCall + IInstanceDescription param = getDescr((EObject)value); + if(param.isInstanceOf("Model")) { + Solution s = new Model_Group(param, this).firstSolution(); + if(s != null) { + type = AssignmentType.PRC; + return new Solution(obj,s.getPredecessor()); + } + } + } + + return null; + } +} + +/************ end Rule CompositeModel ****************/ + + +/************ begin Rule Model **************** + * + * Model : id = NestedModelId ( ':' value = Fraction ) ? ';' ; + * + **/ + + +// id = NestedModelId ( ':' value = Fraction ) ? ';' +protected class Model_Group extends GroupToken { + + public Model_Group(IInstanceDescription curr, AbstractToken pred) { + super(curr, pred, !IS_MANY, IS_REQUIRED); + } + + public Group getGrammarElement() { + return DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().eleGroup(); + } + + protected Solution createSolution() { + Solution s1 = new Model_1_Keyword(current, this).firstSolution(); + while(s1 != null) { + Solution s2 = new Model_0_Group(s1.getCurrent(), s1.getPredecessor()).firstSolution(); + if(s2 == null) { + s1 = s1.getPredecessor().nextSolution(this); + if(s1 == null) return null; + } else { + last = s2.getPredecessor(); + return s2; + } + } + return null; + + } +} + +// id = NestedModelId ( ':' value = Fraction ) ? +protected class Model_0_Group extends GroupToken { + + public Model_0_Group(IInstanceDescription curr, AbstractToken pred) { + super(curr, pred, !IS_MANY, IS_REQUIRED); + } + + public Group getGrammarElement() { + return DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().ele0Group(); + } + + protected Solution createSolution() { + Solution s1 = new Model_0_1_Group(current, this).firstSolution(); + while(s1 != null) { + Solution s2 = new Model_0_0_Assignment_id(s1.getCurrent(), s1.getPredecessor()).firstSolution(); + if(s2 == null) { + s1 = s1.getPredecessor().nextSolution(this); + if(s1 == null) return null; + } else { + last = s2.getPredecessor(); + return s2; + } + } + return null; + + } +} + +// id = NestedModelId +protected class Model_0_0_Assignment_id extends AssignmentToken { + + public Model_0_0_Assignment_id(IInstanceDescription curr, AbstractToken pred) { + super(curr, pred, !IS_MANY, IS_REQUIRED); + } + + public Assignment getGrammarElement() { + return DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().ele00AssignmentId(); + } + + protected Solution createSolution() { + if((value = current.getConsumable("id",IS_REQUIRED)) == null) return null; + IInstanceDescription obj = current.cloneAndConsume("id"); + + if(true) { // xtext::RuleCall FIXME: check if value is valid for datatype rule + type = AssignmentType.PRC; + element = DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().ele000ParserRuleCallNestedModelId(); + return new Solution(obj); + } + + return null; + } +} + +// ( ':' value = Fraction ) ? +protected class Model_0_1_Group extends GroupToken { + + public Model_0_1_Group(IInstanceDescription curr, AbstractToken pred) { + super(curr, pred, !IS_MANY, !IS_REQUIRED); + } + + public Group getGrammarElement() { + return DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().ele01Group(); + } + + protected Solution createSolution() { + Solution s1 = new Model_0_1_1_Assignment_value(current, this).firstSolution(); + while(s1 != null) { + Solution s2 = new Model_0_1_0_Keyword(s1.getCurrent(), s1.getPredecessor()).firstSolution(); + if(s2 == null) { + s1 = s1.getPredecessor().nextSolution(this); + if(s1 == null) return null; + } else { + last = s2.getPredecessor(); + return s2; + } + } + return null; + + } +} + +// ':' +protected class Model_0_1_0_Keyword extends KeywordToken { + + public Model_0_1_0_Keyword(IInstanceDescription curr, AbstractToken pred) { + super(curr, pred, !IS_MANY, IS_REQUIRED); + } + + public Keyword getGrammarElement() { + return DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().ele010KeywordColon(); + } +} + +// value = Fraction +protected class Model_0_1_1_Assignment_value extends AssignmentToken { + + public Model_0_1_1_Assignment_value(IInstanceDescription curr, AbstractToken pred) { + super(curr, pred, !IS_MANY, IS_REQUIRED); + } + + public Assignment getGrammarElement() { + return DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().ele011AssignmentValue(); + } + + protected Solution createSolution() { + if((value = current.getConsumable("value",!IS_REQUIRED)) == null) return null; + IInstanceDescription obj = current.cloneAndConsume("value"); + + if(true) { // xtext::RuleCall FIXME: check if value is valid for datatype rule + type = AssignmentType.PRC; + element = DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().ele0110ParserRuleCallFraction(); + return new Solution(obj); + } + + return null; + } +} + + + +// ';' +protected class Model_1_Keyword extends KeywordToken { + + public Model_1_Keyword(IInstanceDescription curr, AbstractToken pred) { + super(curr, pred, !IS_MANY, IS_REQUIRED); + } + + public Keyword getGrammarElement() { + return DatatypeRulesTestLanguageGrammarAccess.INSTANCE.prModel().ele1KeywordSemicolon(); + } +} + + +/************ end Rule Model ****************/ + + + + +} diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageGrammarAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageGrammarAccess.java new file mode 100644 index 0000000..eafd406 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageGrammarAccess.java @@ -0,0 +1,201 @@ +/* +Generated with Xtext +*/ + +package org.eclipse.xtext.parser.datatyperules.services; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.BaseEPackageAccess; +import org.eclipse.xtext.builtin.XtextBuiltinGrammarAccess; + +public class DatatypeRulesTestLanguageGrammarAccess extends BaseEPackageAccess implements IGrammarAccess { + + public class CompositeModelElements implements IParserRuleAccess { + private final ParserRule rule = (ParserRule) getGrammar().eContents().get(2); + private final Assignment cAssignmentModel = (Assignment)rule.eContents().get(1); + private final RuleCall c0ParserRuleCallModel = (RuleCall)cAssignmentModel.eContents().get(0); + + // CompositeModel : ( model += Model ) + ; + public ParserRule getRule() { return rule; } + + // ( model += Model ) + + public Assignment eleAssignmentModel() { return cAssignmentModel; } + + // Model + public RuleCall ele0ParserRuleCallModel() { return c0ParserRuleCallModel; } + } + + public class ModelElements 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 Assignment c00AssignmentId = (Assignment)c0Group.eContents().get(0); + private final RuleCall c000ParserRuleCallNestedModelId = (RuleCall)c00AssignmentId.eContents().get(0); + private final Group c01Group = (Group)c0Group.eContents().get(1); + private final Keyword c010KeywordColon = (Keyword)c01Group.eContents().get(0); + private final Assignment c011AssignmentValue = (Assignment)c01Group.eContents().get(1); + private final RuleCall c0110ParserRuleCallFraction = (RuleCall)c011AssignmentValue.eContents().get(0); + private final Keyword c1KeywordSemicolon = (Keyword)cGroup.eContents().get(1); + + // Model : id = NestedModelId ( ':' value = Fraction ) ? ';' ; + public ParserRule getRule() { return rule; } + + // id = NestedModelId ( ':' value = Fraction ) ? ';' + public Group eleGroup() { return cGroup; } + + // id = NestedModelId ( ':' value = Fraction ) ? + public Group ele0Group() { return c0Group; } + + // id = NestedModelId + public Assignment ele00AssignmentId() { return c00AssignmentId; } + + // NestedModelId + public RuleCall ele000ParserRuleCallNestedModelId() { return c000ParserRuleCallNestedModelId; } + + // ( ':' value = Fraction ) ? + public Group ele01Group() { return c01Group; } + + // ':' + public Keyword ele010KeywordColon() { return c010KeywordColon; } + + // value = Fraction + public Assignment ele011AssignmentValue() { return c011AssignmentValue; } + + // Fraction + public RuleCall ele0110ParserRuleCallFraction() { return c0110ParserRuleCallFraction; } + + // ';' + public Keyword ele1KeywordSemicolon() { return c1KeywordSemicolon; } + } + + public class ModelIdElements 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 RuleCall c00LexerRuleCallID = (RuleCall)c0Group.eContents().get(0); + private final Keyword c01KeywordFullStop = (Keyword)c0Group.eContents().get(1); + private final RuleCall c1LexerRuleCallID = (RuleCall)cGroup.eContents().get(1); + + // ModelId returns EString : ID '.' ID ; + public ParserRule getRule() { return rule; } + + // ID '.' ID + public Group eleGroup() { return cGroup; } + + // ID '.' + public Group ele0Group() { return c0Group; } + + // ID + public RuleCall ele00LexerRuleCallID() { return c00LexerRuleCallID; } + + // '.' + public Keyword ele01KeywordFullStop() { return c01KeywordFullStop; } + + // ID + public RuleCall ele1LexerRuleCallID() { return c1LexerRuleCallID; } + } + + public class NestedModelIdElements 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 RuleCall c00ParserRuleCallModelId = (RuleCall)c0Group.eContents().get(0); + private final Keyword c01KeywordFullStop = (Keyword)c0Group.eContents().get(1); + private final RuleCall c1ParserRuleCallModelId = (RuleCall)cGroup.eContents().get(1); + + // NestedModelId returns EString : ModelId '.' ModelId ; + public ParserRule getRule() { return rule; } + + // ModelId '.' ModelId + public Group eleGroup() { return cGroup; } + + // ModelId '.' + public Group ele0Group() { return c0Group; } + + // ModelId + public RuleCall ele00ParserRuleCallModelId() { return c00ParserRuleCallModelId; } + + // '.' + public Keyword ele01KeywordFullStop() { return c01KeywordFullStop; } + + // ModelId + public RuleCall ele1ParserRuleCallModelId() { return c1ParserRuleCallModelId; } + } + + public class FractionElements implements IParserRuleAccess { + private final ParserRule rule = (ParserRule) getGrammar().eContents().get(6); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall c0LexerRuleCallINT = (RuleCall)cGroup.eContents().get(0); + private final Group c1Group = (Group)cGroup.eContents().get(1); + private final Keyword c10KeywordSolidus = (Keyword)c1Group.eContents().get(0); + private final RuleCall c11LexerRuleCallINT = (RuleCall)c1Group.eContents().get(1); + + // Fraction returns EBigDecimal : INT ( '/' INT ) ? ; + public ParserRule getRule() { return rule; } + + // INT ( '/' INT ) ? + public Group eleGroup() { return cGroup; } + + // INT + public RuleCall ele0LexerRuleCallINT() { return c0LexerRuleCallINT; } + + // ( '/' INT ) ? + public Group ele1Group() { return c1Group; } + + // '/' + public Keyword ele10KeywordSolidus() { return c10KeywordSolidus; } + + // INT + public RuleCall ele11LexerRuleCallINT() { return c11LexerRuleCallINT; } + } + + public final static DatatypeRulesTestLanguageGrammarAccess INSTANCE = new DatatypeRulesTestLanguageGrammarAccess(); + + private static final String DATATYPERULESTESTLANGUAGE_GRAMMAR_CP_URI = "classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xmi"; + private static Grammar GRAMMAR = null; + private static CompositeModelElements pCompositeModel; + private static ModelElements pModel; + private static ModelIdElements pModelId; + private static NestedModelIdElements pNestedModelId; + private static FractionElements pFraction; + + @SuppressWarnings("unused") + public synchronized Grammar getGrammar() { + if (GRAMMAR==null) { + // assert the XtextPackage implementation is loaded + XtextPackage xtextPackage = XtextPackage.eINSTANCE; + GRAMMAR = (Grammar) loadGrammarFile(DatatypeRulesTestLanguageGrammarAccess.class.getClassLoader(),DATATYPERULESTESTLANGUAGE_GRAMMAR_CP_URI); + } + return GRAMMAR; + } + + public XtextBuiltinGrammarAccess getSuperGrammar() { + return XtextBuiltinGrammarAccess.INSTANCE; + } + + + // CompositeModel : ( model += Model ) + ; + public CompositeModelElements prCompositeModel() { + return (pCompositeModel != null) ? pCompositeModel : (pCompositeModel = new CompositeModelElements()); + } + + // Model : id = NestedModelId ( ':' value = Fraction ) ? ';' ; + public ModelElements prModel() { + return (pModel != null) ? pModel : (pModel = new ModelElements()); + } + + // ModelId returns EString : ID '.' ID ; + public ModelIdElements prModelId() { + return (pModelId != null) ? pModelId : (pModelId = new ModelIdElements()); + } + + // NestedModelId returns EString : ModelId '.' ModelId ; + public NestedModelIdElements prNestedModelId() { + return (pNestedModelId != null) ? pNestedModelId : (pNestedModelId = new NestedModelIdElements()); + } + + // Fraction returns EBigDecimal : INT ( '/' INT ) ? ; + public FractionElements prFraction() { + return (pFraction != null) ? pFraction : (pFraction = new FractionElements()); + } +} diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageMetamodelAccess.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageMetamodelAccess.java new file mode 100644 index 0000000..8a60114 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageMetamodelAccess.java @@ -0,0 +1,53 @@ +/* +Generated with Xtext +*/ +package org.eclipse.xtext.parser.datatyperules.services; + +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.IMetamodelAccess; +import org.eclipse.xtext.parser.BaseEPackageAccess; + +public class DatatypeRulesTestLanguageMetamodelAccess extends BaseEPackageAccess implements IMetamodelAccess { + +{ + + if (!EPackage.Registry.INSTANCE.containsKey(DATATYPERULESTESTLANGUAGE_NS_URI)) + EPackage.Registry.INSTANCE.put(DATATYPERULESTESTLANGUAGE_NS_URI, loadEcoreFile(getClass().getClassLoader(), "classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.ecore")); + +} + + private EPackage[] generated = new EPackage[] { + + getDatatypeRulesTestLanguageEPackage() + + }; + + 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[] { + getDatatypeRulesTestLanguageEPackage(),BaseEPackageAccess.getEPackageFromRegistry("http://www.eclipse.org/emf/2002/Ecore") + }; + + public EPackage[] getAllEPackages() { + return all; + } + + + protected static final String DATATYPERULESTESTLANGUAGE_NS_URI = "http://www.eclipse.org/2008/tmf/xtext/DatatypeRulesTest"; + + protected EPackage getDatatypeRulesTestLanguageEPackage() { + return EPackage.Registry.INSTANCE.getEPackage(DATATYPERULESTESTLANGUAGE_NS_URI); + } + +} diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageResourceFactory.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageResourceFactory.java new file mode 100644 index 0000000..1f70c17 --- a/dev/null +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/datatyperules/services/DatatypeRulesTestLanguageResourceFactory.java @@ -0,0 +1,28 @@ +/* +Generated with Xtext +*/ +package org.eclipse.xtext.parser.datatyperules.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 DatatypeRulesTestLanguageResourceFactory implements IResourceFactory { + + public String[] getModelFileExtensions() { + return new String[] { "datatyperulestestlanguage" }; + } + + /* (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.datatyperules.DatatypeRulesTestLanguage"), resource); + return resource; + } + +} diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g index 8194fd1..d350cb9 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; } @parser::members { @@ -58,6 +59,7 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream; + // Entry rule entryRuleGrammar entryRuleGrammar returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } @@ -83,8 +85,12 @@ ruleGrammar returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "abstract", true,"abstract language"); - } + try { + factory.set($current, "abstract", true,"abstract language"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ) |'language' @@ -104,8 +110,12 @@ ruleGrammar returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "idElements", lv_idElements,"ID"); - } + try { + factory.add($current, "idElements", lv_idElements,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))('.' { @@ -124,8 +134,12 @@ ruleGrammar returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "idElements", lv_idElements,"ID"); - } + try { + factory.add($current, "idElements", lv_idElements,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))*)(('extends' { @@ -144,8 +158,12 @@ ruleGrammar returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "superGrammarIdElements", lv_superGrammarIdElements,"ID"); - } + try { + factory.add($current, "superGrammarIdElements", lv_superGrammarIdElements,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))('.' { @@ -164,8 +182,12 @@ ruleGrammar returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "superGrammarIdElements", lv_superGrammarIdElements,"ID"); - } + try { + factory.add($current, "superGrammarIdElements", lv_superGrammarIdElements,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))*)?)( @@ -181,8 +203,12 @@ ruleGrammar returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "metamodelDeclarations", lv_metamodelDeclarations,null); - } + try { + factory.add($current, "metamodelDeclarations", lv_metamodelDeclarations,"AbstractMetamodelDeclaration"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )*)( @@ -198,11 +224,17 @@ ruleGrammar returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "rules", lv_rules,null); - } + try { + factory.add($current, "rules", lv_rules,"AbstractRule"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )+); - + + + // Entry rule entryRuleAbstractRule @@ -237,7 +269,9 @@ ruleAbstractRule returns [EObject current=null] currentNode = currentNode.getParent(); } ); - + + + // Entry rule entryRuleAbstractMetamodelDeclaration @@ -272,7 +306,9 @@ ruleAbstractMetamodelDeclaration returns [EObject current=null] currentNode = currentNode.getParent(); } ); - + + + // Entry rule entryRuleGeneratedMetamodel @@ -304,8 +340,12 @@ ruleGeneratedMetamodel returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))( @@ -320,8 +360,12 @@ ruleGeneratedMetamodel returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "nsURI", lv_nsURI,"STRING"); - } + try { + factory.set($current, "nsURI", lv_nsURI,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))('as' { @@ -340,11 +384,17 @@ ruleGeneratedMetamodel returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "alias", lv_alias,"ID"); - } + try { + factory.set($current, "alias", lv_alias,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))?); - + + + // Entry rule entryRuleReferencedMetamodel @@ -376,8 +426,12 @@ ruleReferencedMetamodel returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "uri", lv_uri,"STRING"); - } + try { + factory.set($current, "uri", lv_uri,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))('as' { @@ -396,11 +450,17 @@ ruleReferencedMetamodel returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "alias", lv_alias,"ID"); - } + try { + factory.set($current, "alias", lv_alias,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))?); - + + + // Entry rule entryRuleLexerRule @@ -437,8 +497,12 @@ ruleLexerRule returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))('returns' { @@ -458,8 +522,12 @@ ruleLexerRule returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "type", lv_type,null); - } + try { + factory.set($current, "type", lv_type,"TypeRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))?)':' { @@ -478,15 +546,21 @@ ruleLexerRule returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "body", lv_body,"STRING"); - } + try { + factory.set($current, "body", lv_body,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))';' { createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); } ); - + + + // Entry rule entryRuleParserRule @@ -514,8 +588,12 @@ ruleParserRule returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "name", lv_name,"ID"); - } + try { + factory.set($current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )('returns' { @@ -535,8 +613,12 @@ ruleParserRule returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "type", lv_type,null); - } + try { + factory.set($current, "type", lv_type,"TypeRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))?)':' { @@ -556,15 +638,21 @@ ruleParserRule returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "alternatives", lv_alternatives,null); - } + try { + factory.set($current, "alternatives", lv_alternatives,"Alternatives"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))';' { createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); } ); - + + + // Entry rule entryRuleTypeRef @@ -614,7 +702,9 @@ ruleTypeRef returns [EObject current=null] ) )); - + + + // Entry rule entryRuleAlternatives @@ -668,11 +758,17 @@ ruleAlternatives returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "groups", lv_groups,null); - } + try { + factory.add($current, "groups", lv_groups,"Group"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))*); - + + + // Entry rule entryRuleGroup @@ -722,11 +818,17 @@ ruleGroup returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.add($current, "abstractTokens", lv_abstractTokens,null); - } + try { + factory.add($current, "abstractTokens", lv_abstractTokens,"AbstractToken"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))*); - + + + // Entry rule entryRuleAbstractToken @@ -793,11 +895,17 @@ ruleAbstractToken returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "cardinality", input.LT(-1),null); - } + try { + factory.set($current, "cardinality", input.LT(-1),null); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )?); - + + + // Entry rule entryRuleAssignment @@ -825,8 +933,12 @@ ruleAssignment returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "feature", lv_feature,"ID"); - } + try { + factory.set($current, "feature", lv_feature,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )( @@ -851,8 +963,12 @@ ruleAssignment returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "operator", input.LT(-1),null); - } + try { + factory.set($current, "operator", input.LT(-1),null); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))( @@ -868,11 +984,17 @@ ruleAssignment returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "terminal", lv_terminal,null); - } + try { + factory.set($current, "terminal", lv_terminal,"AbstractTerminal"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } )); - + + + // Entry rule entryRuleAction @@ -913,8 +1035,12 @@ ruleAction returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "typeName", lv_typeName,null); - } + try { + factory.set($current, "typeName", lv_typeName,"TypeRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))'.' { @@ -933,8 +1059,12 @@ ruleAction returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "feature", lv_feature,"ID"); - } + try { + factory.set($current, "feature", lv_feature,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))( @@ -954,8 +1084,12 @@ ruleAction returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "operator", input.LT(-1),null); - } + try { + factory.set($current, "operator", input.LT(-1),null); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))'current' { @@ -966,7 +1100,9 @@ ruleAction returns [EObject current=null] createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); } ); - + + + // Entry rule entryRuleAbstractTerminal @@ -1021,7 +1157,9 @@ ruleAbstractTerminal returns [EObject current=null] currentNode = currentNode.getParent(); } ); - + + + // Entry rule entryRuleCrossReference @@ -1054,8 +1192,12 @@ ruleCrossReference returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "type", lv_type,null); - } + try { + factory.set($current, "type", lv_type,"TypeRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ))('|' { @@ -1081,7 +1223,9 @@ ruleCrossReference returns [EObject current=null] createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); } ); - + + + // Entry rule entryRuleParenthesizedElement @@ -1114,7 +1258,9 @@ ruleParenthesizedElement returns [EObject current=null] createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.15/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); } ); - + + + // Entry rule entryRuleKeyword @@ -1142,11 +1288,17 @@ ruleKeyword returns [EObject current=null] associateNodeWithAstElement(currentNode, $current); } - factory.set($current, "value", lv_value,"STRING"); - } + try { + factory.set($current, "value", lv_value,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } ); - + + + // Entry rule entryRuleRuleCall @@ -1177,7 +1329,8 @@ ruleRuleCall returns [EObject current=null] ) ); - + + diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageLexer.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageLexer.java index 2468bc8..80181df 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageLexer.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g 2008-12-10 21:59:36 +// $ANTLR 3.0.1 ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g 2008-12-16 15:37:27 package org.eclipse.xtext.parser.internal; @@ -558,10 +558,10 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1337:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1337:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:11: ( '^' )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1337:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -570,7 +570,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } switch (alt1) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:12: '^' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1337:12: '^' { match('^'); @@ -589,7 +589,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { recover(mse); throw mse; } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1337:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -637,10 +637,10 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:10: ( ( '0' .. '9' )+ ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:12: ( '0' .. '9' )+ + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1339:10: ( ( '0' .. '9' )+ ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1339:12: ( '0' .. '9' )+ { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:12: ( '0' .. '9' )+ + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1339:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -654,7 +654,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt3) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1186:13: '0' .. '9' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1339:13: '0' .. '9' { matchRange('0','9'); @@ -684,7 +684,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -696,16 +696,16 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("1188:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("1341:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -721,7 +721,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt4) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -738,7 +738,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:65: ~ ( '\\\\' | '\"' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -764,10 +764,10 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -783,7 +783,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt5) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -800,7 +800,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1188:152: ~ ( '\\\\' | '\\'' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1341:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -838,12 +838,12 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { 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/internal/InternalXtextGrammarTestLanguage.g:1190:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:19: '/*' ( options {greedy=false; } : . )* '*/' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1343:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1343:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:24: ( options {greedy=false; } : . )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1343:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -868,7 +868,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt7) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1190:52: . + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1343:52: . { matchAny(); @@ -897,12 +897,12 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { 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/internal/InternalXtextGrammarTestLanguage.g:1192:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1345:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1345:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:24: (~ ( '\\n' | '\\r' ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1345:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -915,7 +915,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { switch (alt8) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:24: ~ ( '\\n' | '\\r' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1345: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(); @@ -936,7 +936,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } } while (true); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:38: ( ( '\\r' )? '\\n' )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1345:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -945,9 +945,9 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } switch (alt10) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:39: ( '\\r' )? '\\n' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1345:39: ( '\\r' )? '\\n' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:39: ( '\\r' )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1345:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -956,7 +956,7 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { } switch (alt9) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1192:39: '\\r' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1345:39: '\\r' { match('\r'); @@ -987,10 +987,10 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1347:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1347:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1194:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1347:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -1044,8 +1044,8 @@ public class InternalXtextGrammarTestLanguageLexer extends Lexer { 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/internal/InternalXtextGrammarTestLanguage.g:1196:16: ( . ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1196:18: . + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1349:16: ( . ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1349:18: . { matchAny(); diff --git a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageParser.java b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageParser.java index 0050d42..e0c9938 100644 --- a/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageParser.java +++ b/tests/org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguageParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g 2008-12-10 21:59:35 +// $ANTLR 3.0.1 ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g 2008-12-16 15:37:27 package org.eclipse.xtext.parser.internal; @@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.ValueConverterException; import org.antlr.runtime.*; @@ -61,7 +62,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleGrammar - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:62:1: entryRuleGrammar returns [EObject current=null] : iv_ruleGrammar= ruleGrammar EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:64:1: entryRuleGrammar returns [EObject current=null] : iv_ruleGrammar= ruleGrammar EOF ; public final EObject entryRuleGrammar() throws RecognitionException { EObject current = null; @@ -69,16 +70,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:62:49: (iv_ruleGrammar= ruleGrammar EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:63:2: iv_ruleGrammar= ruleGrammar EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:64:49: (iv_ruleGrammar= ruleGrammar EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:65:2: iv_ruleGrammar= ruleGrammar EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleGrammar_in_entryRuleGrammar70); + pushFollow(FOLLOW_ruleGrammar_in_entryRuleGrammar71); iv_ruleGrammar=ruleGrammar(); _fsp--; current =iv_ruleGrammar; - match(input,EOF,FOLLOW_EOF_in_entryRuleGrammar80); + match(input,EOF,FOLLOW_EOF_in_entryRuleGrammar81); } @@ -96,7 +97,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleGrammar - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:70:1: ruleGrammar returns [EObject current=null] : ( ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:72:1: ruleGrammar returns [EObject current=null] : ( ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ ) ; public final EObject ruleGrammar() throws RecognitionException { EObject current = null; @@ -110,25 +111,25 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:72:33: ( ( ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:1: ( ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:74:33: ( ( ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:1: ( ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:1: ( ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:2: ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:1: ( ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:2: ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) (lv_rules= ruleAbstractRule )+ { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:2: ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:3: ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:2: ( ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:3: ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:3: ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:4: ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:3: ( ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:4: ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:4: ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:5: ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:4: ( ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:5: ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) ( '.' (lv_idElements= RULE_ID ) )* { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:5: ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:6: ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:5: ( ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:6: ( (lv_abstract= 'abstract language' ) | 'language' ) (lv_idElements= RULE_ID ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:6: ( (lv_abstract= 'abstract language' ) | 'language' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:6: ( (lv_abstract= 'abstract language' ) | 'language' ) int alt1=2; int LA1_0 = input.LA(1); @@ -140,19 +141,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("73:6: ( (lv_abstract= 'abstract language' ) | 'language' )", 1, 0, input); + new NoViableAltException("75:6: ( (lv_abstract= 'abstract language' ) | 'language' )", 1, 0, input); throw nvae; } switch (alt1) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:7: (lv_abstract= 'abstract language' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:7: (lv_abstract= 'abstract language' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:73:7: (lv_abstract= 'abstract language' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:6: lv_abstract= 'abstract language' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:75:7: (lv_abstract= 'abstract language' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:77:6: lv_abstract= 'abstract language' { lv_abstract=(Token)input.LT(1); - match(input,11,FOLLOW_11_in_ruleGrammar131); + match(input,11,FOLLOW_11_in_ruleGrammar132); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@groups.0/@terminal" /* xtext::Keyword */, "abstract"); @@ -162,8 +163,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "abstract", true,"abstract language"); - + try { + factory.set(current, "abstract", true,"abstract language"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -171,9 +176,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:90:6: 'language' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:96:6: 'language' { - match(input,12,FOLLOW_12_in_ruleGrammar158); + match(input,12,FOLLOW_12_in_ruleGrammar159); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@groups.1" /* xtext::Keyword */, null); @@ -183,11 +188,11 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:94:2: (lv_idElements= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:96:6: lv_idElements= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:100:2: (lv_idElements= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:102:6: lv_idElements= RULE_ID { lv_idElements=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGrammar180); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGrammar181); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "idElements"); @@ -197,15 +202,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "idElements", lv_idElements,"ID"); - + try { + factory.add(current, "idElements", lv_idElements,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:110:3: ( '.' (lv_idElements= RULE_ID ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:120:3: ( '.' (lv_idElements= RULE_ID ) )* loop2: do { int alt2=2; @@ -218,17 +227,17 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser switch (alt2) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:110:4: '.' (lv_idElements= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:120:4: '.' (lv_idElements= RULE_ID ) { - match(input,13,FOLLOW_13_in_ruleGrammar202); + match(input,13,FOLLOW_13_in_ruleGrammar203); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:114:1: (lv_idElements= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:116:6: lv_idElements= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:124:1: (lv_idElements= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:126:6: lv_idElements= RULE_ID { lv_idElements=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGrammar223); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGrammar224); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "idElements"); @@ -238,8 +247,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "idElements", lv_idElements,"ID"); - + try { + factory.add(current, "idElements", lv_idElements,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -255,7 +268,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:130:5: ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:144:5: ( ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* )? int alt4=2; int LA4_0 = input.LA(1); @@ -264,20 +277,20 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt4) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:130:6: ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:144:6: ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) ( '.' (lv_superGrammarIdElements= RULE_ID ) )* { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:130:6: ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:130:7: 'extends' (lv_superGrammarIdElements= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:144:6: ( 'extends' (lv_superGrammarIdElements= RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:144:7: 'extends' (lv_superGrammarIdElements= RULE_ID ) { - match(input,14,FOLLOW_14_in_ruleGrammar248); + match(input,14,FOLLOW_14_in_ruleGrammar249); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:134:1: (lv_superGrammarIdElements= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:136:6: lv_superGrammarIdElements= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:148:1: (lv_superGrammarIdElements= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:150:6: lv_superGrammarIdElements= RULE_ID { lv_superGrammarIdElements=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGrammar269); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGrammar270); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "superGrammarIdElements"); @@ -287,15 +300,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "superGrammarIdElements", lv_superGrammarIdElements,"ID"); - + try { + factory.add(current, "superGrammarIdElements", lv_superGrammarIdElements,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:150:3: ( '.' (lv_superGrammarIdElements= RULE_ID ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:168:3: ( '.' (lv_superGrammarIdElements= RULE_ID ) )* loop3: do { int alt3=2; @@ -308,17 +325,17 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser switch (alt3) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:150:4: '.' (lv_superGrammarIdElements= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:168:4: '.' (lv_superGrammarIdElements= RULE_ID ) { - match(input,13,FOLLOW_13_in_ruleGrammar291); + match(input,13,FOLLOW_13_in_ruleGrammar292); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:154:1: (lv_superGrammarIdElements= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:156:6: lv_superGrammarIdElements= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:172:1: (lv_superGrammarIdElements= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:174:6: lv_superGrammarIdElements= RULE_ID { lv_superGrammarIdElements=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGrammar312); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGrammar313); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "superGrammarIdElements"); @@ -328,8 +345,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "superGrammarIdElements", lv_superGrammarIdElements,"ID"); - + try { + factory.add(current, "superGrammarIdElements", lv_superGrammarIdElements,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -351,7 +372,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:170:7: (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:192:7: (lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration )* loop5: do { int alt5=2; @@ -364,12 +385,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser switch (alt5) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:173:6: lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:195:6: lv_metamodelDeclarations= ruleAbstractMetamodelDeclaration { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractMetamodelDeclaration_in_ruleGrammar362); + pushFollow(FOLLOW_ruleAbstractMetamodelDeclaration_in_ruleGrammar363); lv_metamodelDeclarations=ruleAbstractMetamodelDeclaration(); _fsp--; @@ -380,8 +401,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "metamodelDeclarations", lv_metamodelDeclarations,null); - + try { + factory.add(current, "metamodelDeclarations", lv_metamodelDeclarations,"AbstractMetamodelDeclaration"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -394,7 +419,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:187:4: (lv_rules= ruleAbstractRule )+ + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:213:4: (lv_rules= ruleAbstractRule )+ int cnt6=0; loop6: do { @@ -408,12 +433,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser switch (alt6) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:190:6: lv_rules= ruleAbstractRule + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:216:6: lv_rules= ruleAbstractRule { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.0/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractRule_in_ruleGrammar402); + pushFollow(FOLLOW_ruleAbstractRule_in_ruleGrammar403); lv_rules=ruleAbstractRule(); _fsp--; @@ -424,8 +449,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "rules", lv_rules,null); - + try { + factory.add(current, "rules", lv_rules,"AbstractRule"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -460,7 +489,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAbstractRule - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:209:1: entryRuleAbstractRule returns [EObject current=null] : iv_ruleAbstractRule= ruleAbstractRule EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:241:1: entryRuleAbstractRule returns [EObject current=null] : iv_ruleAbstractRule= ruleAbstractRule EOF ; public final EObject entryRuleAbstractRule() throws RecognitionException { EObject current = null; @@ -468,16 +497,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:209:54: (iv_ruleAbstractRule= ruleAbstractRule EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:210:2: iv_ruleAbstractRule= ruleAbstractRule EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:241:54: (iv_ruleAbstractRule= ruleAbstractRule EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:242:2: iv_ruleAbstractRule= ruleAbstractRule EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAbstractRule_in_entryRuleAbstractRule442); + pushFollow(FOLLOW_ruleAbstractRule_in_entryRuleAbstractRule441); iv_ruleAbstractRule=ruleAbstractRule(); _fsp--; current =iv_ruleAbstractRule; - match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractRule452); + match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractRule451); } @@ -495,7 +524,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAbstractRule - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:217:1: ruleAbstractRule returns [EObject current=null] : (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:249:1: ruleAbstractRule returns [EObject current=null] : (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule ) ; public final EObject ruleAbstractRule() throws RecognitionException { EObject current = null; @@ -506,10 +535,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:219:33: ( (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:220:1: (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:251:33: ( (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:252:1: (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:220:1: (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:252:1: (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule ) int alt7=2; int LA7_0 = input.LA(1); @@ -521,18 +550,18 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("220:1: (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule )", 7, 0, input); + new NoViableAltException("252:1: (this_LexerRule= ruleLexerRule | this_ParserRule= ruleParserRule )", 7, 0, input); throw nvae; } switch (alt7) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:221:5: this_LexerRule= ruleLexerRule + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:253:5: this_LexerRule= ruleLexerRule { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.1/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleLexerRule_in_ruleAbstractRule499); + pushFollow(FOLLOW_ruleLexerRule_in_ruleAbstractRule498); this_LexerRule=ruleLexerRule(); _fsp--; @@ -544,12 +573,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:231:5: this_ParserRule= ruleParserRule + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:263:5: this_ParserRule= ruleParserRule { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.1/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleParserRule_in_ruleAbstractRule526); + pushFollow(FOLLOW_ruleParserRule_in_ruleAbstractRule525); this_ParserRule=ruleParserRule(); _fsp--; @@ -581,7 +610,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAbstractMetamodelDeclaration - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:244:1: entryRuleAbstractMetamodelDeclaration returns [EObject current=null] : iv_ruleAbstractMetamodelDeclaration= ruleAbstractMetamodelDeclaration EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:278:1: entryRuleAbstractMetamodelDeclaration returns [EObject current=null] : iv_ruleAbstractMetamodelDeclaration= ruleAbstractMetamodelDeclaration EOF ; public final EObject entryRuleAbstractMetamodelDeclaration() throws RecognitionException { EObject current = null; @@ -589,16 +618,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:244:70: (iv_ruleAbstractMetamodelDeclaration= ruleAbstractMetamodelDeclaration EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:245:2: iv_ruleAbstractMetamodelDeclaration= ruleAbstractMetamodelDeclaration EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:278:70: (iv_ruleAbstractMetamodelDeclaration= ruleAbstractMetamodelDeclaration EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:279:2: iv_ruleAbstractMetamodelDeclaration= ruleAbstractMetamodelDeclaration EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.2" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAbstractMetamodelDeclaration_in_entryRuleAbstractMetamodelDeclaration560); + pushFollow(FOLLOW_ruleAbstractMetamodelDeclaration_in_entryRuleAbstractMetamodelDeclaration557); iv_ruleAbstractMetamodelDeclaration=ruleAbstractMetamodelDeclaration(); _fsp--; current =iv_ruleAbstractMetamodelDeclaration; - match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractMetamodelDeclaration570); + match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractMetamodelDeclaration567); } @@ -616,7 +645,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAbstractMetamodelDeclaration - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:252:1: ruleAbstractMetamodelDeclaration returns [EObject current=null] : (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:286:1: ruleAbstractMetamodelDeclaration returns [EObject current=null] : (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel ) ; public final EObject ruleAbstractMetamodelDeclaration() throws RecognitionException { EObject current = null; @@ -627,10 +656,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:254:33: ( (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:255:1: (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:288:33: ( (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:289:1: (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:255:1: (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:289:1: (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel ) int alt8=2; int LA8_0 = input.LA(1); @@ -642,18 +671,18 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("255:1: (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel )", 8, 0, input); + new NoViableAltException("289:1: (this_GeneratedMetamodel= ruleGeneratedMetamodel | this_ReferencedMetamodel= ruleReferencedMetamodel )", 8, 0, input); throw nvae; } switch (alt8) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:256:5: this_GeneratedMetamodel= ruleGeneratedMetamodel + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:290:5: this_GeneratedMetamodel= ruleGeneratedMetamodel { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.2/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleGeneratedMetamodel_in_ruleAbstractMetamodelDeclaration617); + pushFollow(FOLLOW_ruleGeneratedMetamodel_in_ruleAbstractMetamodelDeclaration614); this_GeneratedMetamodel=ruleGeneratedMetamodel(); _fsp--; @@ -665,12 +694,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:266:5: this_ReferencedMetamodel= ruleReferencedMetamodel + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:300:5: this_ReferencedMetamodel= ruleReferencedMetamodel { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.2/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleReferencedMetamodel_in_ruleAbstractMetamodelDeclaration644); + pushFollow(FOLLOW_ruleReferencedMetamodel_in_ruleAbstractMetamodelDeclaration641); this_ReferencedMetamodel=ruleReferencedMetamodel(); _fsp--; @@ -702,7 +731,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleGeneratedMetamodel - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:279:1: entryRuleGeneratedMetamodel returns [EObject current=null] : iv_ruleGeneratedMetamodel= ruleGeneratedMetamodel EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:315:1: entryRuleGeneratedMetamodel returns [EObject current=null] : iv_ruleGeneratedMetamodel= ruleGeneratedMetamodel EOF ; public final EObject entryRuleGeneratedMetamodel() throws RecognitionException { EObject current = null; @@ -710,16 +739,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:279:60: (iv_ruleGeneratedMetamodel= ruleGeneratedMetamodel EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:280:2: iv_ruleGeneratedMetamodel= ruleGeneratedMetamodel EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:315:60: (iv_ruleGeneratedMetamodel= ruleGeneratedMetamodel EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:316:2: iv_ruleGeneratedMetamodel= ruleGeneratedMetamodel EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.3" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleGeneratedMetamodel_in_entryRuleGeneratedMetamodel678); + pushFollow(FOLLOW_ruleGeneratedMetamodel_in_entryRuleGeneratedMetamodel673); iv_ruleGeneratedMetamodel=ruleGeneratedMetamodel(); _fsp--; current =iv_ruleGeneratedMetamodel; - match(input,EOF,FOLLOW_EOF_in_entryRuleGeneratedMetamodel688); + match(input,EOF,FOLLOW_EOF_in_entryRuleGeneratedMetamodel683); } @@ -737,7 +766,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleGeneratedMetamodel - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:287:1: ruleGeneratedMetamodel returns [EObject current=null] : ( ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:323:1: ruleGeneratedMetamodel returns [EObject current=null] : ( ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) ; public final EObject ruleGeneratedMetamodel() throws RecognitionException { EObject current = null; @@ -747,27 +776,27 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:289:33: ( ( ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:290:1: ( ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:325:33: ( ( ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:1: ( ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:290:1: ( ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:290:2: ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:1: ( ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:2: ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:290:2: ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:290:3: ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:2: ( ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:3: ( 'generate' (lv_name= RULE_ID ) ) (lv_nsURI= RULE_STRING ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:290:3: ( 'generate' (lv_name= RULE_ID ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:290:4: 'generate' (lv_name= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:3: ( 'generate' (lv_name= RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:4: 'generate' (lv_name= RULE_ID ) { - match(input,15,FOLLOW_15_in_ruleGeneratedMetamodel724); + match(input,15,FOLLOW_15_in_ruleGeneratedMetamodel719); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:294:1: (lv_name= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:296:6: lv_name= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:330:1: (lv_name= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:332:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGeneratedMetamodel745); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGeneratedMetamodel740); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -777,19 +806,23 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:310:3: (lv_nsURI= RULE_STRING ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:312:6: lv_nsURI= RULE_STRING + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:350:3: (lv_nsURI= RULE_STRING ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:352:6: lv_nsURI= RULE_STRING { lv_nsURI=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleGeneratedMetamodel778); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleGeneratedMetamodel773); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "nsURI"); @@ -799,15 +832,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "nsURI", lv_nsURI,"STRING"); - + try { + factory.set(current, "nsURI", lv_nsURI,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:3: ( 'as' (lv_alias= RULE_ID ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:370:3: ( 'as' (lv_alias= RULE_ID ) )? int alt9=2; int LA9_0 = input.LA(1); @@ -816,17 +853,17 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt9) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:326:4: 'as' (lv_alias= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:370:4: 'as' (lv_alias= RULE_ID ) { - match(input,16,FOLLOW_16_in_ruleGeneratedMetamodel800); + match(input,16,FOLLOW_16_in_ruleGeneratedMetamodel795); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:330:1: (lv_alias= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:332:6: lv_alias= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:374:1: (lv_alias= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:376:6: lv_alias= RULE_ID { lv_alias=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGeneratedMetamodel821); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGeneratedMetamodel816); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.3/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "alias"); @@ -836,8 +873,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "alias", lv_alias,"ID"); - + try { + factory.set(current, "alias", lv_alias,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -868,7 +909,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleReferencedMetamodel - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:351:1: entryRuleReferencedMetamodel returns [EObject current=null] : iv_ruleReferencedMetamodel= ruleReferencedMetamodel EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:401:1: entryRuleReferencedMetamodel returns [EObject current=null] : iv_ruleReferencedMetamodel= ruleReferencedMetamodel EOF ; public final EObject entryRuleReferencedMetamodel() throws RecognitionException { EObject current = null; @@ -876,16 +917,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:351:61: (iv_ruleReferencedMetamodel= ruleReferencedMetamodel EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:352:2: iv_ruleReferencedMetamodel= ruleReferencedMetamodel EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:401:61: (iv_ruleReferencedMetamodel= ruleReferencedMetamodel EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:402:2: iv_ruleReferencedMetamodel= ruleReferencedMetamodel EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.4" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleReferencedMetamodel_in_entryRuleReferencedMetamodel869); + pushFollow(FOLLOW_ruleReferencedMetamodel_in_entryRuleReferencedMetamodel862); iv_ruleReferencedMetamodel=ruleReferencedMetamodel(); _fsp--; current =iv_ruleReferencedMetamodel; - match(input,EOF,FOLLOW_EOF_in_entryRuleReferencedMetamodel879); + match(input,EOF,FOLLOW_EOF_in_entryRuleReferencedMetamodel872); } @@ -903,7 +944,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleReferencedMetamodel - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:359:1: ruleReferencedMetamodel returns [EObject current=null] : ( ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:409:1: ruleReferencedMetamodel returns [EObject current=null] : ( ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) ; public final EObject ruleReferencedMetamodel() throws RecognitionException { EObject current = null; @@ -912,24 +953,24 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:361:33: ( ( ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:362:1: ( ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:411:33: ( ( ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:412:1: ( ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:362:1: ( ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:362:2: ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:412:1: ( ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:412:2: ( 'import' (lv_uri= RULE_STRING ) ) ( 'as' (lv_alias= RULE_ID ) )? { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:362:2: ( 'import' (lv_uri= RULE_STRING ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:362:3: 'import' (lv_uri= RULE_STRING ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:412:2: ( 'import' (lv_uri= RULE_STRING ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:412:3: 'import' (lv_uri= RULE_STRING ) { - match(input,17,FOLLOW_17_in_ruleReferencedMetamodel914); + match(input,17,FOLLOW_17_in_ruleReferencedMetamodel907); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:366:1: (lv_uri= RULE_STRING ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:368:6: lv_uri= RULE_STRING + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:416:1: (lv_uri= RULE_STRING ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:6: lv_uri= RULE_STRING { lv_uri=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleReferencedMetamodel935); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleReferencedMetamodel928); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "uri"); @@ -939,15 +980,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "uri", lv_uri,"STRING"); - + try { + factory.set(current, "uri", lv_uri,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:382:3: ( 'as' (lv_alias= RULE_ID ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:436:3: ( 'as' (lv_alias= RULE_ID ) )? int alt10=2; int LA10_0 = input.LA(1); @@ -956,17 +1001,17 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt10) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:382:4: 'as' (lv_alias= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:436:4: 'as' (lv_alias= RULE_ID ) { - match(input,16,FOLLOW_16_in_ruleReferencedMetamodel957); + match(input,16,FOLLOW_16_in_ruleReferencedMetamodel950); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:386:1: (lv_alias= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:388:6: lv_alias= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:440:1: (lv_alias= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:442:6: lv_alias= RULE_ID { lv_alias=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleReferencedMetamodel978); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleReferencedMetamodel971); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.4/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "alias"); @@ -976,8 +1021,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "alias", lv_alias,"ID"); - + try { + factory.set(current, "alias", lv_alias,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -1008,7 +1057,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleLexerRule - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:407:1: entryRuleLexerRule returns [EObject current=null] : iv_ruleLexerRule= ruleLexerRule EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:467:1: entryRuleLexerRule returns [EObject current=null] : iv_ruleLexerRule= ruleLexerRule EOF ; public final EObject entryRuleLexerRule() throws RecognitionException { EObject current = null; @@ -1016,16 +1065,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:407:51: (iv_ruleLexerRule= ruleLexerRule EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:408:2: iv_ruleLexerRule= ruleLexerRule EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:467:51: (iv_ruleLexerRule= ruleLexerRule EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:468:2: iv_ruleLexerRule= ruleLexerRule EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleLexerRule_in_entryRuleLexerRule1026); + pushFollow(FOLLOW_ruleLexerRule_in_entryRuleLexerRule1017); iv_ruleLexerRule=ruleLexerRule(); _fsp--; current =iv_ruleLexerRule; - match(input,EOF,FOLLOW_EOF_in_entryRuleLexerRule1036); + match(input,EOF,FOLLOW_EOF_in_entryRuleLexerRule1027); } @@ -1043,7 +1092,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleLexerRule - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:415:1: ruleLexerRule returns [EObject current=null] : ( ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:475:1: ruleLexerRule returns [EObject current=null] : ( ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' ) ; public final EObject ruleLexerRule() throws RecognitionException { EObject current = null; @@ -1054,25 +1103,25 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:417:33: ( ( ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:1: ( ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:477:33: ( ( ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:1: ( ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:1: ( ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:2: ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:1: ( ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:2: ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) ';' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:2: ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:3: ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:2: ( ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:3: ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_body= RULE_STRING ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:3: ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:4: ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:3: ( ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:4: ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:4: ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:5: ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:4: ( ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:5: ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) ( 'returns' (lv_type= ruleTypeRef ) )? { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:5: ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:6: ( 'native' | 'lexer' ) (lv_name= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:5: ( ( 'native' | 'lexer' ) (lv_name= RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:6: ( 'native' | 'lexer' ) (lv_name= RULE_ID ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:6: ( 'native' | 'lexer' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:6: ( 'native' | 'lexer' ) int alt11=2; int LA11_0 = input.LA(1); @@ -1084,15 +1133,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("418:6: ( 'native' | 'lexer' )", 11, 0, input); + new NoViableAltException("478:6: ( 'native' | 'lexer' )", 11, 0, input); throw nvae; } switch (alt11) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:418:7: 'native' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:478:7: 'native' { - match(input,18,FOLLOW_18_in_ruleLexerRule1075); + match(input,18,FOLLOW_18_in_ruleLexerRule1066); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@groups.0" /* xtext::Keyword */, null); @@ -1100,9 +1149,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:423:6: 'lexer' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:483:6: 'lexer' { - match(input,19,FOLLOW_19_in_ruleLexerRule1090); + match(input,19,FOLLOW_19_in_ruleLexerRule1081); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@groups.1" /* xtext::Keyword */, null); @@ -1112,11 +1161,11 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:427:2: (lv_name= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:429:6: lv_name= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:487:2: (lv_name= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:489:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLexerRule1112); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLexerRule1103); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -1126,15 +1175,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:443:3: ( 'returns' (lv_type= ruleTypeRef ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:507:3: ( 'returns' (lv_type= ruleTypeRef ) )? int alt12=2; int LA12_0 = input.LA(1); @@ -1143,19 +1196,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt12) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:443:4: 'returns' (lv_type= ruleTypeRef ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:507:4: 'returns' (lv_type= ruleTypeRef ) { - match(input,20,FOLLOW_20_in_ruleLexerRule1134); + match(input,20,FOLLOW_20_in_ruleLexerRule1125); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:447:1: (lv_type= ruleTypeRef ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:450:6: lv_type= ruleTypeRef + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:511:1: (lv_type= ruleTypeRef ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:514:6: lv_type= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleLexerRule1168); + pushFollow(FOLLOW_ruleTypeRef_in_ruleLexerRule1159); lv_type=ruleTypeRef(); _fsp--; @@ -1166,8 +1219,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "type", lv_type,null); - + try { + factory.set(current, "type", lv_type,"TypeRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -1180,18 +1237,18 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,21,FOLLOW_21_in_ruleLexerRule1184); + match(input,21,FOLLOW_21_in_ruleLexerRule1175); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:468:2: (lv_body= RULE_STRING ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:470:6: lv_body= RULE_STRING + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:536:2: (lv_body= RULE_STRING ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:538:6: lv_body= RULE_STRING { lv_body=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleLexerRule1206); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleLexerRule1197); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "body"); @@ -1201,15 +1258,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "body", lv_body,"STRING"); - + try { + factory.set(current, "body", lv_body,"STRING"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - match(input,22,FOLLOW_22_in_ruleLexerRule1227); + match(input,22,FOLLOW_22_in_ruleLexerRule1218); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.5/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -1234,7 +1295,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleParserRule - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:493:1: entryRuleParserRule returns [EObject current=null] : iv_ruleParserRule= ruleParserRule EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:567:1: entryRuleParserRule returns [EObject current=null] : iv_ruleParserRule= ruleParserRule EOF ; public final EObject entryRuleParserRule() throws RecognitionException { EObject current = null; @@ -1242,16 +1303,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:493:52: (iv_ruleParserRule= ruleParserRule EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:494:2: iv_ruleParserRule= ruleParserRule EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:567:52: (iv_ruleParserRule= ruleParserRule EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:568:2: iv_ruleParserRule= ruleParserRule EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.6" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleParserRule_in_entryRuleParserRule1262); + pushFollow(FOLLOW_ruleParserRule_in_entryRuleParserRule1251); iv_ruleParserRule=ruleParserRule(); _fsp--; current =iv_ruleParserRule; - match(input,EOF,FOLLOW_EOF_in_entryRuleParserRule1272); + match(input,EOF,FOLLOW_EOF_in_entryRuleParserRule1261); } @@ -1269,7 +1330,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleParserRule - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:501:1: ruleParserRule returns [EObject current=null] : ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:575:1: ruleParserRule returns [EObject current=null] : ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) ; public final EObject ruleParserRule() throws RecognitionException { EObject current = null; @@ -1281,26 +1342,26 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:503:33: ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:1: ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:577:33: ( ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:1: ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:1: ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:2: ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:1: ( ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:2: ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) ';' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:2: ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:3: ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:2: ( ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:3: ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) (lv_alternatives= ruleAlternatives ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:3: ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:4: ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:3: ( ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:4: ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) ':' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:4: ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:5: (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:4: ( (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:5: (lv_name= RULE_ID ) ( 'returns' (lv_type= ruleTypeRef ) )? { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:504:5: (lv_name= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:506:6: lv_name= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:578:5: (lv_name= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:580:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleParserRule1321); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleParserRule1310); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "name"); @@ -1310,12 +1371,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "name", lv_name,"ID"); - + try { + factory.set(current, "name", lv_name,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:520:2: ( 'returns' (lv_type= ruleTypeRef ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:598:2: ( 'returns' (lv_type= ruleTypeRef ) )? int alt13=2; int LA13_0 = input.LA(1); @@ -1324,19 +1389,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt13) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:520:3: 'returns' (lv_type= ruleTypeRef ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:598:3: 'returns' (lv_type= ruleTypeRef ) { - match(input,20,FOLLOW_20_in_ruleParserRule1342); + match(input,20,FOLLOW_20_in_ruleParserRule1331); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:524:1: (lv_type= ruleTypeRef ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:527:6: lv_type= ruleTypeRef + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:602:1: (lv_type= ruleTypeRef ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:605:6: lv_type= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleParserRule1376); + pushFollow(FOLLOW_ruleTypeRef_in_ruleParserRule1365); lv_type=ruleTypeRef(); _fsp--; @@ -1347,8 +1412,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "type", lv_type,null); - + try { + factory.set(current, "type", lv_type,"TypeRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -1361,20 +1430,20 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,21,FOLLOW_21_in_ruleParserRule1392); + match(input,21,FOLLOW_21_in_ruleParserRule1381); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:545:2: (lv_alternatives= ruleAlternatives ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:548:6: lv_alternatives= ruleAlternatives + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:627:2: (lv_alternatives= ruleAlternatives ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:630:6: lv_alternatives= ruleAlternatives { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAlternatives_in_ruleParserRule1427); + pushFollow(FOLLOW_ruleAlternatives_in_ruleParserRule1416); lv_alternatives=ruleAlternatives(); _fsp--; @@ -1385,15 +1454,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "alternatives", lv_alternatives,null); - + try { + factory.set(current, "alternatives", lv_alternatives,"Alternatives"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - match(input,22,FOLLOW_22_in_ruleParserRule1441); + match(input,22,FOLLOW_22_in_ruleParserRule1430); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.6/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -1418,7 +1491,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleTypeRef - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:571:1: entryRuleTypeRef returns [EObject current=null] : iv_ruleTypeRef= ruleTypeRef EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:659:1: entryRuleTypeRef returns [EObject current=null] : iv_ruleTypeRef= ruleTypeRef EOF ; public final EObject entryRuleTypeRef() throws RecognitionException { EObject current = null; @@ -1426,16 +1499,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:571:49: (iv_ruleTypeRef= ruleTypeRef EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:572:2: iv_ruleTypeRef= ruleTypeRef EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:659:49: (iv_ruleTypeRef= ruleTypeRef EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:660:2: iv_ruleTypeRef= ruleTypeRef EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_entryRuleTypeRef1476); + pushFollow(FOLLOW_ruleTypeRef_in_entryRuleTypeRef1463); iv_ruleTypeRef=ruleTypeRef(); _fsp--; current =iv_ruleTypeRef; - match(input,EOF,FOLLOW_EOF_in_entryRuleTypeRef1486); + match(input,EOF,FOLLOW_EOF_in_entryRuleTypeRef1473); } @@ -1453,19 +1526,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleTypeRef - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:579:1: ruleTypeRef returns [EObject current=null] : ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:667:1: ruleTypeRef returns [EObject current=null] : ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) ; public final EObject ruleTypeRef() throws RecognitionException { EObject current = null; EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:581:33: ( ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:1: ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:669:33: ( ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:670:1: ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:1: ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:2: ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:670:1: ( ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:670:2: ( ( ( RULE_ID ) ) '::' )? ( ( RULE_ID ) ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:2: ( ( ( RULE_ID ) ) '::' )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:670:2: ( ( ( RULE_ID ) ) '::' )? int alt14=2; int LA14_0 = input.LA(1); @@ -1478,10 +1551,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt14) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:3: ( ( RULE_ID ) ) '::' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:670:3: ( ( RULE_ID ) ) '::' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:582:3: ( ( RULE_ID ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:585:3: ( RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:670:3: ( ( RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:673:3: ( RULE_ID ) { if (current==null) { @@ -1489,10 +1562,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:591:1: ( RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:592:2: RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:679:1: ( RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:680:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1536); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1523); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::CrossReference */, "metamodel"); @@ -1502,7 +1575,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,23,FOLLOW_23_in_ruleTypeRef1549); + match(input,23,FOLLOW_23_in_ruleTypeRef1536); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); @@ -1512,8 +1585,8 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:601:3: ( ( RULE_ID ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:604:3: ( RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:689:3: ( ( RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:692:3: ( RULE_ID ) { if (current==null) { @@ -1521,10 +1594,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:610:1: ( RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:611:2: RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:698:1: ( RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:699:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1575); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef1562); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.7/@alternatives/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "type"); @@ -1555,7 +1628,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAlternatives - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:621:1: entryRuleAlternatives returns [EObject current=null] : iv_ruleAlternatives= ruleAlternatives EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:711:1: entryRuleAlternatives returns [EObject current=null] : iv_ruleAlternatives= ruleAlternatives EOF ; public final EObject entryRuleAlternatives() throws RecognitionException { EObject current = null; @@ -1563,16 +1636,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:621:54: (iv_ruleAlternatives= ruleAlternatives EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:622:2: iv_ruleAlternatives= ruleAlternatives EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:711:54: (iv_ruleAlternatives= ruleAlternatives EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:712:2: iv_ruleAlternatives= ruleAlternatives EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.8" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAlternatives_in_entryRuleAlternatives1614); + pushFollow(FOLLOW_ruleAlternatives_in_entryRuleAlternatives1599); iv_ruleAlternatives=ruleAlternatives(); _fsp--; current =iv_ruleAlternatives; - match(input,EOF,FOLLOW_EOF_in_entryRuleAlternatives1624); + match(input,EOF,FOLLOW_EOF_in_entryRuleAlternatives1609); } @@ -1590,7 +1663,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAlternatives - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:629:1: ruleAlternatives returns [EObject current=null] : (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:719:1: ruleAlternatives returns [EObject current=null] : (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) ; public final EObject ruleAlternatives() throws RecognitionException { EObject current = null; @@ -1601,16 +1674,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:631:33: ( (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:632:1: (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:721:33: ( (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:722:1: (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:632:1: (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:633:5: this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:722:1: (this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:723:5: this_Group= ruleGroup ( ( () '|' ) (lv_groups= ruleGroup ) )* { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives1671); + pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives1656); this_Group=ruleGroup(); _fsp--; @@ -1618,7 +1691,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser current = this_Group; currentNode = currentNode.getParent(); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:1: ( ( () '|' ) (lv_groups= ruleGroup ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:731:1: ( ( () '|' ) (lv_groups= ruleGroup ) )* loop15: do { int alt15=2; @@ -1631,13 +1704,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser switch (alt15) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:2: ( () '|' ) (lv_groups= ruleGroup ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:731:2: ( () '|' ) (lv_groups= ruleGroup ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:2: ( () '|' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:3: () '|' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:731:2: ( () '|' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:731:3: () '|' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:641:3: () - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:642:5: + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:731:3: () + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:732:5: { temp=factory.create("Alternatives"); @@ -1653,20 +1726,20 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,24,FOLLOW_24_in_ruleAlternatives1690); + match(input,24,FOLLOW_24_in_ruleAlternatives1675); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.1/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:657:2: (lv_groups= ruleGroup ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:660:6: lv_groups= ruleGroup + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:747:2: (lv_groups= ruleGroup ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:750:6: lv_groups= ruleGroup { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.8/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives1725); + pushFollow(FOLLOW_ruleGroup_in_ruleAlternatives1710); lv_groups=ruleGroup(); _fsp--; @@ -1677,8 +1750,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "groups", lv_groups,null); - + try { + factory.add(current, "groups", lv_groups,"Group"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -1712,7 +1789,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleGroup - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:679:1: entryRuleGroup returns [EObject current=null] : iv_ruleGroup= ruleGroup EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:1: entryRuleGroup returns [EObject current=null] : iv_ruleGroup= ruleGroup EOF ; public final EObject entryRuleGroup() throws RecognitionException { EObject current = null; @@ -1720,16 +1797,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:679:47: (iv_ruleGroup= ruleGroup EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:680:2: iv_ruleGroup= ruleGroup EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:47: (iv_ruleGroup= ruleGroup EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:776:2: iv_ruleGroup= ruleGroup EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.9" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleGroup_in_entryRuleGroup1766); + pushFollow(FOLLOW_ruleGroup_in_entryRuleGroup1749); iv_ruleGroup=ruleGroup(); _fsp--; current =iv_ruleGroup; - match(input,EOF,FOLLOW_EOF_in_entryRuleGroup1776); + match(input,EOF,FOLLOW_EOF_in_entryRuleGroup1759); } @@ -1747,7 +1824,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleGroup - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:687:1: ruleGroup returns [EObject current=null] : (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:783:1: ruleGroup returns [EObject current=null] : (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) ; public final EObject ruleGroup() throws RecognitionException { EObject current = null; @@ -1758,16 +1835,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:689:33: ( (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:690:1: (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:785:33: ( (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:786:1: (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:690:1: (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:691:5: this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:786:1: (this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:787:5: this_AbstractToken= ruleAbstractToken ( () (lv_abstractTokens= ruleAbstractToken ) )* { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.9/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup1823); + pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup1806); this_AbstractToken=ruleAbstractToken(); _fsp--; @@ -1775,7 +1852,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser current = this_AbstractToken; currentNode = currentNode.getParent(); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:699:1: ( () (lv_abstractTokens= ruleAbstractToken ) )* + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:795:1: ( () (lv_abstractTokens= ruleAbstractToken ) )* loop16: do { int alt16=2; @@ -1788,10 +1865,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser switch (alt16) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:699:2: () (lv_abstractTokens= ruleAbstractToken ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:795:2: () (lv_abstractTokens= ruleAbstractToken ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:699:2: () - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:700:5: + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:795:2: () + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:796:5: { temp=factory.create("Group"); @@ -1807,13 +1884,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:711:2: (lv_abstractTokens= ruleAbstractToken ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:714:6: lv_abstractTokens= ruleAbstractToken + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:807:2: (lv_abstractTokens= ruleAbstractToken ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:810:6: lv_abstractTokens= ruleAbstractToken { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.9/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup1866); + pushFollow(FOLLOW_ruleAbstractToken_in_ruleGroup1849); lv_abstractTokens=ruleAbstractToken(); _fsp--; @@ -1824,8 +1901,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.add(current, "abstractTokens", lv_abstractTokens,null); - + try { + factory.add(current, "abstractTokens", lv_abstractTokens,"AbstractToken"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -1859,7 +1940,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAbstractToken - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:733:1: entryRuleAbstractToken returns [EObject current=null] : iv_ruleAbstractToken= ruleAbstractToken EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:835:1: entryRuleAbstractToken returns [EObject current=null] : iv_ruleAbstractToken= ruleAbstractToken EOF ; public final EObject entryRuleAbstractToken() throws RecognitionException { EObject current = null; @@ -1867,16 +1948,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:733:55: (iv_ruleAbstractToken= ruleAbstractToken EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:734:2: iv_ruleAbstractToken= ruleAbstractToken EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:835:55: (iv_ruleAbstractToken= ruleAbstractToken EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:836:2: iv_ruleAbstractToken= ruleAbstractToken EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken1907); + pushFollow(FOLLOW_ruleAbstractToken_in_entryRuleAbstractToken1888); iv_ruleAbstractToken=ruleAbstractToken(); _fsp--; current =iv_ruleAbstractToken; - match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractToken1917); + match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractToken1898); } @@ -1894,7 +1975,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAbstractToken - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:741:1: ruleAbstractToken returns [EObject current=null] : ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:843:1: ruleAbstractToken returns [EObject current=null] : ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) ; public final EObject ruleAbstractToken() throws RecognitionException { EObject current = null; @@ -1908,13 +1989,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:743:33: ( ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:1: ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:845:33: ( ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:846:1: ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:1: ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:846:1: ( ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:846:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:846:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal ) int alt18=2; switch ( input.LA(1) ) { case RULE_ID: @@ -1929,7 +2010,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("744:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 18, 1, input); + new NoViableAltException("846:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 18, 1, input); throw nvae; } @@ -1949,16 +2030,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser break; default: NoViableAltException nvae = - new NoViableAltException("744:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 18, 0, input); + new NoViableAltException("846:2: ( (this_Assignment= ruleAssignment | this_Action= ruleAction ) | this_AbstractTerminal= ruleAbstractTerminal )", 18, 0, input); throw nvae; } switch (alt18) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:3: (this_Assignment= ruleAssignment | this_Action= ruleAction ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:846:3: (this_Assignment= ruleAssignment | this_Action= ruleAction ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:744:3: (this_Assignment= ruleAssignment | this_Action= ruleAction ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:846:3: (this_Assignment= ruleAssignment | this_Action= ruleAction ) int alt17=2; int LA17_0 = input.LA(1); @@ -1970,18 +2051,18 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("744:3: (this_Assignment= ruleAssignment | this_Action= ruleAction )", 17, 0, input); + new NoViableAltException("846:3: (this_Assignment= ruleAssignment | this_Action= ruleAction )", 17, 0, input); throw nvae; } switch (alt17) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:745:5: this_Assignment= ruleAssignment + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:847:5: this_Assignment= ruleAssignment { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAssignment_in_ruleAbstractToken1966); + pushFollow(FOLLOW_ruleAssignment_in_ruleAbstractToken1947); this_Assignment=ruleAssignment(); _fsp--; @@ -1993,12 +2074,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:755:5: this_Action= ruleAction + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:857:5: this_Action= ruleAction { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAction_in_ruleAbstractToken1993); + pushFollow(FOLLOW_ruleAction_in_ruleAbstractToken1974); this_Action=ruleAction(); _fsp--; @@ -2016,12 +2097,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:765:5: this_AbstractTerminal= ruleAbstractTerminal + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:867:5: this_AbstractTerminal= ruleAbstractTerminal { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.0/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2021); + pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAbstractToken2002); this_AbstractTerminal=ruleAbstractTerminal(); _fsp--; @@ -2035,7 +2116,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:773:2: (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:875:2: (lv_cardinality= ( ( '?' | '*' ) | '+' ) )? int alt21=2; int LA21_0 = input.LA(1); @@ -2044,9 +2125,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt21) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:6: lv_cardinality= ( ( '?' | '*' ) | '+' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:877:6: lv_cardinality= ( ( '?' | '*' ) | '+' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:21: ( ( '?' | '*' ) | '+' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:877:21: ( ( '?' | '*' ) | '+' ) int alt20=2; int LA20_0 = input.LA(1); @@ -2058,15 +2139,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("775:21: ( ( '?' | '*' ) | '+' )", 20, 0, input); + new NoViableAltException("877:21: ( ( '?' | '*' ) | '+' )", 20, 0, input); throw nvae; } switch (alt20) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:22: ( '?' | '*' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:877:22: ( '?' | '*' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:22: ( '?' | '*' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:877:22: ( '?' | '*' ) int alt19=2; int LA19_0 = input.LA(1); @@ -2078,15 +2159,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("775:22: ( '?' | '*' )", 19, 0, input); + new NoViableAltException("877:22: ( '?' | '*' )", 19, 0, input); throw nvae; } switch (alt19) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:775:23: '?' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:877:23: '?' { - match(input,25,FOLLOW_25_in_ruleAbstractToken2044); + match(input,25,FOLLOW_25_in_ruleAbstractToken2025); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.1/@terminal/@groups.0/@groups.0" /* xtext::Keyword */, "cardinality"); @@ -2094,9 +2175,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:780:6: '*' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:882:6: '*' { - match(input,26,FOLLOW_26_in_ruleAbstractToken2059); + match(input,26,FOLLOW_26_in_ruleAbstractToken2040); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.1/@terminal/@groups.0/@groups.1" /* xtext::Keyword */, "cardinality"); @@ -2110,9 +2191,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:785:6: '+' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:887:6: '+' { - match(input,27,FOLLOW_27_in_ruleAbstractToken2075); + match(input,27,FOLLOW_27_in_ruleAbstractToken2056); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.10/@alternatives/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "cardinality"); @@ -2128,8 +2209,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "cardinality", input.LT(-1),null); - + try { + factory.set(current, "cardinality", input.LT(-1),null); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } break; @@ -2157,7 +2242,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAssignment - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:804:1: entryRuleAssignment returns [EObject current=null] : iv_ruleAssignment= ruleAssignment EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:912:1: entryRuleAssignment returns [EObject current=null] : iv_ruleAssignment= ruleAssignment EOF ; public final EObject entryRuleAssignment() throws RecognitionException { EObject current = null; @@ -2165,16 +2250,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:804:52: (iv_ruleAssignment= ruleAssignment EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:805:2: iv_ruleAssignment= ruleAssignment EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:912:52: (iv_ruleAssignment= ruleAssignment EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:913:2: iv_ruleAssignment= ruleAssignment EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAssignment_in_entryRuleAssignment2124); + pushFollow(FOLLOW_ruleAssignment_in_entryRuleAssignment2103); iv_ruleAssignment=ruleAssignment(); _fsp--; current =iv_ruleAssignment; - match(input,EOF,FOLLOW_EOF_in_entryRuleAssignment2134); + match(input,EOF,FOLLOW_EOF_in_entryRuleAssignment2113); } @@ -2192,7 +2277,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAssignment - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:812:1: ruleAssignment returns [EObject current=null] : ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:920:1: ruleAssignment returns [EObject current=null] : ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) ; public final EObject ruleAssignment() throws RecognitionException { EObject current = null; @@ -2203,20 +2288,20 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:814:33: ( ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:1: ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:922:33: ( ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:923:1: ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:1: ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:2: ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:923:1: ( ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:923:2: ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) (lv_terminal= ruleAbstractTerminal ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:2: ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:3: (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:923:2: ( (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:923:3: (lv_feature= RULE_ID ) (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:815:3: (lv_feature= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:817:6: lv_feature= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:923:3: (lv_feature= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:925:6: lv_feature= RULE_ID { lv_feature=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAssignment2181); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAssignment2160); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "feature"); @@ -2226,15 +2311,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "feature", lv_feature,"ID"); - + try { + factory.set(current, "feature", lv_feature,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:831:2: (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:6: lv_operator= ( ( '+=' | '=' ) | '?=' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:943:2: (lv_operator= ( ( '+=' | '=' ) | '?=' ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:945:6: lv_operator= ( ( '+=' | '=' ) | '?=' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:18: ( ( '+=' | '=' ) | '?=' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:945:18: ( ( '+=' | '=' ) | '?=' ) int alt23=2; int LA23_0 = input.LA(1); @@ -2246,15 +2335,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("833:18: ( ( '+=' | '=' ) | '?=' )", 23, 0, input); + new NoViableAltException("945:18: ( ( '+=' | '=' ) | '?=' )", 23, 0, input); throw nvae; } switch (alt23) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:19: ( '+=' | '=' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:945:19: ( '+=' | '=' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:19: ( '+=' | '=' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:945:19: ( '+=' | '=' ) int alt22=2; int LA22_0 = input.LA(1); @@ -2266,15 +2355,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("833:19: ( '+=' | '=' )", 22, 0, input); + new NoViableAltException("945:19: ( '+=' | '=' )", 22, 0, input); throw nvae; } switch (alt22) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:833:20: '+=' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:945:20: '+=' { - match(input,28,FOLLOW_28_in_ruleAssignment2215); + match(input,28,FOLLOW_28_in_ruleAssignment2194); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0/@groups.0" /* xtext::Keyword */, "operator"); @@ -2282,9 +2371,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:838:6: '=' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:950:6: '=' { - match(input,29,FOLLOW_29_in_ruleAssignment2230); + match(input,29,FOLLOW_29_in_ruleAssignment2209); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0/@groups.1" /* xtext::Keyword */, "operator"); @@ -2298,9 +2387,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:843:6: '?=' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:955:6: '?=' { - match(input,30,FOLLOW_30_in_ruleAssignment2246); + match(input,30,FOLLOW_30_in_ruleAssignment2225); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "operator"); @@ -2316,21 +2405,25 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "operator", input.LT(-1),null); - + try { + factory.set(current, "operator", input.LT(-1),null); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:857:3: (lv_terminal= ruleAbstractTerminal ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:860:6: lv_terminal= ruleAbstractTerminal + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:973:3: (lv_terminal= ruleAbstractTerminal ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:976:6: lv_terminal= ruleAbstractTerminal { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.11/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAssignment2294); + pushFollow(FOLLOW_ruleAbstractTerminal_in_ruleAssignment2273); lv_terminal=ruleAbstractTerminal(); _fsp--; @@ -2341,8 +2434,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "terminal", lv_terminal,null); - + try { + factory.set(current, "terminal", lv_terminal,"AbstractTerminal"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } @@ -2367,7 +2464,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAction - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:879:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1001:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ; public final EObject entryRuleAction() throws RecognitionException { EObject current = null; @@ -2375,16 +2472,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:879:48: (iv_ruleAction= ruleAction EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:880:2: iv_ruleAction= ruleAction EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1001:48: (iv_ruleAction= ruleAction EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1002:2: iv_ruleAction= ruleAction EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAction_in_entryRuleAction2333); + pushFollow(FOLLOW_ruleAction_in_entryRuleAction2310); iv_ruleAction=ruleAction(); _fsp--; current =iv_ruleAction; - match(input,EOF,FOLLOW_EOF_in_entryRuleAction2343); + match(input,EOF,FOLLOW_EOF_in_entryRuleAction2320); } @@ -2402,7 +2499,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAction - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:887:1: ruleAction returns [EObject current=null] : ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1009:1: ruleAction returns [EObject current=null] : ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) ; public final EObject ruleAction() throws RecognitionException { EObject current = null; @@ -2413,35 +2510,35 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:889:33: ( ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:1: ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1011:33: ( ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:1: ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:1: ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:2: ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:1: ( ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:2: ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) '}' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:2: ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:3: ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:2: ( ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:3: ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) 'current' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:3: ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:4: ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:3: ( ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:4: ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) (lv_operator= ( '=' | '+=' ) ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:4: ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:5: ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:4: ( ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:5: ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) (lv_feature= RULE_ID ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:5: ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:6: ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:5: ( ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:6: ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) '.' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:6: ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:7: ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:6: ( ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:7: ( '{' ( 'current' '=' )? ) (lv_typeName= ruleTypeRef ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:7: ( '{' ( 'current' '=' )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:890:8: '{' ( 'current' '=' )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:7: ( '{' ( 'current' '=' )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1012:8: '{' ( 'current' '=' )? { - match(input,31,FOLLOW_31_in_ruleAction2383); + match(input,31,FOLLOW_31_in_ruleAction2360); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@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/internal/InternalXtextGrammarTestLanguage.g:894:1: ( 'current' '=' )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1016:1: ( 'current' '=' )? int alt24=2; int LA24_0 = input.LA(1); @@ -2450,13 +2547,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt24) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:894:2: 'current' '=' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1016:2: 'current' '=' { - match(input,32,FOLLOW_32_in_ruleAction2393); + match(input,32,FOLLOW_32_in_ruleAction2370); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - match(input,29,FOLLOW_29_in_ruleAction2402); + match(input,29,FOLLOW_29_in_ruleAction2379); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1" /* xtext::Keyword */, null); @@ -2469,13 +2566,13 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:902:4: (lv_typeName= ruleTypeRef ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:905:6: lv_typeName= ruleTypeRef + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1024:4: (lv_typeName= ruleTypeRef ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1027:6: lv_typeName= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleAction2439); + pushFollow(FOLLOW_ruleTypeRef_in_ruleAction2416); lv_typeName=ruleTypeRef(); _fsp--; @@ -2486,26 +2583,30 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "typeName", lv_typeName,null); - + try { + factory.set(current, "typeName", lv_typeName,"TypeRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - match(input,13,FOLLOW_13_in_ruleAction2453); + match(input,13,FOLLOW_13_in_ruleAction2430); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:923:2: (lv_feature= RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:925:6: lv_feature= RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1049:2: (lv_feature= RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1051:6: lv_feature= RULE_ID { lv_feature=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAction2475); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAction2452); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "feature"); @@ -2515,18 +2616,22 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "feature", lv_feature,"ID"); - + try { + factory.set(current, "feature", lv_feature,"ID"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:939:3: (lv_operator= ( '=' | '+=' ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:941:6: lv_operator= ( '=' | '+=' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1069:3: (lv_operator= ( '=' | '+=' ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1071:6: lv_operator= ( '=' | '+=' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:941:18: ( '=' | '+=' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1071:18: ( '=' | '+=' ) int alt25=2; int LA25_0 = input.LA(1); @@ -2538,15 +2643,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("941:18: ( '=' | '+=' )", 25, 0, input); + new NoViableAltException("1071:18: ( '=' | '+=' )", 25, 0, input); throw nvae; } switch (alt25) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:941:19: '=' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1071:19: '=' { - match(input,29,FOLLOW_29_in_ruleAction2509); + match(input,29,FOLLOW_29_in_ruleAction2486); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.0" /* xtext::Keyword */, "operator"); @@ -2554,9 +2659,9 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:946:6: '+=' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1076:6: '+=' { - match(input,28,FOLLOW_28_in_ruleAction2524); + match(input,28,FOLLOW_28_in_ruleAction2501); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal/@groups.1" /* xtext::Keyword */, "operator"); @@ -2572,22 +2677,26 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "operator", input.LT(-1),null); - + try { + factory.set(current, "operator", input.LT(-1),null); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - match(input,32,FOLLOW_32_in_ruleAction2547); + match(input,32,FOLLOW_32_in_ruleAction2524); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - match(input,33,FOLLOW_33_in_ruleAction2557); + match(input,33,FOLLOW_33_in_ruleAction2534); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.12/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -2612,7 +2721,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleAbstractTerminal - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:973:1: entryRuleAbstractTerminal returns [EObject current=null] : iv_ruleAbstractTerminal= ruleAbstractTerminal EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1109:1: entryRuleAbstractTerminal returns [EObject current=null] : iv_ruleAbstractTerminal= ruleAbstractTerminal EOF ; public final EObject entryRuleAbstractTerminal() throws RecognitionException { EObject current = null; @@ -2620,16 +2729,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:973:58: (iv_ruleAbstractTerminal= ruleAbstractTerminal EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:974:2: iv_ruleAbstractTerminal= ruleAbstractTerminal EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1109:58: (iv_ruleAbstractTerminal= ruleAbstractTerminal EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1110:2: iv_ruleAbstractTerminal= ruleAbstractTerminal EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal2592); + pushFollow(FOLLOW_ruleAbstractTerminal_in_entryRuleAbstractTerminal2567); iv_ruleAbstractTerminal=ruleAbstractTerminal(); _fsp--; current =iv_ruleAbstractTerminal; - match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractTerminal2602); + match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractTerminal2577); } @@ -2647,7 +2756,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleAbstractTerminal - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:981:1: ruleAbstractTerminal returns [EObject current=null] : ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1117:1: ruleAbstractTerminal returns [EObject current=null] : ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) ; public final EObject ruleAbstractTerminal() throws RecognitionException { EObject current = null; @@ -2662,10 +2771,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:983:33: ( ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1119:33: ( ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1120:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1120:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference ) int alt28=2; int LA28_0 = input.LA(1); @@ -2677,15 +2786,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("984:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference )", 28, 0, input); + new NoViableAltException("1120:1: ( ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) | this_CrossReference= ruleCrossReference )", 28, 0, input); throw nvae; } switch (alt28) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1120:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1120:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement ) int alt27=2; int LA27_0 = input.LA(1); @@ -2697,15 +2806,15 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("984:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement )", 27, 0, input); + new NoViableAltException("1120:2: ( (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) | this_ParenthesizedElement= ruleParenthesizedElement )", 27, 0, input); throw nvae; } switch (alt27) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1120:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:984:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1120:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall ) int alt26=2; int LA26_0 = input.LA(1); @@ -2717,18 +2826,18 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } else { NoViableAltException nvae = - new NoViableAltException("984:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall )", 26, 0, input); + new NoViableAltException("1120:3: (this_Keyword= ruleKeyword | this_RuleCall= ruleRuleCall )", 26, 0, input); throw nvae; } switch (alt26) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:985:5: this_Keyword= ruleKeyword + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1121:5: this_Keyword= ruleKeyword { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13/@alternatives/@groups.0/@groups.0/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleKeyword_in_ruleAbstractTerminal2651); + pushFollow(FOLLOW_ruleKeyword_in_ruleAbstractTerminal2626); this_Keyword=ruleKeyword(); _fsp--; @@ -2740,12 +2849,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:995:5: this_RuleCall= ruleRuleCall + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1131:5: this_RuleCall= ruleRuleCall { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13/@alternatives/@groups.0/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleRuleCall_in_ruleAbstractTerminal2678); + pushFollow(FOLLOW_ruleRuleCall_in_ruleAbstractTerminal2653); this_RuleCall=ruleRuleCall(); _fsp--; @@ -2763,12 +2872,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1005:5: this_ParenthesizedElement= ruleParenthesizedElement + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1141:5: this_ParenthesizedElement= ruleParenthesizedElement { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13/@alternatives/@groups.0/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal2706); + pushFollow(FOLLOW_ruleParenthesizedElement_in_ruleAbstractTerminal2681); this_ParenthesizedElement=ruleParenthesizedElement(); _fsp--; @@ -2786,12 +2895,12 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } break; case 2 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1015:5: this_CrossReference= ruleCrossReference + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1151:5: this_CrossReference= ruleCrossReference { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.13/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleCrossReference_in_ruleAbstractTerminal2734); + pushFollow(FOLLOW_ruleCrossReference_in_ruleAbstractTerminal2709); this_CrossReference=ruleCrossReference(); _fsp--; @@ -2823,7 +2932,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleCrossReference - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1028:1: entryRuleCrossReference returns [EObject current=null] : iv_ruleCrossReference= ruleCrossReference EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1166:1: entryRuleCrossReference returns [EObject current=null] : iv_ruleCrossReference= ruleCrossReference EOF ; public final EObject entryRuleCrossReference() throws RecognitionException { EObject current = null; @@ -2831,16 +2940,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1028:56: (iv_ruleCrossReference= ruleCrossReference EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1029:2: iv_ruleCrossReference= ruleCrossReference EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1166:56: (iv_ruleCrossReference= ruleCrossReference EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1167:2: iv_ruleCrossReference= ruleCrossReference EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleCrossReference_in_entryRuleCrossReference2768); + pushFollow(FOLLOW_ruleCrossReference_in_entryRuleCrossReference2741); iv_ruleCrossReference=ruleCrossReference(); _fsp--; current =iv_ruleCrossReference; - match(input,EOF,FOLLOW_EOF_in_entryRuleCrossReference2778); + match(input,EOF,FOLLOW_EOF_in_entryRuleCrossReference2751); } @@ -2858,7 +2967,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleCrossReference - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1036:1: ruleCrossReference returns [EObject current=null] : ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1174:1: ruleCrossReference returns [EObject current=null] : ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) ; public final EObject ruleCrossReference() throws RecognitionException { EObject current = null; @@ -2867,29 +2976,29 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser EObject temp=null; setCurrentLookahead(); resetLookahead(); try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1038:33: ( ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:1: ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1176:33: ( ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1177:1: ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:1: ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:2: ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1177:1: ( ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1177:2: ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) ']' { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:2: ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:3: ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1177:2: ( ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1177:3: ( '[' (lv_type= ruleTypeRef ) ) ( '|' ( ( RULE_ID ) ) )? { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:3: ( '[' (lv_type= ruleTypeRef ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1039:4: '[' (lv_type= ruleTypeRef ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1177:3: ( '[' (lv_type= ruleTypeRef ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1177:4: '[' (lv_type= ruleTypeRef ) { - match(input,34,FOLLOW_34_in_ruleCrossReference2814); + match(input,34,FOLLOW_34_in_ruleCrossReference2787); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1043:1: (lv_type= ruleTypeRef ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1046:6: lv_type= ruleTypeRef + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1181:1: (lv_type= ruleTypeRef ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1184:6: lv_type= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleCrossReference2848); + pushFollow(FOLLOW_ruleTypeRef_in_ruleCrossReference2821); lv_type=ruleTypeRef(); _fsp--; @@ -2900,15 +3009,19 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - factory.set(current, "type", lv_type,null); - + try { + factory.set(current, "type", lv_type,"TypeRef"); + } catch (ValueConverterException vce) { + handleValueConverterException(vce); + } + } } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1060:3: ( '|' ( ( RULE_ID ) ) )? + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1202:3: ( '|' ( ( RULE_ID ) ) )? int alt29=2; int LA29_0 = input.LA(1); @@ -2917,14 +3030,14 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } switch (alt29) { case 1 : - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1060:4: '|' ( ( RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1202:4: '|' ( ( RULE_ID ) ) { - match(input,24,FOLLOW_24_in_ruleCrossReference2863); + match(input,24,FOLLOW_24_in_ruleCrossReference2836); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1064:1: ( ( RULE_ID ) ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1067:3: ( RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1206:1: ( ( RULE_ID ) ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1209:3: ( RULE_ID ) { if (current==null) { @@ -2932,10 +3045,10 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser associateNodeWithAstElement(currentNode, current); } - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1073:1: ( RULE_ID ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1074:2: RULE_ID + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1215:1: ( RULE_ID ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1216:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCrossReference2887); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCrossReference2860); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "rule"); @@ -2954,7 +3067,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser } - match(input,35,FOLLOW_35_in_ruleCrossReference2903); + match(input,35,FOLLOW_35_in_ruleCrossReference2876); createLeafNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.14/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -2979,7 +3092,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start entryRuleParenthesizedElement - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1088:1: entryRuleParenthesizedElement returns [EObject current=null] : iv_ruleParenthesizedElement= ruleParenthesizedElement EOF ; + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1232:1: entryRuleParenthesizedElement returns [EObject current=null] : iv_ruleParenthesizedElement= ruleParenthesizedElement EOF ; public final EObject entryRuleParenthesizedElement() throws RecognitionException { EObject current = null; @@ -2987,16 +3100,16 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser try { - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1088:62: (iv_ruleParenthesizedElement= ruleParenthesizedElement EOF ) - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1089:2: iv_ruleParenthesizedElement= ruleParenthesizedElement EOF + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1232:62: (iv_ruleParenthesizedElement= ruleParenthesizedElement EOF ) + // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1233:2: iv_ruleParenthesizedElement= ruleParenthesizedElement EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xmi#//@rules.15" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement2938); + pushFollow(FOLLOW_ruleParenthesizedElement_in_entryRuleParenthesizedElement2909); iv_ruleParenthesizedElement=ruleParenthesizedElement(); _fsp--; current =iv_ruleParenthesizedElement; - match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedElement2948); + match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedElement2919); } @@ -3014,7 +3127,7 @@ public class InternalXtextGrammarTestLanguageParser extends AbstractAntlrParser // $ANTLR start ruleParenthesizedElement - // ../org.eclipse.xtext.generator.tests/src-gen/org/eclipse/xtext/parser/internal/InternalXtextGrammarTestLanguage.g:1096:1: ruleParenthesiz |

