/*
* 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();
}
}