/* * generated by Xtext */ package com.robotoworks.mechanoid.ops.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 OpServiceModelGrammarAccess 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 cPackageNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cPackageNameAssignment_1.eContents().get(0); private final Assignment cServiceAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cServiceServiceBlockParserRuleCall_2_0 = (RuleCall)cServiceAssignment_2.eContents().get(0); //Model: // "package" packageName=QualifiedName service=ServiceBlock; public ParserRule getRule() { return rule; } //"package" packageName=QualifiedName service=ServiceBlock public Group getGroup() { return cGroup; } //"package" public Keyword getPackageKeyword_0() { return cPackageKeyword_0; } //packageName=QualifiedName public Assignment getPackageNameAssignment_1() { return cPackageNameAssignment_1; } //QualifiedName public RuleCall getPackageNameQualifiedNameParserRuleCall_1_0() { return cPackageNameQualifiedNameParserRuleCall_1_0; } //service=ServiceBlock public Assignment getServiceAssignment_2() { return cServiceAssignment_2; } //ServiceBlock public RuleCall getServiceServiceBlockParserRuleCall_2_0() { return cServiceServiceBlockParserRuleCall_2_0; } } public class ServiceBlockElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ServiceBlock"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cServiceKeyword_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 cOpsAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cOpsOperationParserRuleCall_3_0 = (RuleCall)cOpsAssignment_3.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //ServiceBlock: // "service" name=ID "{" ops+=Operation* "}"; public ParserRule getRule() { return rule; } //"service" name=ID "{" ops+=Operation* "}" public Group getGroup() { return cGroup; } //"service" public Keyword getServiceKeyword_0() { return cServiceKeyword_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; } //ops+=Operation* public Assignment getOpsAssignment_3() { return cOpsAssignment_3; } //Operation public RuleCall getOpsOperationParserRuleCall_3_0() { return cOpsOperationParserRuleCall_3_0; } //"}" public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } } public class OperationElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Operation"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cOperationKeyword_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 cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Assignment cArgsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); private final RuleCall cArgsOperationArgParserRuleCall_3_0_0 = (RuleCall)cArgsAssignment_3_0.eContents().get(0); private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); private final Assignment cArgsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); private final RuleCall cArgsOperationArgParserRuleCall_3_1_1_0 = (RuleCall)cArgsAssignment_3_1_1.eContents().get(0); private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); private final Assignment cUniqueClauseAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cUniqueClauseUniqueClauseParserRuleCall_5_0 = (RuleCall)cUniqueClauseAssignment_5.eContents().get(0); //Operation: // "operation" name=ID "(" (args+=OperationArg ("," args+=OperationArg)*)? ")" uniqueClause=UniqueClause?; public ParserRule getRule() { return rule; } //"operation" name=ID "(" (args+=OperationArg ("," args+=OperationArg)*)? ")" uniqueClause=UniqueClause? public Group getGroup() { return cGroup; } //"operation" public Keyword getOperationKeyword_0() { return cOperationKeyword_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } //"(" public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } //(args+=OperationArg ("," args+=OperationArg)*)? public Group getGroup_3() { return cGroup_3; } //args+=OperationArg public Assignment getArgsAssignment_3_0() { return cArgsAssignment_3_0; } //OperationArg public RuleCall getArgsOperationArgParserRuleCall_3_0_0() { return cArgsOperationArgParserRuleCall_3_0_0; } //("," args+=OperationArg)* public Group getGroup_3_1() { return cGroup_3_1; } //"," public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } //args+=OperationArg public Assignment getArgsAssignment_3_1_1() { return cArgsAssignment_3_1_1; } //OperationArg public RuleCall getArgsOperationArgParserRuleCall_3_1_1_0() { return cArgsOperationArgParserRuleCall_3_1_1_0; } //")" public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } //uniqueClause=UniqueClause? public Assignment getUniqueClauseAssignment_5() { return cUniqueClauseAssignment_5; } //UniqueClause public RuleCall getUniqueClauseUniqueClauseParserRuleCall_5_0() { return cUniqueClauseUniqueClauseParserRuleCall_5_0; } } public class OperationArgElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OperationArg"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cTypeOpArgTypeEnumRuleCall_0_0 = (RuleCall)cTypeAssignment_0.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); //OperationArg: // type=OpArgType name=ID; public ParserRule getRule() { return rule; } //type=OpArgType name=ID public Group getGroup() { return cGroup; } //type=OpArgType public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } //OpArgType public RuleCall getTypeOpArgTypeEnumRuleCall_0_0() { return cTypeOpArgTypeEnumRuleCall_0_0; } //name=ID public Assignment getNameAssignment_1() { return cNameAssignment_1; } //ID public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } } public class UniqueClauseElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UniqueClause"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); private final Action cNotUniqueAction_0_0 = (Action)cGroup_0.eContents().get(0); private final Keyword cNotKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); private final Keyword cUniqueKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Action cUniqueDeclarationAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Keyword cUniqueKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); private final Keyword cLeftParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); private final Assignment cArgsAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3); private final CrossReference cArgsOperationArgCrossReference_1_3_0 = (CrossReference)cArgsAssignment_1_3.eContents().get(0); private final RuleCall cArgsOperationArgIDTerminalRuleCall_1_3_0_1 = (RuleCall)cArgsOperationArgCrossReference_1_3_0.eContents().get(1); private final Group cGroup_1_4 = (Group)cGroup_1.eContents().get(4); private final Keyword cCommaKeyword_1_4_0 = (Keyword)cGroup_1_4.eContents().get(0); private final Assignment cArgsAssignment_1_4_1 = (Assignment)cGroup_1_4.eContents().get(1); private final CrossReference cArgsOperationArgCrossReference_1_4_1_0 = (CrossReference)cArgsAssignment_1_4_1.eContents().get(0); private final RuleCall cArgsOperationArgIDTerminalRuleCall_1_4_1_0_1 = (RuleCall)cArgsOperationArgCrossReference_1_4_1_0.eContents().get(1); private final Keyword cRightParenthesisKeyword_1_5 = (Keyword)cGroup_1.eContents().get(5); //UniqueClause: // {NotUnique} "not" "unique" | {UniqueDeclaration} "unique" "(" args+=[OperationArg] ("," args+=[OperationArg])* ")"; public ParserRule getRule() { return rule; } //{NotUnique} "not" "unique" | {UniqueDeclaration} "unique" "(" args+=[OperationArg] ("," args+=[OperationArg])* ")" public Alternatives getAlternatives() { return cAlternatives; } //{NotUnique} "not" "unique" public Group getGroup_0() { return cGroup_0; } //{NotUnique} public Action getNotUniqueAction_0_0() { return cNotUniqueAction_0_0; } //"not" public Keyword getNotKeyword_0_1() { return cNotKeyword_0_1; } //"unique" public Keyword getUniqueKeyword_0_2() { return cUniqueKeyword_0_2; } //{UniqueDeclaration} "unique" "(" args+=[OperationArg] ("," args+=[OperationArg])* ")" public Group getGroup_1() { return cGroup_1; } //{UniqueDeclaration} public Action getUniqueDeclarationAction_1_0() { return cUniqueDeclarationAction_1_0; } //"unique" public Keyword getUniqueKeyword_1_1() { return cUniqueKeyword_1_1; } //"(" public Keyword getLeftParenthesisKeyword_1_2() { return cLeftParenthesisKeyword_1_2; } //args+=[OperationArg] public Assignment getArgsAssignment_1_3() { return cArgsAssignment_1_3; } //[OperationArg] public CrossReference getArgsOperationArgCrossReference_1_3_0() { return cArgsOperationArgCrossReference_1_3_0; } //ID public RuleCall getArgsOperationArgIDTerminalRuleCall_1_3_0_1() { return cArgsOperationArgIDTerminalRuleCall_1_3_0_1; } //("," args+=[OperationArg])* public Group getGroup_1_4() { return cGroup_1_4; } //"," public Keyword getCommaKeyword_1_4_0() { return cCommaKeyword_1_4_0; } //args+=[OperationArg] public Assignment getArgsAssignment_1_4_1() { return cArgsAssignment_1_4_1; } //[OperationArg] public CrossReference getArgsOperationArgCrossReference_1_4_1_0() { return cArgsOperationArgCrossReference_1_4_1_0; } //ID public RuleCall getArgsOperationArgIDTerminalRuleCall_1_4_1_0_1() { return cArgsOperationArgIDTerminalRuleCall_1_4_1_0_1; } //")" public Keyword getRightParenthesisKeyword_1_5() { return cRightParenthesisKeyword_1_5; } } public class QualifiedNameElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedName"); 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); //QualifiedName: // 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 OpArgTypeElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "OpArgType"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final EnumLiteralDeclaration cBooleanEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); private final Keyword cBooleanBooleanKeyword_0_0 = (Keyword)cBooleanEnumLiteralDeclaration_0.eContents().get(0); private final EnumLiteralDeclaration cStringEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); private final Keyword cStringStringKeyword_1_0 = (Keyword)cStringEnumLiteralDeclaration_1.eContents().get(0); private final EnumLiteralDeclaration cIntegerEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); private final Keyword cIntegerIntKeyword_2_0 = (Keyword)cIntegerEnumLiteralDeclaration_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 cDoubleEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); private final Keyword cDoubleDoubleKeyword_4_0 = (Keyword)cDoubleEnumLiteralDeclaration_4.eContents().get(0); private final EnumLiteralDeclaration cLongEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); private final Keyword cLongLongKeyword_5_0 = (Keyword)cLongEnumLiteralDeclaration_5.eContents().get(0); private final EnumLiteralDeclaration cParcelableEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); private final Keyword cParcelableParcelableKeyword_6_0 = (Keyword)cParcelableEnumLiteralDeclaration_6.eContents().get(0); //enum OpArgType: // Boolean="boolean" | String | Integer="int" | Float="float" | Double="double" | Long="long" | Parcelable; public EnumRule getRule() { return rule; } //Boolean="boolean" | String | Integer="int" | Float="float" | Double="double" | Long="long" | Parcelable public Alternatives getAlternatives() { return cAlternatives; } //Boolean="boolean" public EnumLiteralDeclaration getBooleanEnumLiteralDeclaration_0() { return cBooleanEnumLiteralDeclaration_0; } //"boolean" public Keyword getBooleanBooleanKeyword_0_0() { return cBooleanBooleanKeyword_0_0; } //String public EnumLiteralDeclaration getStringEnumLiteralDeclaration_1() { return cStringEnumLiteralDeclaration_1; } //"String" public Keyword getStringStringKeyword_1_0() { return cStringStringKeyword_1_0; } //Integer="int" public EnumLiteralDeclaration getIntegerEnumLiteralDeclaration_2() { return cIntegerEnumLiteralDeclaration_2; } //"int" public Keyword getIntegerIntKeyword_2_0() { return cIntegerIntKeyword_2_0; } //Float="float" public EnumLiteralDeclaration getFloatEnumLiteralDeclaration_3() { return cFloatEnumLiteralDeclaration_3; } //"float" public Keyword getFloatFloatKeyword_3_0() { return cFloatFloatKeyword_3_0; } //Double="double" public EnumLiteralDeclaration getDoubleEnumLiteralDeclaration_4() { return cDoubleEnumLiteralDeclaration_4; } //"double" public Keyword getDoubleDoubleKeyword_4_0() { return cDoubleDoubleKeyword_4_0; } //Long="long" public EnumLiteralDeclaration getLongEnumLiteralDeclaration_5() { return cLongEnumLiteralDeclaration_5; } //"long" public Keyword getLongLongKeyword_5_0() { return cLongLongKeyword_5_0; } //Parcelable public EnumLiteralDeclaration getParcelableEnumLiteralDeclaration_6() { return cParcelableEnumLiteralDeclaration_6; } //"Parcelable" public Keyword getParcelableParcelableKeyword_6_0() { return cParcelableParcelableKeyword_6_0; } } private final ModelElements pModel; private final ServiceBlockElements pServiceBlock; private final OperationElements pOperation; private final OperationArgElements pOperationArg; private final UniqueClauseElements pUniqueClause; private final OpArgTypeElements unknownRuleOpArgType; private final QualifiedNameElements pQualifiedName; private final Grammar grammar; private final TerminalsGrammarAccess gaTerminals; @Inject public OpServiceModelGrammarAccess(GrammarProvider grammarProvider, TerminalsGrammarAccess gaTerminals) { this.grammar = internalFindGrammar(grammarProvider); this.gaTerminals = gaTerminals; this.pModel = new ModelElements(); this.pServiceBlock = new ServiceBlockElements(); this.pOperation = new OperationElements(); this.pOperationArg = new OperationArgElements(); this.pUniqueClause = new UniqueClauseElements(); this.unknownRuleOpArgType = new OpArgTypeElements(); this.pQualifiedName = new QualifiedNameElements(); } protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { Grammar grammar = grammarProvider.getGrammar(this); while (grammar != null) { if ("com.robotoworks.mechanoid.ops.OpServiceModel".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=QualifiedName service=ServiceBlock; public ModelElements getModelAccess() { return pModel; } public ParserRule getModelRule() { return getModelAccess().getRule(); } //ServiceBlock: // "service" name=ID "{" ops+=Operation* "}"; public ServiceBlockElements getServiceBlockAccess() { return pServiceBlock; } public ParserRule getServiceBlockRule() { return getServiceBlockAccess().getRule(); } //Operation: // "operation" name=ID "(" (args+=OperationArg ("," args+=OperationArg)*)? ")" uniqueClause=UniqueClause?; public OperationElements getOperationAccess() { return pOperation; } public ParserRule getOperationRule() { return getOperationAccess().getRule(); } //OperationArg: // type=OpArgType name=ID; public OperationArgElements getOperationArgAccess() { return pOperationArg; } public ParserRule getOperationArgRule() { return getOperationArgAccess().getRule(); } //UniqueClause: // {NotUnique} "not" "unique" | {UniqueDeclaration} "unique" "(" args+=[OperationArg] ("," args+=[OperationArg])* ")"; public UniqueClauseElements getUniqueClauseAccess() { return pUniqueClause; } public ParserRule getUniqueClauseRule() { return getUniqueClauseAccess().getRule(); } //enum OpArgType: // Boolean="boolean" | String | Integer="int" | Float="float" | Double="double" | Long="long" | Parcelable; public OpArgTypeElements getOpArgTypeAccess() { return unknownRuleOpArgType; } public EnumRule getOpArgTypeRule() { return getOpArgTypeAccess().getRule(); } //QualifiedName: // ID ("." ID)*; public QualifiedNameElements getQualifiedNameAccess() { return pQualifiedName; } public ParserRule getQualifiedNameRule() { return getQualifiedNameAccess().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(); } }