| /* |
| * generated by Xtext |
| */ |
| |
| package org.xtext.example.mydsl.services; |
| |
| import com.google.inject.Singleton; |
| import com.google.inject.Inject; |
| |
| import java.util.List; |
| |
| import org.eclipse.xtext.*; |
| import org.eclipse.xtext.service.GrammarProvider; |
| import org.eclipse.xtext.service.AbstractElementFinder.*; |
| |
| import org.eclipse.xtext.common.services.TerminalsGrammarAccess; |
| |
| @Singleton |
| public class MyDslGrammarAccess extends AbstractGrammarElementFinder { |
| |
| |
| public class ModelElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Model"); |
| private final Assignment cGreetingsAssignment = (Assignment)rule.eContents().get(1); |
| private final RuleCall cGreetingsGreetingParserRuleCall_0 = (RuleCall)cGreetingsAssignment.eContents().get(0); |
| |
| //Model: |
| // greetings+=Greeting*; |
| public ParserRule getRule() { return rule; } |
| |
| //greetings+=Greeting* |
| public Assignment getGreetingsAssignment() { return cGreetingsAssignment; } |
| |
| //Greeting |
| public RuleCall getGreetingsGreetingParserRuleCall_0() { return cGreetingsGreetingParserRuleCall_0; } |
| } |
| |
| public class GreetingElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Greeting"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Keyword cHelloKeyword_0 = (Keyword)cGroup.eContents().get(0); |
| private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); |
| private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); |
| private final Keyword cExclamationMarkKeyword_2 = (Keyword)cGroup.eContents().get(2); |
| |
| //Greeting: |
| // "Hello" name=ID "!"; |
| public ParserRule getRule() { return rule; } |
| |
| //"Hello" name=ID "!" |
| public Group getGroup() { return cGroup; } |
| |
| //"Hello" |
| public Keyword getHelloKeyword_0() { return cHelloKeyword_0; } |
| |
| //name=ID |
| public Assignment getNameAssignment_1() { return cNameAssignment_1; } |
| |
| //ID |
| public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } |
| |
| //"!" |
| public Keyword getExclamationMarkKeyword_2() { return cExclamationMarkKeyword_2; } |
| } |
| |
| |
| private ModelElements pModel; |
| private GreetingElements pGreeting; |
| |
| private final Grammar grammar; |
| |
| private TerminalsGrammarAccess gaTerminals; |
| |
| @Inject |
| public MyDslGrammarAccess(GrammarProvider grammarProvider, |
| TerminalsGrammarAccess gaTerminals) { |
| this.grammar = internalFindGrammar(grammarProvider); |
| this.gaTerminals = gaTerminals; |
| } |
| |
| protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { |
| Grammar grammar = grammarProvider.getGrammar(this); |
| while (grammar != null) { |
| if ("org.xtext.example.mydsl.MyDsl".equals(grammar.getName())) { |
| return grammar; |
| } |
| List<Grammar> grammars = grammar.getUsedGrammars(); |
| if (!grammars.isEmpty()) { |
| grammar = grammars.iterator().next(); |
| } else { |
| return null; |
| } |
| } |
| return grammar; |
| } |
| |
| |
| public Grammar getGrammar() { |
| return grammar; |
| } |
| |
| |
| public TerminalsGrammarAccess getTerminalsGrammarAccess() { |
| return gaTerminals; |
| } |
| |
| |
| //Model: |
| // greetings+=Greeting*; |
| public ModelElements getModelAccess() { |
| return (pModel != null) ? pModel : (pModel = new ModelElements()); |
| } |
| |
| public ParserRule getModelRule() { |
| return getModelAccess().getRule(); |
| } |
| |
| //Greeting: |
| // "Hello" name=ID "!"; |
| public GreetingElements getGreetingAccess() { |
| return (pGreeting != null) ? pGreeting : (pGreeting = new GreetingElements()); |
| } |
| |
| public ParserRule getGreetingRule() { |
| return getGreetingAccess().getRule(); |
| } |
| |
| //terminal ID: |
| // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*; |
| public TerminalRule getIDRule() { |
| return gaTerminals.getIDRule(); |
| } |
| |
| //terminal INT returns ecore::EInt: |
| // "0".."9"+; |
| public TerminalRule getINTRule() { |
| return gaTerminals.getINTRule(); |
| } |
| |
| //terminal STRING: |
| // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" | |
| // "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'"; |
| public TerminalRule getSTRINGRule() { |
| return gaTerminals.getSTRINGRule(); |
| } |
| |
| //terminal ML_COMMENT: |
| // "/ *"->"* /"; |
| public TerminalRule getML_COMMENTRule() { |
| return gaTerminals.getML_COMMENTRule(); |
| } |
| |
| //terminal SL_COMMENT: |
| // "//" !("\n" | "\r")* ("\r"? "\n")?; |
| public TerminalRule getSL_COMMENTRule() { |
| return gaTerminals.getSL_COMMENTRule(); |
| } |
| |
| //terminal WS: |
| // (" " | "\t" | "\r" | "\n")+; |
| public TerminalRule getWSRule() { |
| return gaTerminals.getWSRule(); |
| } |
| |
| //terminal ANY_OTHER: |
| // .; |
| public TerminalRule getANY_OTHERRule() { |
| return gaTerminals.getANY_OTHERRule(); |
| } |
| } |