| author | mclay | 2009-01-20 17:54:50 (EST) |
|---|---|---|
| committer | sefftinge | 2009-01-20 17:54:50 (EST) |
| commit | b0246818255168eed1399106bcd7ca32b2cfed40 (patch) (side-by-side diff) | |
| tree | 2e7c137ee4042567712aaff9da7c37fc4733a3a0 | |
| parent | 316639f81cb1b0afbaabfe9d26e24f558af7e26d (diff) | |
| download | org.eclipse.xtext-b0246818255168eed1399106bcd7ca32b2cfed40.zip org.eclipse.xtext-b0246818255168eed1399106bcd7ca32b2cfed40.tar.gz org.eclipse.xtext-b0246818255168eed1399106bcd7ca32b2cfed40.tar.bz2 | |
NEW - bug 260688: Strange Behaviour with [Content Assist] in Sample Project org.eclipse.xtext.example.domainmodel
https://bugs.eclipse.org/bugs/show_bug.cgi?id=260688
24 files changed, 1016 insertions, 762 deletions
diff --git a/examples/org.eclipse.xtext.example.domainmodel.ui/META-INF/MANIFEST.MF b/examples/org.eclipse.xtext.example.domainmodel.ui/META-INF/MANIFEST.MF index 5ba05e8..2f200aafc 100644 --- a/examples/org.eclipse.xtext.example.domainmodel.ui/META-INF/MANIFEST.MF +++ b/examples/org.eclipse.xtext.example.domainmodel.ui/META-INF/MANIFEST.MF @@ -11,3 +11,4 @@ Require-Bundle: org.eclipse.xtext.example.domainmodel, org.eclipse.xtext.ui.common, org.eclipse.xtext.log4j;bundle-version="1.2.15", org.eclipse.ui.editors;bundle-version="3.4.0" +Export-Package: org.eclipse.xtext.example diff --git a/examples/org.eclipse.xtext.example.domainmodel.ui/src-gen/org/eclipse/xtext/example/DomainmodelGenProposalProvider.java b/examples/org.eclipse.xtext.example.domainmodel.ui/src-gen/org/eclipse/xtext/example/DomainmodelGenProposalProvider.java index 89ac404..d5f5a24 100644 --- a/examples/org.eclipse.xtext.example.domainmodel.ui/src-gen/org/eclipse/xtext/example/DomainmodelGenProposalProvider.java +++ b/examples/org.eclipse.xtext.example.domainmodel.ui/src-gen/org/eclipse/xtext/example/DomainmodelGenProposalProvider.java @@ -10,7 +10,7 @@ import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.xtext.Assignment; import org.eclipse.xtext.CrossReference; import org.eclipse.xtext.RuleCall; -import org.eclipse.xtext.ui.common.editor.contentassist.AbstractProposalProvider; +import org.eclipse.xtext.ui.common.editor.contentassist.impl.AbstractProposalProvider; import org.eclipse.xtext.ui.common.editor.contentassist.IProposalProvider; import org.eclipse.xtext.ui.common.editor.contentassist.IContentAssistContext; diff --git a/examples/org.eclipse.xtext.example.domainmodel.ui/src-gen/org/eclipse/xtext/example/GenDomainmodelUiConfig.java b/examples/org.eclipse.xtext.example.domainmodel.ui/src-gen/org/eclipse/xtext/example/GenDomainmodelUiConfig.java index 3c2e55a..c1fbc67 100644 --- a/examples/org.eclipse.xtext.example.domainmodel.ui/src-gen/org/eclipse/xtext/example/GenDomainmodelUiConfig.java +++ b/examples/org.eclipse.xtext.example.domainmodel.ui/src-gen/org/eclipse/xtext/example/GenDomainmodelUiConfig.java @@ -16,6 +16,9 @@ public class GenDomainmodelUiConfig extends AbstractServiceRegistrationFactory { return scope(org.eclipse.xtext.example.IDomainmodel.SCOPE) .with(org.eclipse.xtext.ui.common.editor.contentassist.IProposalProvider.class, org.eclipse.xtext.example.DomainmodelGenProposalProvider.class) .with(org.eclipse.jface.text.contentassist.IContentAssistProcessor.class, org.eclipse.xtext.ui.common.editor.contentassist.impl.DefaultContentAssistProcessor.class) + .with(org.eclipse.xtext.ui.common.editor.contentassist.impl.IContentAssistInvocationHandler.class, org.eclipse.xtext.ui.common.editor.contentassist.impl.DefaultContentAssistMethodInvoker.class) + .with(org.eclipse.xtext.ui.common.editor.contentassist.ITemplateContentAssistProcessor.class, org.eclipse.xtext.ui.common.editor.contentassist.impl.DefaultTemplateContentAssistProcessor.class) + .with(org.eclipse.xtext.ui.common.editor.contentassist.IContentAssistCalculator.class, org.eclipse.xtext.ui.common.editor.contentassist.impl.DefaultContentAssistCalculator.class) .registrations(); } diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/DomainmodelParser.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/DomainmodelParser.java index 4a889f3..c62743f 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/DomainmodelParser.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/DomainmodelParser.java @@ -22,7 +22,7 @@ public class DomainmodelParser extends org.eclipse.xtext.parser.antlr.AbstractAn @Override protected IParseResult parse(String ruleName, ANTLRInputStream in, IAstFactory factory) { InternalDomainmodelLexer lexer = new InternalDomainmodelLexer(in); - XtextTokenStream stream = new XtextTokenStream(lexer); + XtextTokenStream stream = new XtextTokenStream(lexer, antlrTokenDefProvider); InternalDomainmodelParser parser = new InternalDomainmodelParser( stream, factory, grammarAccess.getGrammar()); parser.setTokenTypeMap(antlrTokenDefProvider.getTokenDefMap()); diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g index 1e086fe..1d4d3a4 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; import org.eclipse.xtext.conversion.ValueConverterException; @@ -62,6 +63,7 @@ import org.eclipse.xtext.conversion.ValueConverterException; + // Entry rule entryRuleFile entryRuleFile returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); } @@ -72,8 +74,10 @@ entryRuleFile returns [EObject current=null] : // Rule File ruleFile returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: (( @@ -122,6 +126,8 @@ ruleFile returns [EObject current=null] + + // Entry rule entryRuleImport entryRuleImport returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); } @@ -132,8 +138,10 @@ entryRuleImport returns [EObject current=null] : // Rule Import ruleImport returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ('import' { createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.1/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null); @@ -164,6 +172,8 @@ ruleImport returns [EObject current=null] + + // Entry rule entryRuleNamedElement entryRuleNamedElement returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.2" /* xtext::ParserRule */, currentNode); } @@ -174,8 +184,10 @@ entryRuleNamedElement returns [EObject current=null] : // Rule NamedElement ruleNamedElement returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ( { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.2/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); @@ -201,6 +213,8 @@ ruleNamedElement returns [EObject current=null] + + // Entry rule entryRulePackage entryRulePackage returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.3" /* xtext::ParserRule */, currentNode); } @@ -211,8 +225,10 @@ entryRulePackage returns [EObject current=null] : // Rule Package rulePackage returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: (((('package' { createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); @@ -273,6 +289,8 @@ rulePackage returns [EObject current=null] + + // Entry rule entryRuleType entryRuleType returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.4" /* xtext::ParserRule */, currentNode); } @@ -283,8 +301,10 @@ entryRuleType returns [EObject current=null] : // Rule Type ruleType returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ( { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.4/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); @@ -310,6 +330,8 @@ ruleType returns [EObject current=null] + + // Entry rule entryRuleDataType entryRuleDataType returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.5" /* xtext::ParserRule */, currentNode); } @@ -320,8 +342,10 @@ entryRuleDataType returns [EObject current=null] : // Rule DataType ruleDataType returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ('datatype' { createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.5/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null); @@ -352,6 +376,8 @@ ruleDataType returns [EObject current=null] + + // Entry rule entryRuleEntity entryRuleEntity returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6" /* xtext::ParserRule */, currentNode); } @@ -362,8 +388,10 @@ entryRuleEntity returns [EObject current=null] : // Rule Entity ruleEntity returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ((((('entity' { createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); @@ -442,6 +470,8 @@ ruleEntity returns [EObject current=null] + + // Entry rule entryRuleFeature entryRuleFeature returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.7" /* xtext::ParserRule */, currentNode); } @@ -452,8 +482,10 @@ entryRuleFeature returns [EObject current=null] : // Rule Feature ruleFeature returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ( { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.7/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); @@ -479,6 +511,8 @@ ruleFeature returns [EObject current=null] + + // Entry rule entryRuleStructuralFeature entryRuleStructuralFeature returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.8" /* xtext::ParserRule */, currentNode); } @@ -489,8 +523,10 @@ entryRuleStructuralFeature returns [EObject current=null] : // Rule StructuralFeature ruleStructuralFeature returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ( { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.8/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); @@ -516,6 +552,8 @@ ruleStructuralFeature returns [EObject current=null] + + // Entry rule entryRuleAttribute entryRuleAttribute returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.9" /* xtext::ParserRule */, currentNode); } @@ -526,8 +564,10 @@ entryRuleAttribute returns [EObject current=null] : // Rule Attribute ruleAttribute returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ((('attr' { createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.9/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); @@ -583,6 +623,8 @@ ruleAttribute returns [EObject current=null] + + // Entry rule entryRuleReference entryRuleReference returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10" /* xtext::ParserRule */, currentNode); } @@ -593,8 +635,10 @@ entryRuleReference returns [EObject current=null] : // Rule Reference ruleReference returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: (((('ref' { createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); @@ -669,6 +713,8 @@ ruleReference returns [EObject current=null] + + // Entry rule entryRuleOperation entryRuleOperation returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11" /* xtext::ParserRule */, currentNode); } @@ -679,8 +725,10 @@ entryRuleOperation returns [EObject current=null] : // Rule Operation ruleOperation returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: (((((('op' { createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); @@ -790,6 +838,8 @@ ruleOperation returns [EObject current=null] + + // Entry rule entryRuleParameter entryRuleParameter returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.12" /* xtext::ParserRule */, currentNode); } @@ -800,8 +850,10 @@ entryRuleParameter returns [EObject current=null] : // Rule Parameter ruleParameter returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: (( lv_name=RULE_ID @@ -851,6 +903,8 @@ ruleParameter returns [EObject current=null] + + // Entry rule entryRuleTypeRef entryRuleTypeRef returns [EObject current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.14" /* xtext::ParserRule */, currentNode); } @@ -861,8 +915,10 @@ entryRuleTypeRef returns [EObject current=null] : // Rule TypeRef ruleTypeRef returns [EObject current=null] - @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { EObject temp=null; setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ( @@ -884,6 +940,8 @@ ruleTypeRef returns [EObject current=null] + + // Entry rule entryRuleQualifiedName entryRuleQualifiedName returns [String current=null] : { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.15" /* xtext::ParserRule */, currentNode); } @@ -894,8 +952,10 @@ entryRuleQualifiedName returns [String current=null] : // Rule QualifiedName ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] - @init { setCurrentLookahead(); resetLookahead(); } - @after { resetLookahead(); }: + @init { setCurrentLookahead(); resetLookahead(); + } + @after { resetLookahead(); + }: ( this_ID=RULE_ID { $current.merge(this_ID); } @@ -923,6 +983,40 @@ ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; RULE_INT : ('0'..'9')+; diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodelLexer.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodelLexer.java index fbe50f4..30ffc46 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodelLexer.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodelLexer.java @@ -1,5 +1,3 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g 2009-01-14 17:57:10 - package org.eclipse.xtext.example.parser.antlr.internal; // Hack: Use our own Lexer superclass by means of import. @@ -345,10 +343,10 @@ public class InternalDomainmodelLexer extends Lexer { public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:926:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:926:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1020:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1020:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:926:11: ( '^' )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1020:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -357,7 +355,7 @@ public class InternalDomainmodelLexer extends Lexer { } switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:926:12: '^' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1020:12: '^' { match('^'); @@ -376,7 +374,7 @@ public class InternalDomainmodelLexer extends Lexer { recover(mse); throw mse; } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:926:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1020:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -424,10 +422,10 @@ public class InternalDomainmodelLexer extends Lexer { public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:928:10: ( ( '0' .. '9' )+ ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:928:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1022:10: ( ( '0' .. '9' )+ ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1022:12: ( '0' .. '9' )+ { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:928:12: ( '0' .. '9' )+ + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1022:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -441,7 +439,7 @@ public class InternalDomainmodelLexer extends Lexer { switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:928:13: '0' .. '9' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1022:13: '0' .. '9' { matchRange('0','9'); @@ -471,7 +469,7 @@ public class InternalDomainmodelLexer extends Lexer { public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:930:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -483,16 +481,16 @@ public class InternalDomainmodelLexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("930:1: RULE_STRING : ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' );", 6, 0, input); + new NoViableAltException("1024: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/example/parser/antlr/internal/InternalDomainmodel.g:930:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:930:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\"' ) )* loop4: do { int alt4=3; @@ -508,7 +506,7 @@ public class InternalDomainmodelLexer extends Lexer { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:930:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024: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' ) { @@ -525,7 +523,7 @@ public class InternalDomainmodelLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:930:65: ~ ( '\\\\' | '\"' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024:65: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -551,10 +549,10 @@ public class InternalDomainmodelLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:930:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024:101: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* '\\'' { match('\''); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:930:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024:106: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | ~ ( '\\\\' | '\\'' ) )* loop5: do { int alt5=3; @@ -570,7 +568,7 @@ public class InternalDomainmodelLexer extends Lexer { switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:930:108: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024: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' ) { @@ -587,7 +585,7 @@ public class InternalDomainmodelLexer extends Lexer { } break; case 2 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:930:152: ~ ( '\\\\' | '\\'' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1024:152: ~ ( '\\\\' | '\\'' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -625,12 +623,12 @@ public class InternalDomainmodelLexer extends Lexer { public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:932:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:932:19: '/*' ( options {greedy=false; } : . )* '*/' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1026:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1026:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:932:24: ( options {greedy=false; } : . )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1026:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -655,7 +653,7 @@ public class InternalDomainmodelLexer extends Lexer { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:932:52: . + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1026:52: . { matchAny(); @@ -684,12 +682,12 @@ public class InternalDomainmodelLexer extends Lexer { public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:934:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:934:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1028:17: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1028:19: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:934:24: (~ ( '\\n' | '\\r' ) )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1028:24: (~ ( '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -702,7 +700,7 @@ public class InternalDomainmodelLexer extends Lexer { switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:934:24: ~ ( '\\n' | '\\r' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1028: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(); @@ -723,7 +721,7 @@ public class InternalDomainmodelLexer extends Lexer { } } while (true); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:934:38: ( ( '\\r' )? '\\n' )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1028:38: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -732,9 +730,9 @@ public class InternalDomainmodelLexer extends Lexer { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:934:39: ( '\\r' )? '\\n' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1028:39: ( '\\r' )? '\\n' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:934:39: ( '\\r' )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1028:39: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -743,7 +741,7 @@ public class InternalDomainmodelLexer extends Lexer { } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:934:39: '\\r' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1028:39: '\\r' { match('\r'); @@ -774,10 +772,10 @@ public class InternalDomainmodelLexer extends Lexer { public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:936:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:936:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1030:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1030:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:936:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1030:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -831,8 +829,8 @@ public class InternalDomainmodelLexer extends Lexer { public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:938:16: ( . ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:938:18: . + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1032:16: ( . ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:1032:18: . { matchAny(); diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodelParser.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodelParser.java index 3db0b39..b8db666 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodelParser.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodelParser.java @@ -1,5 +1,3 @@ -// $ANTLR 3.0.1 ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g 2009-01-14 17:57:10 - package org.eclipse.xtext.example.parser.antlr.internal; import java.io.InputStream; @@ -11,6 +9,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; import org.eclipse.xtext.conversion.ValueConverterException; @@ -64,7 +63,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleFile - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:66:1: entryRuleFile returns [EObject current=null] : iv_ruleFile= ruleFile EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:68:1: entryRuleFile returns [EObject current=null] : iv_ruleFile= ruleFile EOF ; public final EObject entryRuleFile() throws RecognitionException { EObject current = null; @@ -72,16 +71,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:66:46: (iv_ruleFile= ruleFile EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:67:2: iv_ruleFile= ruleFile EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:68:46: (iv_ruleFile= ruleFile EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:69:2: iv_ruleFile= ruleFile EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.0" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleFile_in_entryRuleFile71); + pushFollow(FOLLOW_ruleFile_in_entryRuleFile72); iv_ruleFile=ruleFile(); _fsp--; current =iv_ruleFile; - match(input,EOF,FOLLOW_EOF_in_entryRuleFile81); + match(input,EOF,FOLLOW_EOF_in_entryRuleFile82); } @@ -99,7 +98,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleFile - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:74:1: ruleFile returns [EObject current=null] : ( (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:76:1: ruleFile returns [EObject current=null] : ( (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* ) ; public final EObject ruleFile() throws RecognitionException { EObject current = null; @@ -109,14 +108,15 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:76:33: ( ( (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:77:1: ( (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:80:6: ( ( (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:81:1: ( (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:77:1: ( (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:77:2: (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:81:1: ( (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:81:2: (lv_imports= ruleImport )* (lv_namedElements= ruleNamedElement )* { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:77:2: (lv_imports= ruleImport )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:81:2: (lv_imports= ruleImport )* loop1: do { int alt1=2; @@ -129,12 +129,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { switch (alt1) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:80:6: lv_imports= ruleImport + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:84:6: lv_imports= ruleImport { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.0/@alternatives/@abstractTokens.0/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleImport_in_ruleFile140); + pushFollow(FOLLOW_ruleImport_in_ruleFile141); lv_imports=ruleImport(); _fsp--; @@ -160,7 +160,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } } while (true); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:98:3: (lv_namedElements= ruleNamedElement )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:102:3: (lv_namedElements= ruleNamedElement )* loop2: do { int alt2=2; @@ -173,12 +173,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { switch (alt2) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:101:6: lv_namedElements= ruleNamedElement + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:105:6: lv_namedElements= ruleNamedElement { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.0/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleNamedElement_in_ruleFile179); + pushFollow(FOLLOW_ruleNamedElement_in_ruleFile180); lv_namedElements=ruleNamedElement(); _fsp--; @@ -211,6 +211,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -225,7 +226,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleImport - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:126:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:132:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; public final EObject entryRuleImport() throws RecognitionException { EObject current = null; @@ -233,16 +234,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:126:48: (iv_ruleImport= ruleImport EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:127:2: iv_ruleImport= ruleImport EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:132:48: (iv_ruleImport= ruleImport EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:133:2: iv_ruleImport= ruleImport EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.1" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleImport_in_entryRuleImport217); + pushFollow(FOLLOW_ruleImport_in_entryRuleImport220); iv_ruleImport=ruleImport(); _fsp--; current =iv_ruleImport; - match(input,EOF,FOLLOW_EOF_in_entryRuleImport227); + match(input,EOF,FOLLOW_EOF_in_entryRuleImport230); } @@ -260,29 +261,30 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleImport - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:134:1: ruleImport returns [EObject current=null] : ( 'import' (lv_importURI= RULE_STRING ) ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:140:1: ruleImport returns [EObject current=null] : ( 'import' (lv_importURI= RULE_STRING ) ) ; public final EObject ruleImport() throws RecognitionException { EObject current = null; Token lv_importURI=null; EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:136:33: ( ( 'import' (lv_importURI= RULE_STRING ) ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:137:1: ( 'import' (lv_importURI= RULE_STRING ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:144:6: ( ( 'import' (lv_importURI= RULE_STRING ) ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:145:1: ( 'import' (lv_importURI= RULE_STRING ) ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:137:1: ( 'import' (lv_importURI= RULE_STRING ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:137:2: 'import' (lv_importURI= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:145:1: ( 'import' (lv_importURI= RULE_STRING ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:145:2: 'import' (lv_importURI= RULE_STRING ) { - match(input,11,FOLLOW_11_in_ruleImport261); + match(input,11,FOLLOW_11_in_ruleImport264); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.1/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:141:1: (lv_importURI= RULE_STRING ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:143:6: lv_importURI= RULE_STRING + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:149:1: (lv_importURI= RULE_STRING ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:151:6: lv_importURI= RULE_STRING { lv_importURI=(Token)input.LT(1); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport282); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport285); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.1/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "importURI"); @@ -308,6 +310,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -322,7 +325,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleNamedElement - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:168:1: entryRuleNamedElement returns [EObject current=null] : iv_ruleNamedElement= ruleNamedElement EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:178:1: entryRuleNamedElement returns [EObject current=null] : iv_ruleNamedElement= ruleNamedElement EOF ; public final EObject entryRuleNamedElement() throws RecognitionException { EObject current = null; @@ -330,16 +333,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:168:54: (iv_ruleNamedElement= ruleNamedElement EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:169:2: iv_ruleNamedElement= ruleNamedElement EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:178:54: (iv_ruleNamedElement= ruleNamedElement EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:179:2: iv_ruleNamedElement= ruleNamedElement EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.2" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleNamedElement_in_entryRuleNamedElement326); + pushFollow(FOLLOW_ruleNamedElement_in_entryRuleNamedElement331); iv_ruleNamedElement=ruleNamedElement(); _fsp--; current =iv_ruleNamedElement; - match(input,EOF,FOLLOW_EOF_in_entryRuleNamedElement336); + match(input,EOF,FOLLOW_EOF_in_entryRuleNamedElement341); } @@ -357,7 +360,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleNamedElement - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:176:1: ruleNamedElement returns [EObject current=null] : (this_Package= rulePackage | this_Type= ruleType ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:186:1: ruleNamedElement returns [EObject current=null] : (this_Package= rulePackage | this_Type= ruleType ) ; public final EObject ruleNamedElement() throws RecognitionException { EObject current = null; @@ -367,11 +370,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:178:33: ( (this_Package= rulePackage | this_Type= ruleType ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:179:1: (this_Package= rulePackage | this_Type= ruleType ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:190:6: ( (this_Package= rulePackage | this_Type= ruleType ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:191:1: (this_Package= rulePackage | this_Type= ruleType ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:179:1: (this_Package= rulePackage | this_Type= ruleType ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:191:1: (this_Package= rulePackage | this_Type= ruleType ) int alt3=2; int LA3_0 = input.LA(1); @@ -383,18 +387,18 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } else { NoViableAltException nvae = - new NoViableAltException("179:1: (this_Package= rulePackage | this_Type= ruleType )", 3, 0, input); + new NoViableAltException("191:1: (this_Package= rulePackage | this_Type= ruleType )", 3, 0, input); throw nvae; } switch (alt3) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:180:5: this_Package= rulePackage + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:192:5: this_Package= rulePackage { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.2/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_rulePackage_in_ruleNamedElement383); + pushFollow(FOLLOW_rulePackage_in_ruleNamedElement388); this_Package=rulePackage(); _fsp--; @@ -406,12 +410,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } break; case 2 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:190:5: this_Type= ruleType + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:202:5: this_Type= ruleType { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.2/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleType_in_ruleNamedElement410); + pushFollow(FOLLOW_ruleType_in_ruleNamedElement415); this_Type=ruleType(); _fsp--; @@ -429,6 +433,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -443,7 +448,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRulePackage - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:205:1: entryRulePackage returns [EObject current=null] : iv_rulePackage= rulePackage EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:219:1: entryRulePackage returns [EObject current=null] : iv_rulePackage= rulePackage EOF ; public final EObject entryRulePackage() throws RecognitionException { EObject current = null; @@ -451,16 +456,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:205:49: (iv_rulePackage= rulePackage EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:206:2: iv_rulePackage= rulePackage EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:219:49: (iv_rulePackage= rulePackage EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:220:2: iv_rulePackage= rulePackage EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.3" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_rulePackage_in_entryRulePackage442); + pushFollow(FOLLOW_rulePackage_in_entryRulePackage449); iv_rulePackage=rulePackage(); _fsp--; current =iv_rulePackage; - match(input,EOF,FOLLOW_EOF_in_entryRulePackage452); + match(input,EOF,FOLLOW_EOF_in_entryRulePackage459); } @@ -478,7 +483,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start rulePackage - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:213:1: rulePackage returns [EObject current=null] : ( ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:227:1: rulePackage returns [EObject current=null] : ( ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' ) ; public final EObject rulePackage() throws RecognitionException { EObject current = null; @@ -488,33 +493,34 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:215:33: ( ( ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:1: ( ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:231:6: ( ( ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:1: ( ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:1: ( ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:2: ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:1: ( ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:2: ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) '}' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:2: ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:3: ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:2: ( ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:3: ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) (lv_namedElements= ruleNamedElement )* { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:3: ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:4: ( 'package' (lv_name= ruleQualifiedName ) ) '{' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:3: ( ( 'package' (lv_name= ruleQualifiedName ) ) '{' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:4: ( 'package' (lv_name= ruleQualifiedName ) ) '{' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:4: ( 'package' (lv_name= ruleQualifiedName ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:216:5: 'package' (lv_name= ruleQualifiedName ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:4: ( 'package' (lv_name= ruleQualifiedName ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:232:5: 'package' (lv_name= ruleQualifiedName ) { - match(input,12,FOLLOW_12_in_rulePackage489); + match(input,12,FOLLOW_12_in_rulePackage496); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:220:1: (lv_name= ruleQualifiedName ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:223:6: lv_name= ruleQualifiedName + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:236:1: (lv_name= ruleQualifiedName ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:239:6: lv_name= ruleQualifiedName { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleQualifiedName_in_rulePackage523); + pushFollow(FOLLOW_ruleQualifiedName_in_rulePackage530); lv_name=ruleQualifiedName(); _fsp--; @@ -537,14 +543,14 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - match(input,13,FOLLOW_13_in_rulePackage537); + match(input,13,FOLLOW_13_in_rulePackage544); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:245:2: (lv_namedElements= ruleNamedElement )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:261:2: (lv_namedElements= ruleNamedElement )* loop4: do { int alt4=2; @@ -557,12 +563,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { switch (alt4) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:248:6: lv_namedElements= ruleNamedElement + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:264:6: lv_namedElements= ruleNamedElement { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.3/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleNamedElement_in_rulePackage572); + pushFollow(FOLLOW_ruleNamedElement_in_rulePackage579); lv_namedElements=ruleNamedElement(); _fsp--; @@ -591,7 +597,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - match(input,14,FOLLOW_14_in_rulePackage587); + match(input,14,FOLLOW_14_in_rulePackage594); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.3/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -602,6 +608,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -616,7 +623,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleType - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:277:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:295:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ; public final EObject entryRuleType() throws RecognitionException { EObject current = null; @@ -624,16 +631,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:277:46: (iv_ruleType= ruleType EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:278:2: iv_ruleType= ruleType EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:295:46: (iv_ruleType= ruleType EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:296:2: iv_ruleType= ruleType EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.4" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleType_in_entryRuleType620); + pushFollow(FOLLOW_ruleType_in_entryRuleType629); iv_ruleType=ruleType(); _fsp--; current =iv_ruleType; - match(input,EOF,FOLLOW_EOF_in_entryRuleType630); + match(input,EOF,FOLLOW_EOF_in_entryRuleType639); } @@ -651,7 +658,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleType - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:285:1: ruleType returns [EObject current=null] : (this_Entity= ruleEntity | this_DataType= ruleDataType ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:303:1: ruleType returns [EObject current=null] : (this_Entity= ruleEntity | this_DataType= ruleDataType ) ; public final EObject ruleType() throws RecognitionException { EObject current = null; @@ -661,11 +668,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:287:33: ( (this_Entity= ruleEntity | this_DataType= ruleDataType ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:288:1: (this_Entity= ruleEntity | this_DataType= ruleDataType ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:307:6: ( (this_Entity= ruleEntity | this_DataType= ruleDataType ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:308:1: (this_Entity= ruleEntity | this_DataType= ruleDataType ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:288:1: (this_Entity= ruleEntity | this_DataType= ruleDataType ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:308:1: (this_Entity= ruleEntity | this_DataType= ruleDataType ) int alt5=2; int LA5_0 = input.LA(1); @@ -677,18 +685,18 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } else { NoViableAltException nvae = - new NoViableAltException("288:1: (this_Entity= ruleEntity | this_DataType= ruleDataType )", 5, 0, input); + new NoViableAltException("308:1: (this_Entity= ruleEntity | this_DataType= ruleDataType )", 5, 0, input); throw nvae; } switch (alt5) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:289:5: this_Entity= ruleEntity + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:309:5: this_Entity= ruleEntity { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.4/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleEntity_in_ruleType677); + pushFollow(FOLLOW_ruleEntity_in_ruleType686); this_Entity=ruleEntity(); _fsp--; @@ -700,12 +708,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } break; case 2 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:299:5: this_DataType= ruleDataType + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:319:5: this_DataType= ruleDataType { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.4/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleDataType_in_ruleType704); + pushFollow(FOLLOW_ruleDataType_in_ruleType713); this_DataType=ruleDataType(); _fsp--; @@ -723,6 +731,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -737,7 +746,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleDataType - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:314:1: entryRuleDataType returns [EObject current=null] : iv_ruleDataType= ruleDataType EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:336:1: entryRuleDataType returns [EObject current=null] : iv_ruleDataType= ruleDataType EOF ; public final EObject entryRuleDataType() throws RecognitionException { EObject current = null; @@ -745,16 +754,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:314:50: (iv_ruleDataType= ruleDataType EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:315:2: iv_ruleDataType= ruleDataType EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:336:50: (iv_ruleDataType= ruleDataType EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:337:2: iv_ruleDataType= ruleDataType EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.5" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleDataType_in_entryRuleDataType736); + pushFollow(FOLLOW_ruleDataType_in_entryRuleDataType747); iv_ruleDataType=ruleDataType(); _fsp--; current =iv_ruleDataType; - match(input,EOF,FOLLOW_EOF_in_entryRuleDataType746); + match(input,EOF,FOLLOW_EOF_in_entryRuleDataType757); } @@ -772,29 +781,30 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleDataType - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:322:1: ruleDataType returns [EObject current=null] : ( 'datatype' (lv_name= RULE_ID ) ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:344:1: ruleDataType returns [EObject current=null] : ( 'datatype' (lv_name= RULE_ID ) ) ; public final EObject ruleDataType() throws RecognitionException { EObject current = null; Token lv_name=null; EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:324:33: ( ( 'datatype' (lv_name= RULE_ID ) ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:325:1: ( 'datatype' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:348:6: ( ( 'datatype' (lv_name= RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:349:1: ( 'datatype' (lv_name= RULE_ID ) ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:325:1: ( 'datatype' (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:325:2: 'datatype' (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:349:1: ( 'datatype' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:349:2: 'datatype' (lv_name= RULE_ID ) { - match(input,15,FOLLOW_15_in_ruleDataType780); + match(input,15,FOLLOW_15_in_ruleDataType791); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.5/@alternatives/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:329:1: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:331:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:353:1: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:355:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDataType801); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDataType812); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.5/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -820,6 +830,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -834,7 +845,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleEntity - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:356:1: entryRuleEntity returns [EObject current=null] : iv_ruleEntity= ruleEntity EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:382:1: entryRuleEntity returns [EObject current=null] : iv_ruleEntity= ruleEntity EOF ; public final EObject entryRuleEntity() throws RecognitionException { EObject current = null; @@ -842,16 +853,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:356:48: (iv_ruleEntity= ruleEntity EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:357:2: iv_ruleEntity= ruleEntity EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:382:48: (iv_ruleEntity= ruleEntity EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:383:2: iv_ruleEntity= ruleEntity EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleEntity_in_entryRuleEntity845); + pushFollow(FOLLOW_ruleEntity_in_entryRuleEntity858); iv_ruleEntity=ruleEntity(); _fsp--; current =iv_ruleEntity; - match(input,EOF,FOLLOW_EOF_in_entryRuleEntity855); + match(input,EOF,FOLLOW_EOF_in_entryRuleEntity868); } @@ -869,7 +880,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleEntity - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:364:1: ruleEntity returns [EObject current=null] : ( ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:390:1: ruleEntity returns [EObject current=null] : ( ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' ) ; public final EObject ruleEntity() throws RecognitionException { EObject current = null; @@ -878,34 +889,35 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:366:33: ( ( ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:1: ( ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:394:6: ( ( ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:1: ( ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:1: ( ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:2: ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:1: ( ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:2: ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) '}' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:2: ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:3: ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:2: ( ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:3: ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) (lv_features= ruleFeature )* { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:3: ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:4: ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:3: ( ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:4: ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) '{' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:4: ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:5: ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:4: ( ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:5: ( 'entity' (lv_name= RULE_ID ) ) ( 'extends' ( ( RULE_ID ) ) )? { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:5: ( 'entity' (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:367:6: 'entity' (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:5: ( 'entity' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:6: 'entity' (lv_name= RULE_ID ) { - match(input,16,FOLLOW_16_in_ruleEntity893); + match(input,16,FOLLOW_16_in_ruleEntity906); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:371:1: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:373:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:399:1: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:401:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntity914); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntity927); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -927,7 +939,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:391:3: ( 'extends' ( ( RULE_ID ) ) )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:419:3: ( 'extends' ( ( RULE_ID ) ) )? int alt6=2; int LA6_0 = input.LA(1); @@ -936,14 +948,14 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } switch (alt6) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:391:4: 'extends' ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:419:4: 'extends' ( ( RULE_ID ) ) { - match(input,17,FOLLOW_17_in_ruleEntity936); + match(input,17,FOLLOW_17_in_ruleEntity949); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:395:1: ( ( RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:398:3: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:423:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:426:3: ( RULE_ID ) { if (current==null) { @@ -951,10 +963,10 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { associateNodeWithAstElement(currentNode, current); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:404:1: ( RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:405:2: RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:432:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:433:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntity960); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntity973); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "superType"); @@ -973,14 +985,14 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - match(input,13,FOLLOW_13_in_ruleEntity976); + match(input,13,FOLLOW_13_in_ruleEntity989); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:414:2: (lv_features= ruleFeature )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:442:2: (lv_features= ruleFeature )* loop7: do { int alt7=2; @@ -993,12 +1005,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { switch (alt7) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:417:6: lv_features= ruleFeature + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:445:6: lv_features= ruleFeature { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleFeature_in_ruleEntity1011); + pushFollow(FOLLOW_ruleFeature_in_ruleEntity1024); lv_features=ruleFeature(); _fsp--; @@ -1027,7 +1039,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - match(input,14,FOLLOW_14_in_ruleEntity1026); + match(input,14,FOLLOW_14_in_ruleEntity1039); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.6/@alternatives/@abstractTokens.1" /* xtext::Keyword */, null); @@ -1038,6 +1050,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -1052,7 +1065,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleFeature - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:446:1: entryRuleFeature returns [EObject current=null] : iv_ruleFeature= ruleFeature EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:476:1: entryRuleFeature returns [EObject current=null] : iv_ruleFeature= ruleFeature EOF ; public final EObject entryRuleFeature() throws RecognitionException { EObject current = null; @@ -1060,16 +1073,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:446:49: (iv_ruleFeature= ruleFeature EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:447:2: iv_ruleFeature= ruleFeature EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:476:49: (iv_ruleFeature= ruleFeature EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:477:2: iv_ruleFeature= ruleFeature EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.7" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleFeature_in_entryRuleFeature1059); + pushFollow(FOLLOW_ruleFeature_in_entryRuleFeature1074); iv_ruleFeature=ruleFeature(); _fsp--; current =iv_ruleFeature; - match(input,EOF,FOLLOW_EOF_in_entryRuleFeature1069); + match(input,EOF,FOLLOW_EOF_in_entryRuleFeature1084); } @@ -1087,7 +1100,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleFeature - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:454:1: ruleFeature returns [EObject current=null] : (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:484:1: ruleFeature returns [EObject current=null] : (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation ) ; public final EObject ruleFeature() throws RecognitionException { EObject current = null; @@ -1097,11 +1110,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:456:33: ( (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:457:1: (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:488:6: ( (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:489:1: (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:457:1: (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:489:1: (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation ) int alt8=2; int LA8_0 = input.LA(1); @@ -1113,18 +1127,18 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } else { NoViableAltException nvae = - new NoViableAltException("457:1: (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation )", 8, 0, input); + new NoViableAltException("489:1: (this_StructuralFeature= ruleStructuralFeature | this_Operation= ruleOperation )", 8, 0, input); throw nvae; } switch (alt8) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:458:5: this_StructuralFeature= ruleStructuralFeature + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:490:5: this_StructuralFeature= ruleStructuralFeature { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.7/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleStructuralFeature_in_ruleFeature1116); + pushFollow(FOLLOW_ruleStructuralFeature_in_ruleFeature1131); this_StructuralFeature=ruleStructuralFeature(); _fsp--; @@ -1136,12 +1150,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } break; case 2 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:468:5: this_Operation= ruleOperation + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:500:5: this_Operation= ruleOperation { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.7/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleOperation_in_ruleFeature1143); + pushFollow(FOLLOW_ruleOperation_in_ruleFeature1158); this_Operation=ruleOperation(); _fsp--; @@ -1159,6 +1173,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -1173,7 +1188,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleStructuralFeature - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:483:1: entryRuleStructuralFeature returns [EObject current=null] : iv_ruleStructuralFeature= ruleStructuralFeature EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:517:1: entryRuleStructuralFeature returns [EObject current=null] : iv_ruleStructuralFeature= ruleStructuralFeature EOF ; public final EObject entryRuleStructuralFeature() throws RecognitionException { EObject current = null; @@ -1181,16 +1196,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:483:59: (iv_ruleStructuralFeature= ruleStructuralFeature EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:484:2: iv_ruleStructuralFeature= ruleStructuralFeature EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:517:59: (iv_ruleStructuralFeature= ruleStructuralFeature EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:518:2: iv_ruleStructuralFeature= ruleStructuralFeature EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.8" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleStructuralFeature_in_entryRuleStructuralFeature1175); + pushFollow(FOLLOW_ruleStructuralFeature_in_entryRuleStructuralFeature1192); iv_ruleStructuralFeature=ruleStructuralFeature(); _fsp--; current =iv_ruleStructuralFeature; - match(input,EOF,FOLLOW_EOF_in_entryRuleStructuralFeature1185); + match(input,EOF,FOLLOW_EOF_in_entryRuleStructuralFeature1202); } @@ -1208,7 +1223,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleStructuralFeature - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:491:1: ruleStructuralFeature returns [EObject current=null] : (this_Attribute= ruleAttribute | this_Reference= ruleReference ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:525:1: ruleStructuralFeature returns [EObject current=null] : (this_Attribute= ruleAttribute | this_Reference= ruleReference ) ; public final EObject ruleStructuralFeature() throws RecognitionException { EObject current = null; @@ -1218,11 +1233,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:493:33: ( (this_Attribute= ruleAttribute | this_Reference= ruleReference ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:494:1: (this_Attribute= ruleAttribute | this_Reference= ruleReference ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:529:6: ( (this_Attribute= ruleAttribute | this_Reference= ruleReference ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:530:1: (this_Attribute= ruleAttribute | this_Reference= ruleReference ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:494:1: (this_Attribute= ruleAttribute | this_Reference= ruleReference ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:530:1: (this_Attribute= ruleAttribute | this_Reference= ruleReference ) int alt9=2; int LA9_0 = input.LA(1); @@ -1234,18 +1250,18 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } else { NoViableAltException nvae = - new NoViableAltException("494:1: (this_Attribute= ruleAttribute | this_Reference= ruleReference )", 9, 0, input); + new NoViableAltException("530:1: (this_Attribute= ruleAttribute | this_Reference= ruleReference )", 9, 0, input); throw nvae; } switch (alt9) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:495:5: this_Attribute= ruleAttribute + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:531:5: this_Attribute= ruleAttribute { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.8/@alternatives/@groups.0" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleAttribute_in_ruleStructuralFeature1232); + pushFollow(FOLLOW_ruleAttribute_in_ruleStructuralFeature1249); this_Attribute=ruleAttribute(); _fsp--; @@ -1257,12 +1273,12 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } break; case 2 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:505:5: this_Reference= ruleReference + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:541:5: this_Reference= ruleReference { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.8/@alternatives/@groups.1" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleReference_in_ruleStructuralFeature1259); + pushFollow(FOLLOW_ruleReference_in_ruleStructuralFeature1276); this_Reference=ruleReference(); _fsp--; @@ -1280,6 +1296,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -1294,7 +1311,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleAttribute - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:520:1: entryRuleAttribute returns [EObject current=null] : iv_ruleAttribute= ruleAttribute EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:558:1: entryRuleAttribute returns [EObject current=null] : iv_ruleAttribute= ruleAttribute EOF ; public final EObject entryRuleAttribute() throws RecognitionException { EObject current = null; @@ -1302,16 +1319,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:520:51: (iv_ruleAttribute= ruleAttribute EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:521:2: iv_ruleAttribute= ruleAttribute EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:558:51: (iv_ruleAttribute= ruleAttribute EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:559:2: iv_ruleAttribute= ruleAttribute EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.9" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleAttribute_in_entryRuleAttribute1291); + pushFollow(FOLLOW_ruleAttribute_in_entryRuleAttribute1310); iv_ruleAttribute=ruleAttribute(); _fsp--; current =iv_ruleAttribute; - match(input,EOF,FOLLOW_EOF_in_entryRuleAttribute1301); + match(input,EOF,FOLLOW_EOF_in_entryRuleAttribute1320); } @@ -1329,7 +1346,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleAttribute - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:528:1: ruleAttribute returns [EObject current=null] : ( ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:566:1: ruleAttribute returns [EObject current=null] : ( ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ; public final EObject ruleAttribute() throws RecognitionException { EObject current = null; @@ -1338,28 +1355,29 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:530:33: ( ( ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:531:1: ( ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:570:6: ( ( ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:571:1: ( ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:531:1: ( ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:531:2: ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:571:1: ( ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:571:2: ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:531:2: ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:531:3: ( 'attr' (lv_name= RULE_ID ) ) ':' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:571:2: ( ( 'attr' (lv_name= RULE_ID ) ) ':' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:571:3: ( 'attr' (lv_name= RULE_ID ) ) ':' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:531:3: ( 'attr' (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:531:4: 'attr' (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:571:3: ( 'attr' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:571:4: 'attr' (lv_name= RULE_ID ) { - match(input,18,FOLLOW_18_in_ruleAttribute1337); + match(input,18,FOLLOW_18_in_ruleAttribute1356); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.9/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:535:1: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:537:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:575:1: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:577:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttribute1358); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttribute1377); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.9/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -1381,20 +1399,20 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - match(input,19,FOLLOW_19_in_ruleAttribute1379); + match(input,19,FOLLOW_19_in_ruleAttribute1398); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.9/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:559:2: (lv_type= ruleTypeRef ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:562:6: lv_type= ruleTypeRef + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:599:2: (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:602:6: lv_type= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.9/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleAttribute1414); + pushFollow(FOLLOW_ruleTypeRef_in_ruleAttribute1433); lv_type=ruleTypeRef(); _fsp--; @@ -1421,6 +1439,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -1435,7 +1454,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleReference - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:587:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:629:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; public final EObject entryRuleReference() throws RecognitionException { EObject current = null; @@ -1443,16 +1462,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:587:51: (iv_ruleReference= ruleReference EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:588:2: iv_ruleReference= ruleReference EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:629:51: (iv_ruleReference= ruleReference EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:630:2: iv_ruleReference= ruleReference EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleReference_in_entryRuleReference1451); + pushFollow(FOLLOW_ruleReference_in_entryRuleReference1472); iv_ruleReference=ruleReference(); _fsp--; current =iv_ruleReference; - match(input,EOF,FOLLOW_EOF_in_entryRuleReference1461); + match(input,EOF,FOLLOW_EOF_in_entryRuleReference1482); } @@ -1470,7 +1489,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleReference - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:595:1: ruleReference returns [EObject current=null] : ( ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:637:1: ruleReference returns [EObject current=null] : ( ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? ) ; public final EObject ruleReference() throws RecognitionException { EObject current = null; @@ -1479,31 +1498,32 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:597:33: ( ( ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:1: ( ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:641:6: ( ( ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:1: ( ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:1: ( ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:2: ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:1: ( ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:2: ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) ( 'opposite' ( ( RULE_ID ) ) )? { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:2: ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:3: ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:2: ( ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:3: ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) (lv_type= ruleTypeRef ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:3: ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:4: ( 'ref' (lv_name= RULE_ID ) ) ':' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:3: ( ( 'ref' (lv_name= RULE_ID ) ) ':' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:4: ( 'ref' (lv_name= RULE_ID ) ) ':' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:4: ( 'ref' (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:598:5: 'ref' (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:4: ( 'ref' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:642:5: 'ref' (lv_name= RULE_ID ) { - match(input,20,FOLLOW_20_in_ruleReference1498); + match(input,20,FOLLOW_20_in_ruleReference1519); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:602:1: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:604:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:646:1: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:648:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleReference1519); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleReference1540); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -1525,20 +1545,20 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - match(input,19,FOLLOW_19_in_ruleReference1540); + match(input,19,FOLLOW_19_in_ruleReference1561); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:626:2: (lv_type= ruleTypeRef ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:629:6: lv_type= ruleTypeRef + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:670:2: (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:673:6: lv_type= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10/@alternatives/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleReference1575); + pushFollow(FOLLOW_ruleTypeRef_in_ruleReference1596); lv_type=ruleTypeRef(); _fsp--; @@ -1561,7 +1581,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:647:3: ( 'opposite' ( ( RULE_ID ) ) )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:691:3: ( 'opposite' ( ( RULE_ID ) ) )? int alt10=2; int LA10_0 = input.LA(1); @@ -1570,14 +1590,14 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } switch (alt10) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:647:4: 'opposite' ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:691:4: 'opposite' ( ( RULE_ID ) ) { - match(input,21,FOLLOW_21_in_ruleReference1590); + match(input,21,FOLLOW_21_in_ruleReference1611); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10/@alternatives/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:651:1: ( ( RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:654:3: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:695:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:698:3: ( RULE_ID ) { if (current==null) { @@ -1585,10 +1605,10 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { associateNodeWithAstElement(currentNode, current); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:660:1: ( RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:661:2: RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:704:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:705:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleReference1614); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleReference1635); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.10/@alternatives/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::CrossReference */, "opposite"); @@ -1611,6 +1631,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -1625,7 +1646,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleOperation - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:673:1: entryRuleOperation returns [EObject current=null] : iv_ruleOperation= ruleOperation EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:719:1: entryRuleOperation returns [EObject current=null] : iv_ruleOperation= ruleOperation EOF ; public final EObject entryRuleOperation() throws RecognitionException { EObject current = null; @@ -1633,16 +1654,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:673:51: (iv_ruleOperation= ruleOperation EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:674:2: iv_ruleOperation= ruleOperation EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:719:51: (iv_ruleOperation= ruleOperation EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:720:2: iv_ruleOperation= ruleOperation EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleOperation_in_entryRuleOperation1653); + pushFollow(FOLLOW_ruleOperation_in_entryRuleOperation1676); iv_ruleOperation=ruleOperation(); _fsp--; current =iv_ruleOperation; - match(input,EOF,FOLLOW_EOF_in_entryRuleOperation1663); + match(input,EOF,FOLLOW_EOF_in_entryRuleOperation1686); } @@ -1660,7 +1681,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleOperation - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:681:1: ruleOperation returns [EObject current=null] : ( ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:727:1: ruleOperation returns [EObject current=null] : ( ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) ) ; public final EObject ruleOperation() throws RecognitionException { EObject current = null; @@ -1671,37 +1692,38 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:683:33: ( ( ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:1: ( ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:731:6: ( ( ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:1: ( ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:1: ( ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:2: ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:1: ( ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:2: ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) (lv_type= ruleTypeRef ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:2: ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:3: ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:2: ( ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:3: ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) ':' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:3: ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:4: ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:3: ( ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:4: ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) ')' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:4: ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:5: ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:4: ( ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:5: ( ( 'op' (lv_name= RULE_ID ) ) '(' ) ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:5: ( ( 'op' (lv_name= RULE_ID ) ) '(' ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:6: ( 'op' (lv_name= RULE_ID ) ) '(' + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:5: ( ( 'op' (lv_name= RULE_ID ) ) '(' ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:6: ( 'op' (lv_name= RULE_ID ) ) '(' { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:6: ( 'op' (lv_name= RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:684:7: 'op' (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:6: ( 'op' (lv_name= RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:732:7: 'op' (lv_name= RULE_ID ) { - match(input,22,FOLLOW_22_in_ruleOperation1702); + match(input,22,FOLLOW_22_in_ruleOperation1725); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:688:1: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:690:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:736:1: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:738:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleOperation1723); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleOperation1746); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@terminal" /* xtext::RuleCall */, "name"); @@ -1723,14 +1745,14 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - match(input,23,FOLLOW_23_in_ruleOperation1744); + match(input,23,FOLLOW_23_in_ruleOperation1767); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:712:2: ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:760:2: ( (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* )? int alt12=2; int LA12_0 = input.LA(1); @@ -1739,15 +1761,15 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } switch (alt12) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:712:3: (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:760:3: (lv_params= ruleParameter ) ( ',' (lv_params= ruleParameter ) )* { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:712:3: (lv_params= ruleParameter ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:715:6: lv_params= ruleParameter + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:760:3: (lv_params= ruleParameter ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:763:6: lv_params= ruleParameter { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.0/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleParameter_in_ruleOperation1780); + pushFollow(FOLLOW_ruleParameter_in_ruleOperation1803); lv_params=ruleParameter(); _fsp--; @@ -1767,7 +1789,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:733:2: ( ',' (lv_params= ruleParameter ) )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:781:2: ( ',' (lv_params= ruleParameter ) )* loop11: do { int alt11=2; @@ -1780,19 +1802,19 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { switch (alt11) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:733:3: ',' (lv_params= ruleParameter ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:781:3: ',' (lv_params= ruleParameter ) { - match(input,24,FOLLOW_24_in_ruleOperation1794); + match(input,24,FOLLOW_24_in_ruleOperation1817); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:737:1: (lv_params= ruleParameter ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:740:6: lv_params= ruleParameter + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:785:1: (lv_params= ruleParameter ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:788:6: lv_params= ruleParameter { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1/@abstractTokens.1/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleParameter_in_ruleOperation1828); + pushFollow(FOLLOW_ruleParameter_in_ruleOperation1851); lv_params=ruleParameter(); _fsp--; @@ -1830,27 +1852,27 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - match(input,25,FOLLOW_25_in_ruleOperation1846); + match(input,25,FOLLOW_25_in_ruleOperation1869); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - match(input,19,FOLLOW_19_in_ruleOperation1856); + match(input,19,FOLLOW_19_in_ruleOperation1879); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.0/@abstractTokens.1" /* xtext::Keyword */, null); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:766:2: (lv_type= ruleTypeRef ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:769:6: lv_type= ruleTypeRef + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:814:2: (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:817:6: lv_type= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.11/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleOperation1891); + pushFollow(FOLLOW_ruleTypeRef_in_ruleOperation1914); lv_type=ruleTypeRef(); _fsp--; @@ -1877,6 +1899,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -1891,7 +1914,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleParameter - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:794:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:844:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; public final EObject entryRuleParameter() throws RecognitionException { EObject current = null; @@ -1899,16 +1922,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:794:51: (iv_ruleParameter= ruleParameter EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:795:2: iv_ruleParameter= ruleParameter EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:844:51: (iv_ruleParameter= ruleParameter EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:845:2: iv_ruleParameter= ruleParameter EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.12" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleParameter_in_entryRuleParameter1928); + pushFollow(FOLLOW_ruleParameter_in_entryRuleParameter1953); iv_ruleParameter=ruleParameter(); _fsp--; current =iv_ruleParameter; - match(input,EOF,FOLLOW_EOF_in_entryRuleParameter1938); + match(input,EOF,FOLLOW_EOF_in_entryRuleParameter1963); } @@ -1926,7 +1949,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleParameter - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:802:1: ruleParameter returns [EObject current=null] : ( (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:852:1: ruleParameter returns [EObject current=null] : ( (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) ) ; public final EObject ruleParameter() throws RecognitionException { EObject current = null; @@ -1935,18 +1958,19 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:804:33: ( ( (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:805:1: ( (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:856:6: ( ( (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:857:1: ( (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:805:1: ( (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:805:2: (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:857:1: ( (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:857:2: (lv_name= RULE_ID ) (lv_type= ruleTypeRef ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:805:2: (lv_name= RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:807:6: lv_name= RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:857:2: (lv_name= RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:859:6: lv_name= RULE_ID { lv_name=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleParameter1984); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleParameter2009); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.12/@alternatives/@abstractTokens.0/@terminal" /* xtext::RuleCall */, "name"); @@ -1965,13 +1989,13 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:825:2: (lv_type= ruleTypeRef ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:828:6: lv_type= ruleTypeRef + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:877:2: (lv_type= ruleTypeRef ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:880:6: lv_type= ruleTypeRef { currentNode=createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.12/@alternatives/@abstractTokens.1/@terminal" /* xtext::RuleCall */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_ruleParameter2029); + pushFollow(FOLLOW_ruleTypeRef_in_ruleParameter2054); lv_type=ruleTypeRef(); _fsp--; @@ -1998,6 +2022,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -2012,7 +2037,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleTypeRef - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:855:1: entryRuleTypeRef returns [EObject current=null] : iv_ruleTypeRef= ruleTypeRef EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:909:1: entryRuleTypeRef returns [EObject current=null] : iv_ruleTypeRef= ruleTypeRef EOF ; public final EObject entryRuleTypeRef() throws RecognitionException { EObject current = null; @@ -2020,16 +2045,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:855:49: (iv_ruleTypeRef= ruleTypeRef EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:856:2: iv_ruleTypeRef= ruleTypeRef EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:909:49: (iv_ruleTypeRef= ruleTypeRef EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:910:2: iv_ruleTypeRef= ruleTypeRef EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.14" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleTypeRef_in_entryRuleTypeRef2068); + pushFollow(FOLLOW_ruleTypeRef_in_entryRuleTypeRef2095); iv_ruleTypeRef=ruleTypeRef(); _fsp--; current =iv_ruleTypeRef; - match(input,EOF,FOLLOW_EOF_in_entryRuleTypeRef2078); + match(input,EOF,FOLLOW_EOF_in_entryRuleTypeRef2105); } @@ -2047,17 +2072,18 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleTypeRef - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:863:1: ruleTypeRef returns [EObject current=null] : ( ( RULE_ID ) ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:917:1: ruleTypeRef returns [EObject current=null] : ( ( RULE_ID ) ) ; public final EObject ruleTypeRef() throws RecognitionException { EObject current = null; EObject temp=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:865:33: ( ( ( RULE_ID ) ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:866:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:921:6: ( ( ( RULE_ID ) ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:922:1: ( ( RULE_ID ) ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:866:1: ( ( RULE_ID ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:869:3: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:922:1: ( ( RULE_ID ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:925:3: ( RULE_ID ) { if (current==null) { @@ -2065,10 +2091,10 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { associateNodeWithAstElement(currentNode, current); } - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:875:1: ( RULE_ID ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:876:2: RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:931:1: ( RULE_ID ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:932:2: RULE_ID { - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef2126); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeRef2153); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.14/@alternatives/@terminal" /* xtext::CrossReference */, "referenced"); @@ -2082,6 +2108,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -2096,7 +2123,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start entryRuleQualifiedName - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:888:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:946:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; @@ -2104,16 +2131,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:888:54: (iv_ruleQualifiedName= ruleQualifiedName EOF ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:889:2: iv_ruleQualifiedName= ruleQualifiedName EOF + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:946:54: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:947:2: iv_ruleQualifiedName= ruleQualifiedName EOF { currentNode = createCompositeNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.15" /* xtext::ParserRule */, currentNode); - pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName2163); + pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName2192); iv_ruleQualifiedName=ruleQualifiedName(); _fsp--; current =iv_ruleQualifiedName.getText(); - match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName2174); + match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName2203); } @@ -2131,7 +2158,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { // $ANTLR start ruleQualifiedName - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:896:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* ) ; + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:954:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* ) ; public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -2139,22 +2166,23 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { Token kw=null; setCurrentLookahead(); resetLookahead(); + try { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:898:33: ( (this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* ) ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:899:1: (this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:958:6: ( (this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* ) ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:959:1: (this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* ) { - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:899:1: (this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* ) - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:899:6: this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:959:1: (this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* ) + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:959:6: this_ID= RULE_ID (kw= '.' this_ID= RULE_ID )* { this_ID=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName2214); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName2243); current.merge(this_ID); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.15/@alternatives/@abstractTokens.0" /* xtext::RuleCall */, null); - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:906:1: (kw= '.' this_ID= RULE_ID )* + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:966:1: (kw= '.' this_ID= RULE_ID )* loop13: do { int alt13=2; @@ -2167,16 +2195,16 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { switch (alt13) { case 1 : - // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:907:2: kw= '.' this_ID= RULE_ID + // ./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g:967:2: kw= '.' this_ID= RULE_ID { kw=(Token)input.LT(1); - match(input,26,FOLLOW_26_in_ruleQualifiedName2233); + match(input,26,FOLLOW_26_in_ruleQualifiedName2262); current.merge(kw); createLeafNode("classpath:/org/eclipse/xtext/example/Domainmodel.xmi#//@rules.15/@alternatives/@abstractTokens.1/@abstractTokens.0" /* xtext::Keyword */, null); this_ID=(Token)input.LT(1); - match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName2248); + match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName2277); current.merge(this_ID); @@ -2199,6 +2227,7 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { } resetLookahead(); + } catch (RecognitionException re) { @@ -2214,86 +2243,86 @@ public class InternalDomainmodelParser extends AbstractInternalAntlrParser { - public static final BitSet FOLLOW_ruleFile_in_entryRuleFile71 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleFile81 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleImport_in_ruleFile140 = new BitSet(new long[]{0x0000000000019802L}); - public static final BitSet FOLLOW_ruleNamedElement_in_ruleFile179 = new BitSet(new long[]{0x0000000000019002L}); - 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_ruleNamedElement_in_entryRuleNamedElement326 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleNamedElement336 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rulePackage_in_ruleNamedElement383 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleType_in_ruleNamedElement410 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rulePackage_in_entryRulePackage442 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRulePackage452 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_12_in_rulePackage489 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_ruleQualifiedName_in_rulePackage523 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_13_in_rulePackage537 = new BitSet(new long[]{0x000000000001D000L}); - public static final BitSet FOLLOW_ruleNamedElement_in_rulePackage572 = new BitSet(new long[]{0x000000000001D000L}); - public static final BitSet FOLLOW_14_in_rulePackage587 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleType_in_entryRuleType620 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleType630 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleEntity_in_ruleType677 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleDataType_in_ruleType704 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType736 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleDataType746 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_15_in_ruleDataType780 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleDataType801 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleEntity_in_entryRuleEntity845 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleEntity855 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_16_in_ruleEntity893 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleEntity914 = new BitSet(new long[]{0x0000000000022000L}); - public static final BitSet FOLLOW_17_in_ruleEntity936 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleEntity960 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_13_in_ruleEntity976 = new BitSet(new long[]{0x0000000000544000L}); - public static final BitSet FOLLOW_ruleFeature_in_ruleEntity1011 = new BitSet(new long[]{0x0000000000544000L}); - public static final BitSet FOLLOW_14_in_ruleEntity1026 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleFeature_in_entryRuleFeature1059 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleFeature1069 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleStructuralFeature_in_ruleFeature1116 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleOperation_in_ruleFeature1143 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleStructuralFeature_in_entryRuleStructuralFeature1175 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleStructuralFeature1185 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAttribute_in_ruleStructuralFeature1232 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleReference_in_ruleStructuralFeature1259 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleAttribute_in_entryRuleAttribute1291 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleAttribute1301 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_18_in_ruleAttribute1337 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleAttribute1358 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_ruleAttribute1379 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_ruleTypeRef_in_ruleAttribute1414 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleReference_in_entryRuleReference1451 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleReference1461 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_20_in_ruleReference1498 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleReference1519 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_ruleReference1540 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_ruleTypeRef_in_ruleReference1575 = new BitSet(new long[]{0x0000000000200002L}); - public static final BitSet FOLLOW_21_in_ruleReference1590 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleReference1614 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleOperation_in_entryRuleOperation1653 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleOperation1663 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_22_in_ruleOperation1702 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleOperation1723 = new BitSet(new long[]{0x0000000000800000L}); - public static final BitSet FOLLOW_23_in_ruleOperation1744 = new BitSet(new long[]{0x0000000002000020L}); - public static final BitSet FOLLOW_ruleParameter_in_ruleOperation1780 = new BitSet(new long[]{0x0000000003000000L}); - public static final BitSet FOLLOW_24_in_ruleOperation1794 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_ruleParameter_in_ruleOperation1828 = new BitSet(new long[]{0x0000000003000000L}); - public static final BitSet FOLLOW_25_in_ruleOperation1846 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_ruleOperation1856 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_ruleTypeRef_in_ruleOperation1891 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter1928 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleParameter1938 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleParameter1984 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_ruleTypeRef_in_ruleParameter2029 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTypeRef_in_entryRuleTypeRef2068 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleTypeRef2078 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef2126 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName2163 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName2174 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName2214 = new BitSet(new long[]{0x0000000004000002L}); - public static final BitSet FOLLOW_26_in_ruleQualifiedName2233 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName2248 = new BitSet(new long[]{0x0000000004000002L}); + public static final BitSet FOLLOW_ruleFile_in_entryRuleFile72 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFile82 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleImport_in_ruleFile141 = new BitSet(new long[]{0x0000000000019802L}); + public static final BitSet FOLLOW_ruleNamedElement_in_ruleFile180 = new BitSet(new long[]{0x0000000000019002L}); + public static final BitSet FOLLOW_ruleImport_in_entryRuleImport220 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleImport230 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_ruleImport264 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleImport285 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleNamedElement_in_entryRuleNamedElement331 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleNamedElement341 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePackage_in_ruleNamedElement388 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleType_in_ruleNamedElement415 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePackage_in_entryRulePackage449 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRulePackage459 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_12_in_rulePackage496 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_ruleQualifiedName_in_rulePackage530 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_rulePackage544 = new BitSet(new long[]{0x000000000001D000L}); + public static final BitSet FOLLOW_ruleNamedElement_in_rulePackage579 = new BitSet(new long[]{0x000000000001D000L}); + public static final BitSet FOLLOW_14_in_rulePackage594 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleType_in_entryRuleType629 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleType639 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEntity_in_ruleType686 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDataType_in_ruleType713 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType747 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleDataType757 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_15_in_ruleDataType791 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleDataType812 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEntity_in_entryRuleEntity858 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleEntity868 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_16_in_ruleEntity906 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleEntity927 = new BitSet(new long[]{0x0000000000022000L}); + public static final BitSet FOLLOW_17_in_ruleEntity949 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleEntity973 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleEntity989 = new BitSet(new long[]{0x0000000000544000L}); + public static final BitSet FOLLOW_ruleFeature_in_ruleEntity1024 = new BitSet(new long[]{0x0000000000544000L}); + public static final BitSet FOLLOW_14_in_ruleEntity1039 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFeature_in_entryRuleFeature1074 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFeature1084 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleStructuralFeature_in_ruleFeature1131 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleOperation_in_ruleFeature1158 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleStructuralFeature_in_entryRuleStructuralFeature1192 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleStructuralFeature1202 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAttribute_in_ruleStructuralFeature1249 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleReference_in_ruleStructuralFeature1276 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAttribute_in_entryRuleAttribute1310 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAttribute1320 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_18_in_ruleAttribute1356 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleAttribute1377 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_19_in_ruleAttribute1398 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_ruleTypeRef_in_ruleAttribute1433 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleReference_in_entryRuleReference1472 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleReference1482 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_20_in_ruleReference1519 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleReference1540 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_19_in_ruleReference1561 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_ruleTypeRef_in_ruleReference1596 = new BitSet(new long[]{0x0000000000200002L}); + public static final BitSet FOLLOW_21_in_ruleReference1611 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleReference1635 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleOperation_in_entryRuleOperation1676 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleOperation1686 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_22_in_ruleOperation1725 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleOperation1746 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_23_in_ruleOperation1767 = new BitSet(new long[]{0x0000000002000020L}); + public static final BitSet FOLLOW_ruleParameter_in_ruleOperation1803 = new BitSet(new long[]{0x0000000003000000L}); + public static final BitSet FOLLOW_24_in_ruleOperation1817 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_ruleParameter_in_ruleOperation1851 = new BitSet(new long[]{0x0000000003000000L}); + public static final BitSet FOLLOW_25_in_ruleOperation1869 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_19_in_ruleOperation1879 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_ruleTypeRef_in_ruleOperation1914 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter1953 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleParameter1963 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleParameter2009 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_ruleTypeRef_in_ruleParameter2054 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleTypeRef_in_entryRuleTypeRef2095 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleTypeRef2105 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleTypeRef2153 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName2192 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName2203 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName2243 = new BitSet(new long[]{0x0000000004000002L}); + public static final BitSet FOLLOW_26_in_ruleQualifiedName2262 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName2277 = new BitSet(new long[]{0x0000000004000002L}); }
\ No newline at end of file diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel__.g b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel__.g index 4cc3275..9d8acc3 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel__.g +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel__.g @@ -24,25 +24,25 @@ T24 : ',' ; T25 : ')' ; T26 : '.' ; -// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 926 +// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 1020 RULE_ID : ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; -// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 928 +// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 1022 RULE_INT : ('0'..'9')+; -// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 930 +// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 1024 RULE_STRING : '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'"') )* '"' | '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''; -// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 932 +// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 1026 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 934 +// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 1028 RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 936 +// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 1030 RULE_WS : (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}; -// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 938 +// $ANTLR src "./src-gen/org/eclipse/xtext/example/parser/antlr/internal/InternalDomainmodel.g" 1032 RULE_ANY_OTHER : .; diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/DomainmodelDelimiters.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/DomainmodelDelimiters.java index efe36b3..f0e9a99 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/DomainmodelDelimiters.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/DomainmodelDelimiters.java @@ -14,14 +14,13 @@ public final class DomainmodelDelimiters { throw new UnsupportedOperationException("Utility classes may not be initialized"); } - // TODO do not use IDConsumer internals public static ICharacterClass keyword$12$Delimiter = XtextBuiltinIDConsumer.IDConsumer$$2; - + public static ISequenceMatcher ruleCall$14$Delimiter = ISequenceMatcher.Factory.nullMatcher(); - + public static ICharacterClass keyword$29$Delimiter = ICharacterClass.Factory.nullClass(); - + public static ISequenceMatcher ruleCall$43$Delimiter = new SetBasedKeywordMatcher( "import", "package", "datatype", "entity", "extends", "attr", "ref", "opposite", "op"); - + } diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/DomainmodelParserConfiguration.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/DomainmodelParserConfiguration.java index a138a9b..a507e69 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/DomainmodelParserConfiguration.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/DomainmodelParserConfiguration.java @@ -73,8 +73,7 @@ public class DomainmodelParserConfiguration extends AbstractParserConfiguration public void createNonTerminalConsumers() { getXtextBuiltinConfiguration().createNonTerminalConsumers(); fileConsumer = new DomainmodelFileConsumer( - getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(), - new ITerminalConsumer[]{ getWsConsumer(), getMlCommentConsumer(), getSlCommentConsumer() } + getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(), null ); importConsumer = new DomainmodelImportConsumer( getInput(), getMarkerFactory(), getTokenAcceptor(), getHiddenTokenHandler(), getConsumerUtil(), null @@ -175,50 +174,36 @@ public class DomainmodelParserConfiguration extends AbstractParserConfiguration getImportConsumer().setKeyword$2$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); getImportConsumer().setRuleCall$4$Delimiter(DomainmodelDelimiters.ruleCall$14$Delimiter); + getPackageConsumer().setKeyword$5$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); getPackageConsumer().setKeyword$8$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); getPackageConsumer().setKeyword$11$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); - getPackageConsumer().setKeyword$5$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); getDataTypeConsumer().setKeyword$2$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); getDataTypeConsumer().setRuleCall$4$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); - getEntityConsumer().setRuleCall$8$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); - getEntityConsumer().setKeyword$17$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); getEntityConsumer().setCrossReference$12$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); - getEntityConsumer().setKeyword$14$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); - getEntityConsumer().setKeyword$10$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); getEntityConsumer().setKeyword$6$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); - getAttributeConsumer().setRuleCall$6$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); - getAttributeConsumer().setKeyword$7$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); + getEntityConsumer().setKeyword$10$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); + getEntityConsumer().setKeyword$14$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); + getEntityConsumer().setKeyword$17$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); + getEntityConsumer().setRuleCall$8$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); getAttributeConsumer().setKeyword$4$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); - getReferenceConsumer().setKeyword$12$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); - getReferenceConsumer().setRuleCall$7$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); - getReferenceConsumer().setKeyword$8$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); + getAttributeConsumer().setKeyword$7$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); + getAttributeConsumer().setRuleCall$6$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); getReferenceConsumer().setCrossReference$14$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); getReferenceConsumer().setKeyword$5$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); - getOperationConsumer().setRuleCall$9$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); - getOperationConsumer().setKeyword$18$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); + getReferenceConsumer().setKeyword$8$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); + getReferenceConsumer().setKeyword$12$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); + getReferenceConsumer().setRuleCall$7$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); + getOperationConsumer().setKeyword$7$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); getOperationConsumer().setKeyword$10$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); getOperationConsumer().setKeyword$15$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); - getOperationConsumer().setKeyword$7$Delimiter(DomainmodelDelimiters.keyword$12$Delimiter); + getOperationConsumer().setKeyword$18$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); getOperationConsumer().setKeyword$19$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); + getOperationConsumer().setRuleCall$9$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); getParameterConsumer().setRuleCall$3$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); getTypeRefConsumer().setCrossReference$2$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); getQualifiedNameConsumer().setKeyword$4$Delimiter(DomainmodelDelimiters.keyword$29$Delimiter); - getQualifiedNameConsumer().setRuleCall$5$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); getQualifiedNameConsumer().setRuleCall$2$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); - // TODO remove workaround - getIdConsumer().initFields(this); - // TODO remove workaround - getIntConsumer().initFields(this); - // TODO remove workaround - getStringConsumer().initFields(this); - // TODO remove workaround - getMlCommentConsumer().initFields(this); - // TODO remove workaround - getSlCommentConsumer().initFields(this); - // TODO remove workaround - getWsConsumer().initFields(this); - // TODO remove workaround - getAnyOtherConsumer().initFields(this); + getQualifiedNameConsumer().setRuleCall$5$Delimiter(DomainmodelDelimiters.ruleCall$43$Delimiter); } // TODO collect superGrammars transitive diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelAttributeConsumer.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelAttributeConsumer.java index f8c61fd..db94c03 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelAttributeConsumer.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelAttributeConsumer.java @@ -27,19 +27,19 @@ public final class DomainmodelAttributeConsumer extends NonTerminalConsumer { private XtextBuiltinIDConsumer idConsumer; private DomainmodelTypeRefConsumer typeRefConsumer; - private ISequenceMatcher ruleCall$6$Delimiter; + private ICharacterClass keyword$4$Delimiter; private ICharacterClass keyword$7$Delimiter; - private ICharacterClass keyword$4$Delimiter; + private ISequenceMatcher ruleCall$6$Delimiter; public DomainmodelAttributeConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory, IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil, ITerminalConsumer[] hiddenTokens) { super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens); - ruleCall$6$Delimiter = ISequenceMatcher.Factory.nullMatcher(); - keyword$7$Delimiter = ICharacterClass.Factory.nullClass(); keyword$4$Delimiter = ICharacterClass.Factory.nullClass(); + keyword$7$Delimiter = ICharacterClass.Factory.nullClass(); + ruleCall$6$Delimiter = ISequenceMatcher.Factory.nullMatcher(); } protected boolean doConsume() throws Exception { @@ -108,12 +108,12 @@ public final class DomainmodelAttributeConsumer extends NonTerminalConsumer { this.typeRefConsumer = typeRefConsumer; } - public ISequenceMatcher getRuleCall$6$Delimiter() { - return ruleCall$6$Delimiter; + public ICharacterClass getKeyword$4$Delimiter() { + return keyword$4$Delimiter; } - public void setRuleCall$6$Delimiter(ISequenceMatcher matcher) { - ruleCall$6$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); + public void setKeyword$4$Delimiter(ICharacterClass characterClass) { + keyword$4$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } public ICharacterClass getKeyword$7$Delimiter() { @@ -124,12 +124,12 @@ public final class DomainmodelAttributeConsumer extends NonTerminalConsumer { keyword$7$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ICharacterClass getKeyword$4$Delimiter() { - return keyword$4$Delimiter; + public ISequenceMatcher getRuleCall$6$Delimiter() { + return ruleCall$6$Delimiter; } - public void setKeyword$4$Delimiter(ICharacterClass characterClass) { - keyword$4$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + public void setRuleCall$6$Delimiter(ISequenceMatcher matcher) { + ruleCall$6$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); } } diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelEntityConsumer.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelEntityConsumer.java index cef6b46..099d3b9 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelEntityConsumer.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelEntityConsumer.java @@ -27,28 +27,28 @@ public final class DomainmodelEntityConsumer extends NonTerminalConsumer { private DomainmodelFeatureConsumer featureConsumer; private XtextBuiltinIDConsumer idConsumer; - private ISequenceMatcher ruleCall$8$Delimiter; + private ISequenceMatcher crossReference$12$Delimiter; - private ICharacterClass keyword$17$Delimiter; + private ICharacterClass keyword$6$Delimiter; - private ISequenceMatcher crossReference$12$Delimiter; + private ICharacterClass keyword$10$Delimiter; private ICharacterClass keyword$14$Delimiter; - private ICharacterClass keyword$10$Delimiter; + private ICharacterClass keyword$17$Delimiter; - private ICharacterClass keyword$6$Delimiter; + private ISequenceMatcher ruleCall$8$Delimiter; public DomainmodelEntityConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory, IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil, ITerminalConsumer[] hiddenTokens) { super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens); - ruleCall$8$Delimiter = ISequenceMatcher.Factory.nullMatcher(); - keyword$17$Delimiter = ICharacterClass.Factory.nullClass(); crossReference$12$Delimiter = ISequenceMatcher.Factory.nullMatcher(); - keyword$14$Delimiter = ICharacterClass.Factory.nullClass(); - keyword$10$Delimiter = ICharacterClass.Factory.nullClass(); keyword$6$Delimiter = ICharacterClass.Factory.nullClass(); + keyword$10$Delimiter = ICharacterClass.Factory.nullClass(); + keyword$14$Delimiter = ICharacterClass.Factory.nullClass(); + keyword$17$Delimiter = ICharacterClass.Factory.nullClass(); + ruleCall$8$Delimiter = ISequenceMatcher.Factory.nullMatcher(); } protected boolean doConsume() throws Exception { @@ -162,28 +162,28 @@ public final class DomainmodelEntityConsumer extends NonTerminalConsumer { this.idConsumer = idConsumer; } - public ISequenceMatcher getRuleCall$8$Delimiter() { - return ruleCall$8$Delimiter; + public ISequenceMatcher getCrossReference$12$Delimiter() { + return crossReference$12$Delimiter; } - public void setRuleCall$8$Delimiter(ISequenceMatcher matcher) { - ruleCall$8$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); + public void setCrossReference$12$Delimiter(ISequenceMatcher matcher) { + crossReference$12$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); } - public ICharacterClass getKeyword$17$Delimiter() { - return keyword$17$Delimiter; + public ICharacterClass getKeyword$6$Delimiter() { + return keyword$6$Delimiter; } - public void setKeyword$17$Delimiter(ICharacterClass characterClass) { - keyword$17$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + public void setKeyword$6$Delimiter(ICharacterClass characterClass) { + keyword$6$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ISequenceMatcher getCrossReference$12$Delimiter() { - return crossReference$12$Delimiter; + public ICharacterClass getKeyword$10$Delimiter() { + return keyword$10$Delimiter; } - public void setCrossReference$12$Delimiter(ISequenceMatcher matcher) { - crossReference$12$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); + public void setKeyword$10$Delimiter(ICharacterClass characterClass) { + keyword$10$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } public ICharacterClass getKeyword$14$Delimiter() { @@ -194,20 +194,20 @@ public final class DomainmodelEntityConsumer extends NonTerminalConsumer { keyword$14$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ICharacterClass getKeyword$10$Delimiter() { - return keyword$10$Delimiter; + public ICharacterClass getKeyword$17$Delimiter() { + return keyword$17$Delimiter; } - public void setKeyword$10$Delimiter(ICharacterClass characterClass) { - keyword$10$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + public void setKeyword$17$Delimiter(ICharacterClass characterClass) { + keyword$17$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ICharacterClass getKeyword$6$Delimiter() { - return keyword$6$Delimiter; + public ISequenceMatcher getRuleCall$8$Delimiter() { + return ruleCall$8$Delimiter; } - public void setKeyword$6$Delimiter(ICharacterClass characterClass) { - keyword$6$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + public void setRuleCall$8$Delimiter(ISequenceMatcher matcher) { + ruleCall$8$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); } } diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelOperationConsumer.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelOperationConsumer.java index 4361457..da5c32d 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelOperationConsumer.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelOperationConsumer.java @@ -29,28 +29,28 @@ public final class DomainmodelOperationConsumer extends NonTerminalConsumer { private DomainmodelParameterConsumer parameterConsumer; private DomainmodelTypeRefConsumer typeRefConsumer; - private ISequenceMatcher ruleCall$9$Delimiter; - - private ICharacterClass keyword$18$Delimiter; + private ICharacterClass keyword$7$Delimiter; private ICharacterClass keyword$10$Delimiter; private ICharacterClass keyword$15$Delimiter; - private ICharacterClass keyword$7$Delimiter; + private ICharacterClass keyword$18$Delimiter; private ICharacterClass keyword$19$Delimiter; + private ISequenceMatcher ruleCall$9$Delimiter; + public DomainmodelOperationConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory, IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil, ITerminalConsumer[] hiddenTokens) { super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens); - ruleCall$9$Delimiter = ISequenceMatcher.Factory.nullMatcher(); - keyword$18$Delimiter = ICharacterClass.Factory.nullClass(); + keyword$7$Delimiter = ICharacterClass.Factory.nullClass(); keyword$10$Delimiter = ICharacterClass.Factory.nullClass(); keyword$15$Delimiter = ICharacterClass.Factory.nullClass(); - keyword$7$Delimiter = ICharacterClass.Factory.nullClass(); + keyword$18$Delimiter = ICharacterClass.Factory.nullClass(); keyword$19$Delimiter = ICharacterClass.Factory.nullClass(); + ruleCall$9$Delimiter = ISequenceMatcher.Factory.nullMatcher(); } protected boolean doConsume() throws Exception { @@ -195,20 +195,12 @@ public final class DomainmodelOperationConsumer extends NonTerminalConsumer { this.typeRefConsumer = typeRefConsumer; } - public ISequenceMatcher getRuleCall$9$Delimiter() { - return ruleCall$9$Delimiter; - } - - public void setRuleCall$9$Delimiter(ISequenceMatcher matcher) { - ruleCall$9$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); - } - - public ICharacterClass getKeyword$18$Delimiter() { - return keyword$18$Delimiter; + public ICharacterClass getKeyword$7$Delimiter() { + return keyword$7$Delimiter; } - public void setKeyword$18$Delimiter(ICharacterClass characterClass) { - keyword$18$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + public void setKeyword$7$Delimiter(ICharacterClass characterClass) { + keyword$7$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } public ICharacterClass getKeyword$10$Delimiter() { @@ -227,12 +219,12 @@ public final class DomainmodelOperationConsumer extends NonTerminalConsumer { keyword$15$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ICharacterClass getKeyword$7$Delimiter() { - return keyword$7$Delimiter; + public ICharacterClass getKeyword$18$Delimiter() { + return keyword$18$Delimiter; } - public void setKeyword$7$Delimiter(ICharacterClass characterClass) { - keyword$7$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + public void setKeyword$18$Delimiter(ICharacterClass characterClass) { + keyword$18$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } public ICharacterClass getKeyword$19$Delimiter() { @@ -243,4 +235,12 @@ public final class DomainmodelOperationConsumer extends NonTerminalConsumer { keyword$19$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } + public ISequenceMatcher getRuleCall$9$Delimiter() { + return ruleCall$9$Delimiter; + } + + public void setRuleCall$9$Delimiter(ISequenceMatcher matcher) { + ruleCall$9$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); + } + } diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelPackageConsumer.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelPackageConsumer.java index b278066..45fdc05 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelPackageConsumer.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelPackageConsumer.java @@ -27,19 +27,19 @@ public final class DomainmodelPackageConsumer extends NonTerminalConsumer { private DomainmodelNamedElementConsumer namedElementConsumer; private DomainmodelQualifiedNameConsumer qualifiedNameConsumer; + private ICharacterClass keyword$5$Delimiter; + private ICharacterClass keyword$8$Delimiter; private ICharacterClass keyword$11$Delimiter; - private ICharacterClass keyword$5$Delimiter; - public DomainmodelPackageConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory, IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil, ITerminalConsumer[] hiddenTokens) { super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens); + keyword$5$Delimiter = ICharacterClass.Factory.nullClass(); keyword$8$Delimiter = ICharacterClass.Factory.nullClass(); keyword$11$Delimiter = ICharacterClass.Factory.nullClass(); - keyword$5$Delimiter = ICharacterClass.Factory.nullClass(); } protected boolean doConsume() throws Exception { @@ -121,6 +121,14 @@ public final class DomainmodelPackageConsumer extends NonTerminalConsumer { this.qualifiedNameConsumer = qualifiedNameConsumer; } + public ICharacterClass getKeyword$5$Delimiter() { + return keyword$5$Delimiter; + } + + public void setKeyword$5$Delimiter(ICharacterClass characterClass) { + keyword$5$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + } + public ICharacterClass getKeyword$8$Delimiter() { return keyword$8$Delimiter; } @@ -137,12 +145,4 @@ public final class DomainmodelPackageConsumer extends NonTerminalConsumer { keyword$11$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ICharacterClass getKeyword$5$Delimiter() { - return keyword$5$Delimiter; - } - - public void setKeyword$5$Delimiter(ICharacterClass characterClass) { - keyword$5$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); - } - } diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelQualifiedNameConsumer.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelQualifiedNameConsumer.java index 64a5160..f536b29 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelQualifiedNameConsumer.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelQualifiedNameConsumer.java @@ -27,17 +27,17 @@ public final class DomainmodelQualifiedNameConsumer extends NonTerminalConsumer private ICharacterClass keyword$4$Delimiter; - private ISequenceMatcher ruleCall$5$Delimiter; - private ISequenceMatcher ruleCall$2$Delimiter; + private ISequenceMatcher ruleCall$5$Delimiter; + public DomainmodelQualifiedNameConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory, IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil, ITerminalConsumer[] hiddenTokens) { super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens); keyword$4$Delimiter = ICharacterClass.Factory.nullClass(); - ruleCall$5$Delimiter = ISequenceMatcher.Factory.nullMatcher(); ruleCall$2$Delimiter = ISequenceMatcher.Factory.nullMatcher(); + ruleCall$5$Delimiter = ISequenceMatcher.Factory.nullMatcher(); } protected boolean doConsume() throws Exception { @@ -112,14 +112,6 @@ public final class DomainmodelQualifiedNameConsumer extends NonTerminalConsumer keyword$4$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ISequenceMatcher getRuleCall$5$Delimiter() { - return ruleCall$5$Delimiter; - } - - public void setRuleCall$5$Delimiter(ISequenceMatcher matcher) { - ruleCall$5$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); - } - public ISequenceMatcher getRuleCall$2$Delimiter() { return ruleCall$2$Delimiter; } @@ -128,4 +120,12 @@ public final class DomainmodelQualifiedNameConsumer extends NonTerminalConsumer ruleCall$2$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); } + public ISequenceMatcher getRuleCall$5$Delimiter() { + return ruleCall$5$Delimiter; + } + + public void setRuleCall$5$Delimiter(ISequenceMatcher matcher) { + ruleCall$5$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); + } + } diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelReferenceConsumer.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelReferenceConsumer.java index 525fd51..e3ac949 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelReferenceConsumer.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/parser/packrat/consumers/DomainmodelReferenceConsumer.java @@ -27,25 +27,25 @@ public final class DomainmodelReferenceConsumer extends NonTerminalConsumer { private XtextBuiltinIDConsumer idConsumer; private DomainmodelTypeRefConsumer typeRefConsumer; - private ICharacterClass keyword$12$Delimiter; + private ISequenceMatcher crossReference$14$Delimiter; - private ISequenceMatcher ruleCall$7$Delimiter; + private ICharacterClass keyword$5$Delimiter; private ICharacterClass keyword$8$Delimiter; - private ISequenceMatcher crossReference$14$Delimiter; + private ICharacterClass keyword$12$Delimiter; - private ICharacterClass keyword$5$Delimiter; + private ISequenceMatcher ruleCall$7$Delimiter; public DomainmodelReferenceConsumer(ICharSequenceWithOffset input, IMarkerFactory markerFactory, IParsedTokenAcceptor tokenAcceptor, IHiddenTokenHandler hiddenTokenHandler, IConsumerUtility consumerUtil, ITerminalConsumer[] hiddenTokens) { super(input, markerFactory, tokenAcceptor, hiddenTokenHandler, consumerUtil, hiddenTokens); - keyword$12$Delimiter = ICharacterClass.Factory.nullClass(); - ruleCall$7$Delimiter = ISequenceMatcher.Factory.nullMatcher(); - keyword$8$Delimiter = ICharacterClass.Factory.nullClass(); crossReference$14$Delimiter = ISequenceMatcher.Factory.nullMatcher(); keyword$5$Delimiter = ICharacterClass.Factory.nullClass(); + keyword$8$Delimiter = ICharacterClass.Factory.nullClass(); + keyword$12$Delimiter = ICharacterClass.Factory.nullClass(); + ruleCall$7$Delimiter = ISequenceMatcher.Factory.nullMatcher(); } protected boolean doConsume() throws Exception { @@ -146,20 +146,20 @@ public final class DomainmodelReferenceConsumer extends NonTerminalConsumer { this.typeRefConsumer = typeRefConsumer; } - public ICharacterClass getKeyword$12$Delimiter() { - return keyword$12$Delimiter; + public ISequenceMatcher getCrossReference$14$Delimiter() { + return crossReference$14$Delimiter; } - public void setKeyword$12$Delimiter(ICharacterClass characterClass) { - keyword$12$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + public void setCrossReference$14$Delimiter(ISequenceMatcher matcher) { + crossReference$14$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); } - public ISequenceMatcher getRuleCall$7$Delimiter() { - return ruleCall$7$Delimiter; + public ICharacterClass getKeyword$5$Delimiter() { + return keyword$5$Delimiter; } - public void setRuleCall$7$Delimiter(ISequenceMatcher matcher) { - ruleCall$7$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); + public void setKeyword$5$Delimiter(ICharacterClass characterClass) { + keyword$5$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } public ICharacterClass getKeyword$8$Delimiter() { @@ -170,20 +170,20 @@ public final class DomainmodelReferenceConsumer extends NonTerminalConsumer { keyword$8$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ISequenceMatcher getCrossReference$14$Delimiter() { - return crossReference$14$Delimiter; + public ICharacterClass getKeyword$12$Delimiter() { + return keyword$12$Delimiter; } - public void setCrossReference$14$Delimiter(ISequenceMatcher matcher) { - crossReference$14$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); + public void setKeyword$12$Delimiter(ICharacterClass characterClass) { + keyword$12$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); } - public ICharacterClass getKeyword$5$Delimiter() { - return keyword$5$Delimiter; + public ISequenceMatcher getRuleCall$7$Delimiter() { + return ruleCall$7$Delimiter; } - public void setKeyword$5$Delimiter(ICharacterClass characterClass) { - keyword$5$Delimiter = characterClass != null ? characterClass : ICharacterClass.Factory.nullClass(); + public void setRuleCall$7$Delimiter(ISequenceMatcher matcher) { + ruleCall$7$Delimiter = matcher != null ? matcher : ISequenceMatcher.Factory.nullMatcher(); } } diff --git a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/services/DomainmodelGrammarAccess.java b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/services/DomainmodelGrammarAccess.java index 79886d4..316f7a2 100644 --- a/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/services/DomainmodelGrammarAccess.java +++ b/examples/org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/services/DomainmodelGrammarAccess.java @@ -598,7 +598,7 @@ public class DomainmodelGrammarAccess extends BaseEPackageAccess implements IGra } public XtextBuiltinGrammarAccess getSuperGrammar() { - return XtextBuiltinGrammarAccess.INSTANCE; + return XtextBuiltinGrammarAccess.INSTANCE; } diff --git a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/DefaultContentAssistProcessor.java b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/DefaultContentAssistProcessor.java index d31cf55..ff4da23 100644 --- a/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/DefaultContentAssistProcessor.java +++ b/plugins/org.eclipse.xtext.ui.common/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/DefaultContentAssistProcessor.java @@ -15,6 +15,8 @@ import java.util.Arrays; import java.util.List; import org.apache.log4j.Logger; +import org.eclipse.core.runtime.Assert; +import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.contentassist.ContextInformationValidator; import org.eclipse.jface.text.contentassist.ICompletionProposal; @@ -22,11 +24,18 @@ import org.eclipse.jface.text.contentassist.IContentAssistProcessor; import org.eclipse.jface.text.contentassist.IContextInformation; import org.eclipse.jface.text.contentassist.IContextInformationValidator; import org.eclipse.jface.text.templates.TemplateContextType; +import org.eclipse.swt.custom.StyledText; import org.eclipse.xtext.AbstractElement; import org.eclipse.xtext.Assignment; import org.eclipse.xtext.Keyword; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.XtextPackage; +import org.eclipse.xtext.parser.IParseResult; +import org.eclipse.xtext.parsetree.AbstractNode; +import org.eclipse.xtext.parsetree.CompositeNode; +import org.eclipse.xtext.parsetree.LeafNode; +import org.eclipse.xtext.parsetree.NodeUtil; +import org.eclipse.xtext.parsetree.ParseTreeUtil; import org.eclipse.xtext.resource.XtextResource; import org.eclipse.xtext.service.IServiceScope; import org.eclipse.xtext.service.Inject; @@ -68,90 +77,34 @@ public class DefaultContentAssistProcessor implements IContentAssistProcessor { public ICompletionProposal[] computeCompletionProposals(final ITextViewer viewer, final int offset) { IXtextDocument document = (IXtextDocument) viewer.getDocument(); - return document.readOnly(new UnitOfWork<ICompletionProposal[]>(){ + + return document.readOnly(new UnitOfWork<ICompletionProposal[]>() { public ICompletionProposal[] exec(XtextResource resource) throws Exception { - ICompletionProposal[] completionProposals = null; - IContentAssistContext contentAssistContext = ContentAssistContextFactory.create(resource,offset,computePrefix(viewer.getDocument().get(0, offset))); - - List<AbstractElement> computeProposalElements = contentAssistCalculator.computeProposalElements( + + IContentAssistContext contentAssistContext = createContext(resource, viewer, offset); + + List<AbstractElement> computeProposalElements = contentAssistCalculator + .computeProposalElements(contentAssistContext); + + List<ICompletionProposal> completionProposalList = collectCompletionProposals(computeProposalElements, contentAssistContext); - - List<ICompletionProposal> completionProposalList = collectCompletionProposals(computeProposalElements, contentAssistContext); - - for (TemplateContextType templateContextType : collectTemplateContextTypes(computeProposalElements, contentAssistContext)) { + + for (TemplateContextType templateContextType : collectTemplateContextTypes(computeProposalElements, + contentAssistContext)) { addTemplates(viewer, offset, contentAssistContext, templateContextType, completionProposalList); } - + List<? extends ICompletionProposal> processedCompletionProposalList = proposalProvider.sortAndFilter( completionProposalList, contentAssistContext); - - completionProposals = processedCompletionProposalList - .toArray(new ICompletionProposal[processedCompletionProposalList.size()]); - - return completionProposals; + + return processedCompletionProposalList.toArray(new ICompletionProposal[processedCompletionProposalList + .size()]); } - }); + }); } - protected List<ICompletionProposal> collectCompletionProposals(List<AbstractElement> computeProposalElements, IContentAssistContext contentAssistContext) { - List<ICompletionProposal> completionProposalList = new ArrayList<ICompletionProposal>(); - for (AbstractElement computeProposalElement : computeProposalElements) { - List<? extends ICompletionProposal> proposals; - switch(computeProposalElement.eClass().getClassifierID()) { - case XtextPackage.KEYWORD: - proposals = proposalProvider.completeKeyword((Keyword) computeProposalElement, contentAssistContext); - addAllIfNotNull(completionProposalList,proposals); - break; - case XtextPackage.RULE_CALL: - proposals = proposalProvider.completeRuleCall((RuleCall) computeProposalElement, contentAssistContext); - addAllIfNotNull(completionProposalList,proposals); - break; - case XtextPackage.ASSIGNMENT: - proposals = proposalProvider.completeAssignment((Assignment) computeProposalElement, contentAssistContext); - addAllIfNotNull(completionProposalList,proposals); - break; - } - } - return completionProposalList; - } - - protected List<TemplateContextType> collectTemplateContextTypes(List<AbstractElement> computeProposalElements, IContentAssistContext contentAssistContext) { - List<TemplateContextType> templateContextTypes = new ArrayList<TemplateContextType>(); - for (AbstractElement computeProposalElement : computeProposalElements) { - TemplateContextType templateContextType; - switch(computeProposalElement.eClass().getClassifierID()) { - case XtextPackage.KEYWORD: - templateContextType = proposalProvider.getTemplateContextType((Keyword) computeProposalElement, contentAssistContext); - addIfNotNull(templateContextTypes, templateContextType); - break; - case XtextPackage.RULE_CALL: - templateContextType = proposalProvider.getTemplateContextType((RuleCall) computeProposalElement, contentAssistContext); - addIfNotNull(templateContextTypes, templateContextType); - break; - case XtextPackage.ASSIGNMENT: - // TODO: change interface - //templateContextType = proposalProvider.getTemplateContextType((Assignment) computeProposalElement, contentAssistContext); - //addIfNotNull(templateContextTypes, templateContextType); - break; - } - } - return templateContextTypes; - } - - - public static String computePrefix(String string) { - if (string==null) - return ""; - for (int i = string.length()-1;i>=0;i--) { - if (!Character.isJavaIdentifierPart(string.charAt(i))) { - return string.substring(i+1); - } - } - return ""; - } - /* * (non-Javadoc) * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getCompletionProposalAutoActivationCharacters() @@ -192,6 +145,8 @@ public class DefaultContentAssistProcessor implements IContentAssistProcessor { return new ContextInformationValidator(this); } + + /** * adds templates to the list of proposals * @@ -211,6 +166,123 @@ public class DefaultContentAssistProcessor implements IContentAssistProcessor { } } + protected List<ICompletionProposal> collectCompletionProposals(List<AbstractElement> computeProposalElements, IContentAssistContext contentAssistContext) { + List<ICompletionProposal> completionProposalList = new ArrayList<ICompletionProposal>(); + for (AbstractElement computeProposalElement : computeProposalElements) { + List<? extends ICompletionProposal> proposals; + switch(computeProposalElement.eClass().getClassifierID()) { + case XtextPackage.KEYWORD: + proposals = proposalProvider.completeKeyword((Keyword) computeProposalElement, contentAssistContext); + addAllIfNotNull(completionProposalList,proposals); + break; + case XtextPackage.RULE_CALL: + proposals = proposalProvider.completeRuleCall((RuleCall) computeProposalElement, contentAssistContext); + addAllIfNotNull(completionProposalList,proposals); + break; + case XtextPackage.ASSIGNMENT: + proposals = proposalProvider.completeAssignment((Assignment) computeProposalElement, contentAssistContext); + addAllIfNotNull(completionProposalList,proposals); + break; + } + } + return completionProposalList; + } + + protected List<TemplateContextType> collectTemplateContextTypes(List<AbstractElement> computeProposalElements, + IContentAssistContext contentAssistContext) { + List<TemplateContextType> templateContextTypes = new ArrayList<TemplateContextType>(); + for (AbstractElement computeProposalElement : computeProposalElements) { + TemplateContextType templateContextType; + switch (computeProposalElement.eClass().getClassifierID()) { + case XtextPackage.KEYWORD: + templateContextType = proposalProvider.getTemplateContextType((Keyword) computeProposalElement, + contentAssistContext); + addIfNotNull(templateContextTypes, templateContextType); + break; + case XtextPackage.RULE_CALL: + templateContextType = proposalProvider.getTemplateContextType((RuleCall) computeProposalElement, + contentAssistContext); + addIfNotNull(templateContextTypes, templateContextType); + break; + case XtextPackage.ASSIGNMENT: + // TODO: change interface + // templateContextType = + // proposalProvider.getTemplateContextType((Assignment) + // computeProposalElement, contentAssistContext); + // addIfNotNull(templateContextTypes, templateContextType); + break; + } + } + return templateContextTypes; + } + + /** + * Creates a new <code>IContentAssistContext</code> with all required informations for the current CA request. + * + * @param resource the underlying EMF resource to read (parse) from + * @param viewer the viewer whose document is used to compute the proposals + * @param offset an offset within the document for which the context should be created + * @return a matching context containing all necessary informations for the current content assist request + */ + protected IContentAssistContext createContext(XtextResource resource, ITextViewer viewer, final int offset) { + + IParseResult parseResult = resource.getParseResult(); + + Assert.isNotNull(parseResult); + + CompositeNode rootNode = parseResult.getRootNode(); + + AbstractNode referenceNode = ParseTreeUtil.getLastCompleteNodeByOffset(rootNode, offset); + + EObject model = (referenceNode instanceof AbstractNode ? NodeUtil + .getNearestSemanticObject((AbstractNode) referenceNode) : referenceNode); + + AbstractNode node = ParseTreeUtil.getCurrentOrFollowingNodeByOffset(rootNode, offset); + + String matchingString = node == null ? "" : calculateMatchString(viewer, offset, node); + + /** + * + * if cursor is behind a complete keyword, accept any input => empty + * + * TODO: Find a way to distinguish between keywords like "+" or "-" and + * "extends" or "class" in the latter case, the prefix "" would not + * always be sufficient + * + */ + if (node.getGrammarElement() instanceof Keyword + && (node instanceof LeafNode && ((LeafNode) node).getText().equals(matchingString))) { + matchingString = ""; + } + + return new ContentAssistContext(model, offset, matchingString, node, referenceNode, rootNode); + } + + /** + * Calculates the match string of the current <code>IContentAssistContext</code> based on the + * specified location within the text viewer. + * + * @param viewer the viewer whose document is used to compute the proposals + * @param offset an offset within the document for which the matchstring should be computed + * @return a matching string + */ + protected String calculateMatchString(ITextViewer viewer, int offset,AbstractNode node) { + + String prefix = ""; + + StyledText textWidget = viewer.getTextWidget(); + + if (textWidget.getCharCount() > 0) { + int boundedOffset = Math.min(offset, textWidget.getCharCount()) - 1; + if (node.getTotalOffset() <= boundedOffset) { + prefix = textWidget.getText(node.getTotalOffset(), boundedOffset).trim(); + } + } + + return prefix; + } + } + diff --git a/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextEditor.java b/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextEditor.java index 0a02e7d..332820f 100644 --- a/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextEditor.java +++ b/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextEditor.java @@ -175,7 +175,7 @@ public class XtextEditor extends TextEditor implements IExecutableExtension { // overwrite superclass implementation to allow folding fAnnotationAccess = createAnnotationAccess(); fOverviewRuler = createOverviewRuler(getSharedColors()); - ISourceViewer projectionViewer = new XtextSourceViewer(parent, ruler, getOverviewRuler(), + ISourceViewer projectionViewer = new ProjectionViewer(parent, ruler, getOverviewRuler(), isOverviewRulerVisible(), styles); getSourceViewerDecorationSupport(projectionViewer); return projectionViewer; diff --git a/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextSourceViewer.java b/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextSourceViewer.java deleted file mode 100644 index 95fa55e..0000000 --- a/plugins/org.eclipse.xtext.ui.core/src/org/eclipse/xtext/ui/core/editor/XtextSourceViewer.java +++ b/dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 itemis AG (http://www.itemis.eu) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - *******************************************************************************/ -package org.eclipse.xtext.ui.core.editor; - -import org.eclipse.jface.text.source.IOverviewRuler; -import org.eclipse.jface.text.source.IVerticalRuler; -import org.eclipse.jface.text.source.projection.ProjectionViewer; -import org.eclipse.swt.widgets.Composite; - -/** - * Provides a default implementation of interface <code>IXtextSourceViewer</code>. - * - * @author Michael Clay - Initial contribution and API - * - * @see IXtextSourceViewer - */ -public class XtextSourceViewer extends ProjectionViewer { - - public XtextSourceViewer(Composite parent, IVerticalRuler ruler, IOverviewRuler overviewRuler, - boolean showsAnnotationOverview, int styles) { - super(parent, ruler, overviewRuler, showsAnnotationOverview, styles); - } - - @Override - protected void createControl(Composite parent, int styles) { - // required for 'headless' standalone unit tests - if (parent != null) { - super.createControl(parent, styles); - } - } - -} diff --git a/tests/org.eclipse.xtext.ui.common.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.xtext.ui.common.tests/META-INF/MANIFEST.MF index 503fc94..2bf0751 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/META-INF/MANIFEST.MF +++ b/tests/org.eclipse.xtext.ui.common.tests/META-INF/MANIFEST.MF @@ -15,7 +15,11 @@ Require-Bundle: org.eclipse.ui, org.eclipse.xtext.ui.common;bundle-version="0.7.0", org.easymock;bundle-version="2.3.0", org.eclipse.jface.text;bundle-version="3.4.0", - org.eclipse.xtext.ui.core;bundle-version="0.7.0" + org.eclipse.xtext.ui.core;bundle-version="0.7.0", + org.eclipse.xtext.example.domainmodel;bundle-version="1.0.0", + org.eclipse.xtext.example.domainmodel.ui;bundle-version="1.0.0", + org.eclipse.xtext.example.fowlerdsl;bundle-version="0.7.0", + org.eclipse.xtext.example.fowlerdsl.ui;bundle-version="0.7.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ActivationPolicy: lazy Export-Package: org.eclipse.xtext.ui.common diff --git a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/AbstractUiTest.java b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/AbstractUiTest.java index 1ef95e1..932a2e5 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/AbstractUiTest.java +++ b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/AbstractUiTest.java @@ -16,6 +16,7 @@ package org.eclipse.xtext.ui.common; import java.lang.reflect.Method;
import java.util.Set;
+import org.eclipse.xtext.example.DomainmodelStandaloneSetup;
import org.eclipse.xtext.service.ServiceRegistry;
import org.eclipse.xtext.service.IServiceRegistrationFactory.IServiceRegistration;
import org.eclipse.xtext.tests.AbstractGeneratorTest;
@@ -24,6 +25,22 @@ import org.eclipse.xtext.tests.AbstractGeneratorTest; * @author Michael Clay - Initial contribution and API
*/
public abstract class AbstractUiTest extends AbstractGeneratorTest {
+
+ public final static Class<?>[] ADDITIONAL_UI_TEST_CLASSES = new Class[] {
+ DomainmodelStandaloneSetup.class,
+ };
+
+ static {
+ for (Class<?> testClass : ADDITIONAL_UI_TEST_CLASSES) {
+ try {
+ Method doSetupMethod = testClass.getMethod("doSetup");
+ doSetupMethod.invoke(null);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
+ }
+ }
/**
* used to populate the serviceRegistry
diff --git a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/ContentAssistProcessorTestBuilder.java b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/ContentAssistProcessorTestBuilder.java index 5e1f5b5..147cac2 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/ContentAssistProcessorTestBuilder.java +++ b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/ContentAssistProcessorTestBuilder.java @@ -13,7 +13,10 @@ *******************************************************************************/ package org.eclipse.xtext.ui.common.editor.contentassist.impl; -import static junit.framework.Assert.*; +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertTrue; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.replay; import java.io.InputStream; import java.lang.reflect.InvocationHandler; @@ -23,17 +26,21 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.easymock.EasyMock; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.jface.text.contentassist.IContentAssistProcessor; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.StyledText; +import org.eclipse.swt.widgets.Shell; import org.eclipse.xtext.resource.IResourceFactory; import org.eclipse.xtext.resource.XtextResource; import org.eclipse.xtext.resource.XtextResourceSet; import org.eclipse.xtext.service.IServiceScope; import org.eclipse.xtext.service.ServiceRegistry; -import org.eclipse.xtext.ui.core.editor.XtextSourceViewer; +import org.eclipse.xtext.ui.common.editor.contentassist.IContentAssistContext; import org.eclipse.xtext.ui.core.editor.model.IXtextDocument; import org.eclipse.xtext.ui.core.editor.model.UnitOfWork; import org.eclipse.xtext.util.StringInputStream; @@ -49,20 +56,19 @@ public class ContentAssistProcessorTestBuilder { private IContentAssistProcessor contentAssistProcessor; private IServiceScope serviceScope; + private ITextViewer textViewerMock; private String model; private int cursorPosition; public ContentAssistProcessorTestBuilder(IServiceScope serviceScope, IContentAssistProcessor contentAssistProcessor) { this.contentAssistProcessor = contentAssistProcessor; this.serviceScope = serviceScope; + this.textViewerMock = EasyMock.createMock(ITextViewer.class); ServiceRegistry.injectServices(serviceScope, this.contentAssistProcessor); } - private ContentAssistProcessorTestBuilder clone(String model, int offset) { - ContentAssistProcessorTestBuilder builder = new ContentAssistProcessorTestBuilder(this.serviceScope, this.contentAssistProcessor); - builder.model = model; - builder.cursorPosition = offset; - return builder; + public ContentAssistProcessorTestBuilder reset() { + return clone("",0); } public ContentAssistProcessorTestBuilder append(String model) { @@ -127,6 +133,29 @@ public class ContentAssistProcessorTestBuilder { return this; } + + public ContentAssistProcessorTestBuilder assertMatchString(String matchString) + throws Exception { + + final String currentModelToParse = getModel(); + + final XtextResource xtextResource = getResource(new StringInputStream(currentModelToParse)); + + final IXtextDocument xtextDocument = getDocument(xtextResource); + + IContentAssistContext contentAssistContext = new DefaultContentAssistProcessor() { + @Override + public IContentAssistContext createContext(XtextResource resource, ITextViewer viewer, int offset) { + IContentAssistContext createContext = super.createContext(resource,viewer,offset); + return createContext; + } + }.createContext(xtextResource, resetTextViewerMock(currentModelToParse, xtextDocument),cursorPosition); + + + assertEquals(matchString, contentAssistContext.getMatchString()); + + return this; + } private String getModel() { return this.model == null ? "":model; @@ -156,31 +185,15 @@ public class ContentAssistProcessorTestBuilder { public ICompletionProposal[] computeCompletionProposals(final String currentModelToParse, int cursorPosition) throws Exception { - final XtextResource resource = getResource(new StringInputStream(currentModelToParse)); - final IXtextDocument doc = (IXtextDocument) Proxy.newProxyInstance(getClass().getClassLoader(), - new Class[] { IXtextDocument.class }, new InvocationHandler() { + + final XtextResource xtextResource = getResource(new StringInputStream(currentModelToParse)); + + final IXtextDocument xtextDocument = getDocument(xtextResource); - @SuppressWarnings("unchecked") - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - if (args[0] instanceof UnitOfWork) - return ((UnitOfWork<XtextResource>) args[0]).exec(resource); - if (method.getName().equals("get")) - return model; - throw new UnsupportedOperationException("The test mock IXtextDocument does not support the operation "+method); - } - }); - - ICompletionProposal[] computeCompletionProposals = this.contentAssistProcessor.computeCompletionProposals( - new XtextSourceViewer(null, null, null, false, 0) { - @Override - public IDocument getDocument() { - return doc; - } - - }, cursorPosition); - return computeCompletionProposals; + return this.contentAssistProcessor.computeCompletionProposals(resetTextViewerMock(currentModelToParse, xtextDocument), cursorPosition); } + @Override public String toString() { return getModel() + "\n length: " + getModel().length() + "\n cursor at: " @@ -195,8 +208,53 @@ public class ContentAssistProcessorTestBuilder { return resource; } + private IXtextDocument getDocument(final XtextResource xtextResource) { + final IXtextDocument xtextDocument = (IXtextDocument) Proxy.newProxyInstance(getClass().getClassLoader(), + new Class[] { IXtextDocument.class }, new InvocationHandler() { + + @SuppressWarnings("unchecked") + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + if (args[0] instanceof UnitOfWork) + return ((UnitOfWork<XtextResource>) args[0]).exec(xtextResource); + if (method.getName().equals("get")) + return model; + throw new UnsupportedOperationException("The test mock IXtextDocument does not support the operation "+method); + } + }); + return xtextDocument; + } + private IResourceFactory getResourceFactory() { return ServiceRegistry.getService(this.serviceScope, IResourceFactory.class); } + + private ITextViewer resetTextViewerMock(final String currentModelToParse, final IXtextDocument xtextDocument) { + EasyMock.reset(textViewerMock); + expect(textViewerMock.getDocument()).andReturn(xtextDocument); + expect(textViewerMock.getTextWidget()).andReturn(newStyledTextWidgetMock(currentModelToParse)); + replay(textViewerMock); + return textViewerMock; + } + + private ContentAssistProcessorTestBuilder clone(String model, int offset) { + ContentAssistProcessorTestBuilder builder = new ContentAssistProcessorTestBuilder(this.serviceScope, this.contentAssistProcessor); + builder.model = model; + builder.cursorPosition = offset; + return builder; + } + + private StyledText newStyledTextWidgetMock(final String testDslModel) { + return new StyledText(new Shell(), SWT.NONE) { + @Override + public int getCharCount() { + return testDslModel.length(); + } + + @Override + public String getText(int start, int end) { + return testDslModel.substring(start, end + 1); + } + }; + } } diff --git a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/DefaultContentAssistProcessorTest.java b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/DefaultContentAssistProcessorTest.java index 3442681..f58ee1a 100644 --- a/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/DefaultContentAssistProcessorTest.java +++ b/tests/org.eclipse.xtext.ui.common.tests/src/org/eclipse/xtext/ui/common/editor/contentassist/impl/DefaultContentAssistProcessorTest.java @@ -15,6 +15,8 @@ package org.eclipse.xtext.ui.common.editor.contentassist.impl; import org.eclipse.xtext.XtextGrammarTestLanguageStandaloneSetup;
import org.eclipse.xtext.XtextGrammarTestLanguageUiConfig;
+import org.eclipse.xtext.example.DomainmodelStandaloneSetup;
+import org.eclipse.xtext.example.DomainmodelUiConfig;
import org.eclipse.xtext.testlanguages.ContentAssistTestLanguageStandaloneSetup;
import org.eclipse.xtext.testlanguages.ContentAssistTestLanguageUiConfig;
import org.eclipse.xtext.testlanguages.ReferenceGrammarTestLanguageStandaloneSetup;
@@ -36,12 +38,22 @@ public class DefaultContentAssistProcessorTest extends AbstractUiTest @Override
protected void setUp() throws Exception {
super.setUp();
+ withUi(DomainmodelStandaloneSetup.class,DomainmodelUiConfig.class);
withUi(XtextGrammarTestLanguageStandaloneSetup.class, XtextGrammarTestLanguageUiConfig.class);
withUi(ContentAssistTestLanguageStandaloneSetup.class, ContentAssistTestLanguageUiConfig.class);
withUi(ReferenceGrammarTestLanguageStandaloneSetup.class,ReferenceGrammarTestLanguageUiConfig.class);
contentAssistProcessorTestBuilder = new ContentAssistProcessorTestBuilder(getCurrentServiceScope(),new DefaultContentAssistProcessor());
}
+ public void testComputePrefix() throws Exception {
+ contentAssistProcessorTestBuilder
+ .append("foo fvdf dfv(").assertMatchString("(").reset()
+ .append("foo fvdf dfv").assertMatchString("dfv").reset()
+ .append("foo fvdf dfv_").assertMatchString("dfv_").reset()
+ .append("foo fvdf dfv_ ").assertMatchString("").reset()
+ .append("").assertMatchString("");
+ }
+
public void testComputeCompletionProposalsCount() throws Exception {
contentAssistProcessorTestBuilder.assertCount(1)
.append("spielplatz ").assertCount(1)
@@ -97,6 +109,40 @@ public class DefaultContentAssistProcessorTest extends AbstractUiTest ;
}
+ /**
+ *
+ * <p>
+ * Tests proposals sample domain language.
+ * </p>
+ *
+ * <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=260688">Bug 260688 </a>
+ *
+ */
+ public void testDomainLanguage() throws Exception {
+ newBuilder(DomainmodelStandaloneSetup.class, DomainmodelUiConfig.class)
+ .assertCount(4)
+ .append("d").assertCount(1)
+ .append("a").assertCount(1)
+ .append("t").assertCount(1)
+ .append("a").assertCount(1)
+ .reset().assertCount(4)
+ .append("e").assertCount(1)
+ .append("n").assertCount(1)
+ .append("t").assertCount(1)
+ .append("i").assertCount(1)
+ .reset().assertCount(4)
+ .append("i").assertCount(1)
+ .append("m").assertCount(1)
+ .append("p").assertCount(1)
+ .append("o").assertCount(1)
+ .reset().assertCount(4)
+ .append("p").assertCount(1)
+ .append("a").assertCount(1)
+ .append("c").assertCount(1)
+ .append("k").assertCount(1);
+ }
+
+
public void testCompleteRuleCall() throws Exception {
newBuilder(XtextGrammarTestLanguageStandaloneSetup.class, XtextGrammarTestLanguageUiConfig.class)
.appendNl("language foo")
@@ -125,30 +171,16 @@ public class DefaultContentAssistProcessorTest extends AbstractUiTest );
}
-
public void testDefaultRule() throws Exception {
contentAssistProcessorTestBuilder.assertText("spielplatz");
contentAssistProcessorTestBuilder.append(" spielplatz 1 \"SpielplatzBeschreibung\" { } ")
.assertTextAtCursorPosition(1, "spielplatz");
}
+
private ContentAssistProcessorTestBuilder newBuilder(Class<?> standAloneSetup, Class<?> uiConfig) throws Exception {
withUi(standAloneSetup, uiConfig);
return new ContentAssistProcessorTestBuilder(getCurrentServiceScope(), new DefaultContentAssistProcessor());
}
-
- public void testComputePrefix() throws Exception {
- assertEquals("", prefix("foo fvdf dfv("));
- assertEquals("dfv", prefix("foo fvdf dfv"));
- assertEquals("dfv_", prefix("foo fvdf dfv_"));
- assertEquals("", prefix("foo fvdf dfv_ "));
- assertEquals("", prefix(""));
- assertEquals("", prefix(null));
- }
-
- private String prefix(String s) {
- return DefaultContentAssistProcessor.computePrefix(s);
- }
-
}
\ No newline at end of file |

