/* * generated by Xtext */ package com.robotoworks.mechanoid.sharedprefs.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 SharedPreferencesModelGrammarAccess extends AbstractGrammarElementFinder { public class ModelElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Model"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cPackageKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cPackageNameAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cPackageNameFQNParserRuleCall_1_0 = (RuleCall)cPackageNameAssignment_1.eContents().get(0); private final Assignment cPreferencesBlockAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cPreferencesBlockPreferencesBlockParserRuleCall_2_0 = (RuleCall)cPreferencesBlockAssignment_2.eContents().get(0); //Model: // "package" packageName=FQN preferencesBlock=PreferencesBlock; public ParserRule getRule() { return rule; } //"package" packageName=FQN preferencesBlock=PreferencesBlock public Group getGroup() { return cGroup; } //"package" public Keyword getPackageKeyword_0() { return cPackageKeyword_0; } //packageName=FQN public Assignment getPackageNameAssignment_1() { return cPackageNameAssignment_1; } //FQN public RuleCall getPackageNameFQNParserRuleCall_1_0() { return cPackageNameFQNParserRuleCall_1_0; } //preferencesBlock=PreferencesBlock public Assignment getPreferencesBlockAssignment_2() { return cPreferencesBlockAssignment_2; } //PreferencesBlock public RuleCall getPreferencesBlockPreferencesBlockParserRuleCall_2_0() { return cPreferencesBlockPreferencesBlockParserRuleCall_2_0; } } public class PreferencesBlockElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PreferencesBlock"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cPreferencesKeyword_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 cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cPrefsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cPrefsPreferenceParserRuleCall_3_0 = (RuleCall)cPrefsAssignment_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //PreferencesBlock: // "preferences" name=ID "{" prefs+=Preference* "}"; public ParserRule getRule() { return rule; } //"preferences" name=ID "{" prefs+=Preference* "}" public Group getGroup() { return cGroup; } //"preferences" public Keyword getPreferencesKeyword_0() { return cPreferencesKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"{" public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } //prefs+=Preference* public Assignment getPrefsAssignment_3() { return cPrefsAssignment_3; } //Preference public RuleCall getPrefsPreferenceParserRuleCall_3_0() { return cPrefsPreferenceParserRuleCall_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } } public class PreferenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Preference"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cTypePreferenceTypeEnumRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cEqualsSignKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); private final Assignment cDefaultValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); private final RuleCall cDefaultValueLiteralParserRuleCall_3_1_0 = (RuleCall)cDefaultValueAssignment_3_1.eContents().get(0); //Preference: // name=ID ":" type=PreferenceType ("=" defaultValue=Literal)?; public ParserRule getRule() { return rule; } //name=ID ":" type=PreferenceType ("=" defaultValue=Literal)? public Group getGroup() { return cGroup; } //name=ID public Assignment getNameAssignment_0() { return cNameAssignment_0; } //ID public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } //":" public Keyword getColonKeyword_1() { return cColonKeyword_1; } //type=PreferenceType public Assignment getTypeAssignment_2() { return cTypeAssignment_2; } //PreferenceType public RuleCall getTypePreferenceTypeEnumRuleCall_2_0() { return cTypePreferenceTypeEnumRuleCall_2_0; } //("=" defaultValue=Literal)? public Group getGroup_3() { return cGroup_3; } //"=" public Keyword getEqualsSignKeyword_3_0() { return cEqualsSignKeyword_3_0; } //defaultValue=Literal public Assignment getDefaultValueAssignment_3_1() { return cDefaultValueAssignment_3_1; } //Literal public RuleCall getDefaultValueLiteralParserRuleCall_3_1_0() { return cDefaultValueLiteralParserRuleCall_3_1_0; } } public class LiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Literal"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Action cBooleanLiteralAction_0_0 = (Action)cGroup_0.eContents().get(0); private final Assignment cLiteralAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); private final RuleCall cLiteralBooleanValueEnumRuleCall_0_1_0 = (RuleCall)cLiteralAssignment_0_1.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Action cStringLiteralAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Assignment cLiteralAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); private final RuleCall cLiteralSTRINGTerminalRuleCall_1_1_0 = (RuleCall)cLiteralAssignment_1_1.eContents().get(0); private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); private final Action cNumericLiteralAction_2_0 = (Action)cGroup_2.eContents().get(0); private final Assignment cLiteralAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); private final RuleCall cLiteralSignedNumberParserRuleCall_2_1_0 = (RuleCall)cLiteralAssignment_2_1.eContents().get(0); //Literal: // {BooleanLiteral} literal=BooleanValue | {StringLiteral} literal=STRING | {NumericLiteral} literal=SignedNumber; public ParserRule getRule() { return rule; } //{BooleanLiteral} literal=BooleanValue | {StringLiteral} literal=STRING | {NumericLiteral} literal=SignedNumber public Alternatives getAlternatives() { return cAlternatives; } //{BooleanLiteral} literal=BooleanValue public Group getGroup_0() { return cGroup_0; } //{BooleanLiteral} public Action getBooleanLiteralAction_0_0() { return cBooleanLiteralAction_0_0; } //literal=BooleanValue public Assignment getLiteralAssignment_0_1() { return cLiteralAssignment_0_1; } //BooleanValue public RuleCall getLiteralBooleanValueEnumRuleCall_0_1_0() { return cLiteralBooleanValueEnumRuleCall_0_1_0; } //{StringLiteral} literal=STRING public Group getGroup_1() { return cGroup_1; } //{StringLiteral} public Action getStringLiteralAction_1_0() { return cStringLiteralAction_1_0; } //literal=STRING public Assignment getLiteralAssignment_1_1() { return cLiteralAssignment_1_1; } //STRING public RuleCall getLiteralSTRINGTerminalRuleCall_1_1_0() { return cLiteralSTRINGTerminalRuleCall_1_1_0; } //{NumericLiteral} literal=SignedNumber public Group getGroup_2() { return cGroup_2; } //{NumericLiteral} public Action getNumericLiteralAction_2_0() { return cNumericLiteralAction_2_0; } //literal=SignedNumber public Assignment getLiteralAssignment_2_1() { return cLiteralAssignment_2_1; } //SignedNumber public RuleCall getLiteralSignedNumberParserRuleCall_2_1_0() { return cLiteralSignedNumberParserRuleCall_2_1_0; } } public class SignedNumberElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SignedNumber"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); private final RuleCall cNUMBERTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); //SignedNumber returns ecore::EBigDecimal: // "-"? NUMBER; public ParserRule getRule() { return rule; } //"-"? NUMBER public Group getGroup() { return cGroup; } //"-"? public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } //NUMBER public RuleCall getNUMBERTerminalRuleCall_1() { return cNUMBERTerminalRuleCall_1; } } public class FQNElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FQN"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); //FQN: // ID ("." ID)*; public ParserRule getRule() { return rule; } //ID ("." ID)* public Group getGroup() { return cGroup; } //ID public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; } //(=> "." ID)* public Group getGroup_1() { return cGroup_1; } //=> "." public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } //ID public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; } } public class PreferenceTypeElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "PreferenceType"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final EnumLiteralDeclaration cStringEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); private final Keyword cStringStringKeyword_0_0 = (Keyword)cStringEnumLiteralDeclaration_0.eContents().get(0); private final EnumLiteralDeclaration cIntegerEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); private final Keyword cIntegerIntKeyword_1_0 = (Keyword)cIntegerEnumLiteralDeclaration_1.eContents().get(0); private final EnumLiteralDeclaration cBooleanEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); private final Keyword cBooleanBooleanKeyword_2_0 = (Keyword)cBooleanEnumLiteralDeclaration_2.eContents().get(0); private final EnumLiteralDeclaration cFloatEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); private final Keyword cFloatFloatKeyword_3_0 = (Keyword)cFloatEnumLiteralDeclaration_3.eContents().get(0); private final EnumLiteralDeclaration cLongEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); private final Keyword cLongLongKeyword_4_0 = (Keyword)cLongEnumLiteralDeclaration_4.eContents().get(0); //enum PreferenceType: // String | Integer="int" | Boolean="boolean" | Float="float" | Long="long"; public EnumRule getRule() { return rule; } //String | Integer="int" | Boolean="boolean" | Float="float" | Long="long" public Alternatives getAlternatives() { return cAlternatives; } //String public EnumLiteralDeclaration getStringEnumLiteralDeclaration_0() { return cStringEnumLiteralDeclaration_0; } //"String" public Keyword getStringStringKeyword_0_0() { return cStringStringKeyword_0_0; } //Integer="int" public EnumLiteralDeclaration getIntegerEnumLiteralDeclaration_1() { return cIntegerEnumLiteralDeclaration_1; } //"int" public Keyword getIntegerIntKeyword_1_0() { return cIntegerIntKeyword_1_0; } //Boolean="boolean" public EnumLiteralDeclaration getBooleanEnumLiteralDeclaration_2() { return cBooleanEnumLiteralDeclaration_2; } //"boolean" public Keyword getBooleanBooleanKeyword_2_0() { return cBooleanBooleanKeyword_2_0; } //Float="float" public EnumLiteralDeclaration getFloatEnumLiteralDeclaration_3() { return cFloatEnumLiteralDeclaration_3; } //"float" public Keyword getFloatFloatKeyword_3_0() { return cFloatFloatKeyword_3_0; } //Long="long" public EnumLiteralDeclaration getLongEnumLiteralDeclaration_4() { return cLongEnumLiteralDeclaration_4; } //"long" public Keyword getLongLongKeyword_4_0() { return cLongLongKeyword_4_0; } } public class BooleanValueElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanValue"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final EnumLiteralDeclaration cTrueEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); private final Keyword cTrueTrueKeyword_0_0 = (Keyword)cTrueEnumLiteralDeclaration_0.eContents().get(0); private final EnumLiteralDeclaration cFalseEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); private final Keyword cFalseFalseKeyword_1_0 = (Keyword)cFalseEnumLiteralDeclaration_1.eContents().get(0); //enum BooleanValue: // true | false; public EnumRule getRule() { return rule; } //true | false public Alternatives getAlternatives() { return cAlternatives; } //true public EnumLiteralDeclaration getTrueEnumLiteralDeclaration_0() { return cTrueEnumLiteralDeclaration_0; } //"true" public Keyword getTrueTrueKeyword_0_0() { return cTrueTrueKeyword_0_0; } //false public EnumLiteralDeclaration getFalseEnumLiteralDeclaration_1() { return cFalseEnumLiteralDeclaration_1; } //"false" public Keyword getFalseFalseKeyword_1_0() { return cFalseFalseKeyword_1_0; } } private final ModelElements pModel; private final PreferencesBlockElements pPreferencesBlock; private final PreferenceElements pPreference; private final LiteralElements pLiteral; private final PreferenceTypeElements unknownRulePreferenceType; private final BooleanValueElements unknownRuleBooleanValue; private final SignedNumberElements pSignedNumber; private final TerminalRule tNUMBER; private final TerminalRule tINT; private final FQNElements pFQN; private final Grammar grammar; private final TerminalsGrammarAccess gaTerminals; @Inject public SharedPreferencesModelGrammarAccess(GrammarProvider grammarProvider, TerminalsGrammarAccess gaTerminals) { this.grammar = internalFindGrammar(grammarProvider); this.gaTerminals = gaTerminals; this.pModel = new ModelElements(); this.pPreferencesBlock = new PreferencesBlockElements(); this.pPreference = new PreferenceElements(); this.pLiteral = new LiteralElements(); this.unknownRulePreferenceType = new PreferenceTypeElements(); this.unknownRuleBooleanValue = new BooleanValueElements(); this.pSignedNumber = new SignedNumberElements(); this.tNUMBER = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "NUMBER"); this.tINT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "INT"); this.pFQN = new FQNElements(); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("com.robotoworks.mechanoid.sharedprefs.SharedPreferencesModel".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: // "package" packageName=FQN preferencesBlock=PreferencesBlock; public ModelElements getModelAccess() { return pModel; } public ParserRule getModelRule() { return getModelAccess().getRule(); } //PreferencesBlock: // "preferences" name=ID "{" prefs+=Preference* "}"; public PreferencesBlockElements getPreferencesBlockAccess() { return pPreferencesBlock; } public ParserRule getPreferencesBlockRule() { return getPreferencesBlockAccess().getRule(); } //Preference: // name=ID ":" type=PreferenceType ("=" defaultValue=Literal)?; public PreferenceElements getPreferenceAccess() { return pPreference; } public ParserRule getPreferenceRule() { return getPreferenceAccess().getRule(); } //Literal: // {BooleanLiteral} literal=BooleanValue | {StringLiteral} literal=STRING | {NumericLiteral} literal=SignedNumber; public LiteralElements getLiteralAccess() { return pLiteral; } public ParserRule getLiteralRule() { return getLiteralAccess().getRule(); } //enum PreferenceType: // String | Integer="int" | Boolean="boolean" | Float="float" | Long="long"; public PreferenceTypeElements getPreferenceTypeAccess() { return unknownRulePreferenceType; } public EnumRule getPreferenceTypeRule() { return getPreferenceTypeAccess().getRule(); } //enum BooleanValue: // true | false; public BooleanValueElements getBooleanValueAccess() { return unknownRuleBooleanValue; } public EnumRule getBooleanValueRule() { return getBooleanValueAccess().getRule(); } //SignedNumber returns ecore::EBigDecimal: // "-"? NUMBER; public SignedNumberElements getSignedNumberAccess() { return pSignedNumber; } public ParserRule getSignedNumberRule() { return getSignedNumberAccess().getRule(); } //terminal NUMBER returns ecore::EBigDecimal: // "0".."9"* ("." "0".."9"+)?; public TerminalRule getNUMBERRule() { return tNUMBER; } //terminal INT returns ecore::EInt: // "$$$don\'t use this anymore$$$"; public TerminalRule getINTRule() { return tINT; } //FQN: // ID ("." ID)*; public FQNElements getFQNAccess() { return pFQN; } public ParserRule getFQNRule() { return getFQNAccess().getRule(); } //terminal ID: // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*; public TerminalRule getIDRule() { return gaTerminals.getIDRule(); } //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(); } }