| /* |
| * generated by Xtext |
| */ |
| package org.eclipse.ocl.xtext.completeocl.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.ocl.xtext.essentialocl.services.EssentialOCLGrammarAccess; |
| import org.eclipse.ocl.xtext.base.services.BaseGrammarAccess; |
| |
| @Singleton |
| public class CompleteOCLGrammarAccess extends AbstractGrammarElementFinder { |
| |
| |
| public class CompleteOCLDocumentCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompleteOCLDocumentCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Assignment cOwnedImportsAssignment_0 = (Assignment)cGroup.eContents().get(0); |
| private final RuleCall cOwnedImportsImportCSParserRuleCall_0_0 = (RuleCall)cOwnedImportsAssignment_0.eContents().get(0); |
| private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); |
| private final Assignment cOwnedPackagesAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); |
| private final RuleCall cOwnedPackagesPackageDeclarationCSParserRuleCall_1_0_0 = (RuleCall)cOwnedPackagesAssignment_1_0.eContents().get(0); |
| private final Assignment cOwnedContextsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); |
| private final RuleCall cOwnedContextsContextDeclCSParserRuleCall_1_1_0 = (RuleCall)cOwnedContextsAssignment_1_1.eContents().get(0); |
| |
| /// * |
| // * A Complete OCL document comprises |
| // * bullet[model imports for referenced and complemented models] |
| // * bullet[includes for additional Complete OCL documents] |
| // * bullet[libraries to augment or override the OCL Standard Library] |
| // * bullet[package declarations for package-grouped declarations] |
| // * bullet[context declarations for independent declarations] |
| // * / |
| //CompleteOCLDocumentCS: |
| // ownedImports+=ImportCS* (ownedPackages+=PackageDeclarationCS | ownedContexts+=ContextDeclCS)*; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //ownedImports+=ImportCS* (ownedPackages+=PackageDeclarationCS | ownedContexts+=ContextDeclCS)* |
| public Group getGroup() { return cGroup; } |
| |
| //ownedImports+=ImportCS* |
| public Assignment getOwnedImportsAssignment_0() { return cOwnedImportsAssignment_0; } |
| |
| //ImportCS |
| public RuleCall getOwnedImportsImportCSParserRuleCall_0_0() { return cOwnedImportsImportCSParserRuleCall_0_0; } |
| |
| //(ownedPackages+=PackageDeclarationCS | ownedContexts+=ContextDeclCS)* |
| public Alternatives getAlternatives_1() { return cAlternatives_1; } |
| |
| //ownedPackages+=PackageDeclarationCS |
| public Assignment getOwnedPackagesAssignment_1_0() { return cOwnedPackagesAssignment_1_0; } |
| |
| //PackageDeclarationCS |
| public RuleCall getOwnedPackagesPackageDeclarationCSParserRuleCall_1_0_0() { return cOwnedPackagesPackageDeclarationCSParserRuleCall_1_0_0; } |
| |
| //ownedContexts+=ContextDeclCS |
| public Assignment getOwnedContextsAssignment_1_1() { return cOwnedContextsAssignment_1_1; } |
| |
| //ContextDeclCS |
| public RuleCall getOwnedContextsContextDeclCSParserRuleCall_1_1_0() { return cOwnedContextsContextDeclCSParserRuleCall_1_1_0; } |
| } |
| |
| public class CompleteOCLNavigationOperatorNameElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompleteOCLNavigationOperatorName"); |
| private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); |
| private final Keyword cCircumflexAccentKeyword_0 = (Keyword)cAlternatives.eContents().get(0); |
| private final Keyword cCircumflexAccentCircumflexAccentKeyword_1 = (Keyword)cAlternatives.eContents().get(1); |
| |
| //CompleteOCLNavigationOperatorName: |
| // "^" | "^^"; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //"^" | "^^" |
| public Alternatives getAlternatives() { return cAlternatives; } |
| |
| //"^" |
| public Keyword getCircumflexAccentKeyword_0() { return cCircumflexAccentKeyword_0; } |
| |
| //"^^" |
| public Keyword getCircumflexAccentCircumflexAccentKeyword_1() { return cCircumflexAccentCircumflexAccentKeyword_1; } |
| } |
| |
| public class ClassifierContextDeclCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ClassifierContextDeclCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Keyword cContextKeyword_0 = (Keyword)cGroup.eContents().get(0); |
| private final Assignment cSelfNameAssignment_1 = (Assignment)cGroup.eContents().get(1); |
| private final RuleCall cSelfNameUnrestrictedNameParserRuleCall_1_0 = (RuleCall)cSelfNameAssignment_1.eContents().get(0); |
| private final Assignment cOwnedPathNameAssignment_2 = (Assignment)cGroup.eContents().get(2); |
| private final RuleCall cOwnedPathNamePathNameCSParserRuleCall_2_0 = (RuleCall)cOwnedPathNameAssignment_2.eContents().get(0); |
| private final Assignment cOwnedSignatureAssignment_3 = (Assignment)cGroup.eContents().get(3); |
| private final RuleCall cOwnedSignatureTemplateSignatureCSParserRuleCall_3_0 = (RuleCall)cOwnedSignatureAssignment_3.eContents().get(0); |
| private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); |
| private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0); |
| private final Keyword cInvKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0); |
| private final Assignment cOwnedInvariantsAssignment_4_0_1 = (Assignment)cGroup_4_0.eContents().get(1); |
| private final RuleCall cOwnedInvariantsConstraintCSParserRuleCall_4_0_1_0 = (RuleCall)cOwnedInvariantsAssignment_4_0_1.eContents().get(0); |
| private final Assignment cOwnedDefinitionsAssignment_4_1 = (Assignment)cAlternatives_4.eContents().get(1); |
| private final RuleCall cOwnedDefinitionsDefCSParserRuleCall_4_1_0 = (RuleCall)cOwnedDefinitionsAssignment_4_1.eContents().get(0); |
| |
| //ClassifierContextDeclCS: |
| // "context" selfName=UnrestrictedName? ownedPathName=PathNameCS ownedSignature=TemplateSignatureCS? ("inv" |
| // ownedInvariants+=ConstraintCS | ownedDefinitions+=DefCS)+; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //"context" selfName=UnrestrictedName? ownedPathName=PathNameCS ownedSignature=TemplateSignatureCS? ("inv" |
| //ownedInvariants+=ConstraintCS | ownedDefinitions+=DefCS)+ |
| public Group getGroup() { return cGroup; } |
| |
| //"context" |
| public Keyword getContextKeyword_0() { return cContextKeyword_0; } |
| |
| //selfName=UnrestrictedName? |
| public Assignment getSelfNameAssignment_1() { return cSelfNameAssignment_1; } |
| |
| //UnrestrictedName |
| public RuleCall getSelfNameUnrestrictedNameParserRuleCall_1_0() { return cSelfNameUnrestrictedNameParserRuleCall_1_0; } |
| |
| //ownedPathName=PathNameCS |
| public Assignment getOwnedPathNameAssignment_2() { return cOwnedPathNameAssignment_2; } |
| |
| //PathNameCS |
| public RuleCall getOwnedPathNamePathNameCSParserRuleCall_2_0() { return cOwnedPathNamePathNameCSParserRuleCall_2_0; } |
| |
| //ownedSignature=TemplateSignatureCS? |
| public Assignment getOwnedSignatureAssignment_3() { return cOwnedSignatureAssignment_3; } |
| |
| //TemplateSignatureCS |
| public RuleCall getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0() { return cOwnedSignatureTemplateSignatureCSParserRuleCall_3_0; } |
| |
| //("inv" ownedInvariants+=ConstraintCS | ownedDefinitions+=DefCS)+ |
| public Alternatives getAlternatives_4() { return cAlternatives_4; } |
| |
| //"inv" ownedInvariants+=ConstraintCS |
| public Group getGroup_4_0() { return cGroup_4_0; } |
| |
| //"inv" |
| public Keyword getInvKeyword_4_0_0() { return cInvKeyword_4_0_0; } |
| |
| //ownedInvariants+=ConstraintCS |
| public Assignment getOwnedInvariantsAssignment_4_0_1() { return cOwnedInvariantsAssignment_4_0_1; } |
| |
| //ConstraintCS |
| public RuleCall getOwnedInvariantsConstraintCSParserRuleCall_4_0_1_0() { return cOwnedInvariantsConstraintCSParserRuleCall_4_0_1_0; } |
| |
| //ownedDefinitions+=DefCS |
| public Assignment getOwnedDefinitionsAssignment_4_1() { return cOwnedDefinitionsAssignment_4_1; } |
| |
| //DefCS |
| public RuleCall getOwnedDefinitionsDefCSParserRuleCall_4_1_0() { return cOwnedDefinitionsDefCSParserRuleCall_4_1_0; } |
| } |
| |
| public class ConstraintCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConstraintCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Group cGroup_0 = (Group)cGroup.eContents().get(0); |
| private final Assignment cNameAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); |
| private final RuleCall cNameUnrestrictedNameParserRuleCall_0_0_0 = (RuleCall)cNameAssignment_0_0.eContents().get(0); |
| private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1); |
| private final Keyword cLeftParenthesisKeyword_0_1_0 = (Keyword)cGroup_0_1.eContents().get(0); |
| private final Assignment cOwnedMessageSpecificationAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1); |
| private final RuleCall cOwnedMessageSpecificationSpecificationCSParserRuleCall_0_1_1_0 = (RuleCall)cOwnedMessageSpecificationAssignment_0_1_1.eContents().get(0); |
| private final Keyword cRightParenthesisKeyword_0_1_2 = (Keyword)cGroup_0_1.eContents().get(2); |
| private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); |
| private final Assignment cOwnedSpecificationAssignment_2 = (Assignment)cGroup.eContents().get(2); |
| private final RuleCall cOwnedSpecificationSpecificationCSParserRuleCall_2_0 = (RuleCall)cOwnedSpecificationAssignment_2.eContents().get(0); |
| |
| /// * |
| // * A Constraint such as |
| // * |
| // * oclText[IsNull('should be null') : self = null] |
| // * |
| // * comprises at least the OCL specification of the constraint. The constraint may |
| // * additionally have a name which may be followed by a parenthesized expression defining an OCL |
| // * expression to be evaluated to provide an error message. |
| // * / |
| //ConstraintCS returns base::ConstraintCS: |
| // (name=UnrestrictedName ("(" ownedMessageSpecification=SpecificationCS ")")?)? ":" ownedSpecification=SpecificationCS; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //(name=UnrestrictedName ("(" ownedMessageSpecification=SpecificationCS ")")?)? ":" ownedSpecification=SpecificationCS |
| public Group getGroup() { return cGroup; } |
| |
| //(name=UnrestrictedName ("(" ownedMessageSpecification=SpecificationCS ")")?)? |
| public Group getGroup_0() { return cGroup_0; } |
| |
| //name=UnrestrictedName |
| public Assignment getNameAssignment_0_0() { return cNameAssignment_0_0; } |
| |
| //UnrestrictedName |
| public RuleCall getNameUnrestrictedNameParserRuleCall_0_0_0() { return cNameUnrestrictedNameParserRuleCall_0_0_0; } |
| |
| //("(" ownedMessageSpecification=SpecificationCS ")")? |
| public Group getGroup_0_1() { return cGroup_0_1; } |
| |
| //"(" |
| public Keyword getLeftParenthesisKeyword_0_1_0() { return cLeftParenthesisKeyword_0_1_0; } |
| |
| //ownedMessageSpecification=SpecificationCS |
| public Assignment getOwnedMessageSpecificationAssignment_0_1_1() { return cOwnedMessageSpecificationAssignment_0_1_1; } |
| |
| //SpecificationCS |
| public RuleCall getOwnedMessageSpecificationSpecificationCSParserRuleCall_0_1_1_0() { return cOwnedMessageSpecificationSpecificationCSParserRuleCall_0_1_1_0; } |
| |
| //")" |
| public Keyword getRightParenthesisKeyword_0_1_2() { return cRightParenthesisKeyword_0_1_2; } |
| |
| //":" |
| public Keyword getColonKeyword_1() { return cColonKeyword_1; } |
| |
| //ownedSpecification=SpecificationCS |
| public Assignment getOwnedSpecificationAssignment_2() { return cOwnedSpecificationAssignment_2; } |
| |
| //SpecificationCS |
| public RuleCall getOwnedSpecificationSpecificationCSParserRuleCall_2_0() { return cOwnedSpecificationSpecificationCSParserRuleCall_2_0; } |
| } |
| |
| public class ContextDeclCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContextDeclCS"); |
| private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); |
| private final RuleCall cPropertyContextDeclCSParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); |
| private final RuleCall cClassifierContextDeclCSParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); |
| private final RuleCall cOperationContextDeclCSParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); |
| |
| /// * |
| // * A Context declaration can be a Classifier, Operation of Property Context declaration. |
| // * / ContextDeclCS: |
| // PropertyContextDeclCS | ClassifierContextDeclCS | OperationContextDeclCS; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //PropertyContextDeclCS | ClassifierContextDeclCS | OperationContextDeclCS |
| public Alternatives getAlternatives() { return cAlternatives; } |
| |
| //PropertyContextDeclCS |
| public RuleCall getPropertyContextDeclCSParserRuleCall_0() { return cPropertyContextDeclCSParserRuleCall_0; } |
| |
| //ClassifierContextDeclCS |
| public RuleCall getClassifierContextDeclCSParserRuleCall_1() { return cClassifierContextDeclCSParserRuleCall_1; } |
| |
| //OperationContextDeclCS |
| public RuleCall getOperationContextDeclCSParserRuleCall_2() { return cOperationContextDeclCSParserRuleCall_2; } |
| } |
| |
| public class DefCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DefCS"); |
| private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); |
| private final RuleCall cDefOperationCSParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); |
| private final RuleCall cDefPropertyCSParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); |
| |
| /// * |
| // * A definition can be an, Operation or Property definition. |
| // * / DefCS: |
| // DefOperationCS | DefPropertyCS; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //DefOperationCS | DefPropertyCS |
| public Alternatives getAlternatives() { return cAlternatives; } |
| |
| //DefOperationCS |
| public RuleCall getDefOperationCSParserRuleCall_0() { return cDefOperationCSParserRuleCall_0; } |
| |
| //DefPropertyCS |
| public RuleCall getDefPropertyCSParserRuleCall_1() { return cDefPropertyCSParserRuleCall_1; } |
| } |
| |
| public class DefOperationCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DefOperationCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Assignment cIsStaticAssignment_0 = (Assignment)cGroup.eContents().get(0); |
| private final Keyword cIsStaticStaticKeyword_0_0 = (Keyword)cIsStaticAssignment_0.eContents().get(0); |
| private final Keyword cDefKeyword_1 = (Keyword)cGroup.eContents().get(1); |
| private final RuleCall cUnrestrictedNameParserRuleCall_2 = (RuleCall)cGroup.eContents().get(2); |
| private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); |
| private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); |
| private final RuleCall cNameUnrestrictedNameParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); |
| private final Assignment cOwnedSignatureAssignment_5 = (Assignment)cGroup.eContents().get(5); |
| private final RuleCall cOwnedSignatureTemplateSignatureCSParserRuleCall_5_0 = (RuleCall)cOwnedSignatureAssignment_5.eContents().get(0); |
| private final Keyword cLeftParenthesisKeyword_6 = (Keyword)cGroup.eContents().get(6); |
| private final Group cGroup_7 = (Group)cGroup.eContents().get(7); |
| private final Assignment cOwnedParametersAssignment_7_0 = (Assignment)cGroup_7.eContents().get(0); |
| private final RuleCall cOwnedParametersDefParameterCSParserRuleCall_7_0_0 = (RuleCall)cOwnedParametersAssignment_7_0.eContents().get(0); |
| private final Group cGroup_7_1 = (Group)cGroup_7.eContents().get(1); |
| private final Keyword cCommaKeyword_7_1_0 = (Keyword)cGroup_7_1.eContents().get(0); |
| private final Assignment cOwnedParametersAssignment_7_1_1 = (Assignment)cGroup_7_1.eContents().get(1); |
| private final RuleCall cOwnedParametersDefParameterCSParserRuleCall_7_1_1_0 = (RuleCall)cOwnedParametersAssignment_7_1_1.eContents().get(0); |
| private final Keyword cRightParenthesisKeyword_8 = (Keyword)cGroup.eContents().get(8); |
| private final Keyword cColonKeyword_9 = (Keyword)cGroup.eContents().get(9); |
| private final Assignment cOwnedTypeAssignment_10 = (Assignment)cGroup.eContents().get(10); |
| private final RuleCall cOwnedTypeComplexTypeCSParserRuleCall_10_0 = (RuleCall)cOwnedTypeAssignment_10.eContents().get(0); |
| private final Keyword cEqualsSignKeyword_11 = (Keyword)cGroup.eContents().get(11); |
| private final Assignment cOwnedSpecificationAssignment_12 = (Assignment)cGroup.eContents().get(12); |
| private final RuleCall cOwnedSpecificationSpecificationCSParserRuleCall_12_0 = (RuleCall)cOwnedSpecificationAssignment_12.eContents().get(0); |
| |
| /// * |
| // * An operation definition provides an additional operation for its classifier context. |
| // * |
| // * oclText[static def redundantName: isEven(i : Integer) : Boolean = i mod 2 = 0] |
| // * |
| // * comprises at least an operation name, return type and an OCL expression that evaluates the operation value. |
| // * The operation may have parameters and may be declared static in which case there is no oclText[self]. |
| // * |
| // * For compatibility with invariants the definition may have a name that is never used. |
| // * / |
| //DefOperationCS: |
| // isStatic?="static"? "def" UnrestrictedName? ":" name=UnrestrictedName ownedSignature=TemplateSignatureCS? "(" |
| // (ownedParameters+=DefParameterCS ("," ownedParameters+=DefParameterCS)*)? ")" ":" ownedType=ComplexTypeCS? "=" |
| // ownedSpecification=SpecificationCS; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //isStatic?="static"? "def" UnrestrictedName? ":" name=UnrestrictedName ownedSignature=TemplateSignatureCS? "(" |
| //(ownedParameters+=DefParameterCS ("," ownedParameters+=DefParameterCS)*)? ")" ":" ownedType=ComplexTypeCS? "=" |
| //ownedSpecification=SpecificationCS |
| public Group getGroup() { return cGroup; } |
| |
| //isStatic?="static"? |
| public Assignment getIsStaticAssignment_0() { return cIsStaticAssignment_0; } |
| |
| //"static" |
| public Keyword getIsStaticStaticKeyword_0_0() { return cIsStaticStaticKeyword_0_0; } |
| |
| //"def" |
| public Keyword getDefKeyword_1() { return cDefKeyword_1; } |
| |
| //UnrestrictedName? |
| public RuleCall getUnrestrictedNameParserRuleCall_2() { return cUnrestrictedNameParserRuleCall_2; } |
| |
| //":" |
| public Keyword getColonKeyword_3() { return cColonKeyword_3; } |
| |
| //name=UnrestrictedName |
| public Assignment getNameAssignment_4() { return cNameAssignment_4; } |
| |
| //UnrestrictedName |
| public RuleCall getNameUnrestrictedNameParserRuleCall_4_0() { return cNameUnrestrictedNameParserRuleCall_4_0; } |
| |
| //ownedSignature=TemplateSignatureCS? |
| public Assignment getOwnedSignatureAssignment_5() { return cOwnedSignatureAssignment_5; } |
| |
| //TemplateSignatureCS |
| public RuleCall getOwnedSignatureTemplateSignatureCSParserRuleCall_5_0() { return cOwnedSignatureTemplateSignatureCSParserRuleCall_5_0; } |
| |
| //"(" |
| public Keyword getLeftParenthesisKeyword_6() { return cLeftParenthesisKeyword_6; } |
| |
| //(ownedParameters+=DefParameterCS ("," ownedParameters+=DefParameterCS)*)? |
| public Group getGroup_7() { return cGroup_7; } |
| |
| //ownedParameters+=DefParameterCS |
| public Assignment getOwnedParametersAssignment_7_0() { return cOwnedParametersAssignment_7_0; } |
| |
| //DefParameterCS |
| public RuleCall getOwnedParametersDefParameterCSParserRuleCall_7_0_0() { return cOwnedParametersDefParameterCSParserRuleCall_7_0_0; } |
| |
| //("," ownedParameters+=DefParameterCS)* |
| public Group getGroup_7_1() { return cGroup_7_1; } |
| |
| //"," |
| public Keyword getCommaKeyword_7_1_0() { return cCommaKeyword_7_1_0; } |
| |
| //ownedParameters+=DefParameterCS |
| public Assignment getOwnedParametersAssignment_7_1_1() { return cOwnedParametersAssignment_7_1_1; } |
| |
| //DefParameterCS |
| public RuleCall getOwnedParametersDefParameterCSParserRuleCall_7_1_1_0() { return cOwnedParametersDefParameterCSParserRuleCall_7_1_1_0; } |
| |
| //")" |
| public Keyword getRightParenthesisKeyword_8() { return cRightParenthesisKeyword_8; } |
| |
| //":" |
| public Keyword getColonKeyword_9() { return cColonKeyword_9; } |
| |
| //ownedType=ComplexTypeCS? |
| public Assignment getOwnedTypeAssignment_10() { return cOwnedTypeAssignment_10; } |
| |
| //ComplexTypeCS |
| public RuleCall getOwnedTypeComplexTypeCSParserRuleCall_10_0() { return cOwnedTypeComplexTypeCSParserRuleCall_10_0; } |
| |
| //"=" |
| public Keyword getEqualsSignKeyword_11() { return cEqualsSignKeyword_11; } |
| |
| //ownedSpecification=SpecificationCS |
| public Assignment getOwnedSpecificationAssignment_12() { return cOwnedSpecificationAssignment_12; } |
| |
| //SpecificationCS |
| public RuleCall getOwnedSpecificationSpecificationCSParserRuleCall_12_0() { return cOwnedSpecificationSpecificationCSParserRuleCall_12_0; } |
| } |
| |
| public class DefParameterCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DefParameterCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); |
| private final RuleCall cNameUnrestrictedNameParserRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); |
| private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); |
| private final Assignment cOwnedTypeAssignment_2 = (Assignment)cGroup.eContents().get(2); |
| private final RuleCall cOwnedTypeComplexTypeCSParserRuleCall_2_0 = (RuleCall)cOwnedTypeAssignment_2.eContents().get(0); |
| |
| //DefParameterCS returns base::ParameterCS: |
| // name=UnrestrictedName ":" ownedType=ComplexTypeCS; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //name=UnrestrictedName ":" ownedType=ComplexTypeCS |
| public Group getGroup() { return cGroup; } |
| |
| //name=UnrestrictedName |
| public Assignment getNameAssignment_0() { return cNameAssignment_0; } |
| |
| //UnrestrictedName |
| public RuleCall getNameUnrestrictedNameParserRuleCall_0_0() { return cNameUnrestrictedNameParserRuleCall_0_0; } |
| |
| //":" |
| public Keyword getColonKeyword_1() { return cColonKeyword_1; } |
| |
| //ownedType=ComplexTypeCS |
| public Assignment getOwnedTypeAssignment_2() { return cOwnedTypeAssignment_2; } |
| |
| //ComplexTypeCS |
| public RuleCall getOwnedTypeComplexTypeCSParserRuleCall_2_0() { return cOwnedTypeComplexTypeCSParserRuleCall_2_0; } |
| } |
| |
| public class DefPropertyCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DefPropertyCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Assignment cIsStaticAssignment_0 = (Assignment)cGroup.eContents().get(0); |
| private final Keyword cIsStaticStaticKeyword_0_0 = (Keyword)cIsStaticAssignment_0.eContents().get(0); |
| private final Keyword cDefKeyword_1 = (Keyword)cGroup.eContents().get(1); |
| private final RuleCall cUnrestrictedNameParserRuleCall_2 = (RuleCall)cGroup.eContents().get(2); |
| private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); |
| private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); |
| private final RuleCall cNameUnrestrictedNameParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); |
| private final Keyword cColonKeyword_5 = (Keyword)cGroup.eContents().get(5); |
| private final Assignment cOwnedTypeAssignment_6 = (Assignment)cGroup.eContents().get(6); |
| private final RuleCall cOwnedTypeComplexTypeCSParserRuleCall_6_0 = (RuleCall)cOwnedTypeAssignment_6.eContents().get(0); |
| private final Keyword cEqualsSignKeyword_7 = (Keyword)cGroup.eContents().get(7); |
| private final Assignment cOwnedSpecificationAssignment_8 = (Assignment)cGroup.eContents().get(8); |
| private final RuleCall cOwnedSpecificationSpecificationCSParserRuleCall_8_0 = (RuleCall)cOwnedSpecificationAssignment_8.eContents().get(0); |
| |
| /// * |
| // * A property definition provides an additional property for its classifier context. |
| // * |
| // * oclText[static def redundantName: upperCaseName : Boolean = name.toUpperCase()] |
| // * |
| // * comprises at least a property name, type and an OCL expression that evaluates the property value. |
| // * The property may be declared static in which case there is no oclText[self]. |
| // * |
| // * For compatibility with invariants the definition may have a name that is never used. |
| // * / |
| //DefPropertyCS: |
| // isStatic?="static"? "def" UnrestrictedName? ":" name=UnrestrictedName ":" ownedType=ComplexTypeCS "=" |
| // ownedSpecification=SpecificationCS; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //isStatic?="static"? "def" UnrestrictedName? ":" name=UnrestrictedName ":" ownedType=ComplexTypeCS "=" |
| //ownedSpecification=SpecificationCS |
| public Group getGroup() { return cGroup; } |
| |
| //isStatic?="static"? |
| public Assignment getIsStaticAssignment_0() { return cIsStaticAssignment_0; } |
| |
| //"static" |
| public Keyword getIsStaticStaticKeyword_0_0() { return cIsStaticStaticKeyword_0_0; } |
| |
| //"def" |
| public Keyword getDefKeyword_1() { return cDefKeyword_1; } |
| |
| //UnrestrictedName? |
| public RuleCall getUnrestrictedNameParserRuleCall_2() { return cUnrestrictedNameParserRuleCall_2; } |
| |
| //":" |
| public Keyword getColonKeyword_3() { return cColonKeyword_3; } |
| |
| //name=UnrestrictedName |
| public Assignment getNameAssignment_4() { return cNameAssignment_4; } |
| |
| //UnrestrictedName |
| public RuleCall getNameUnrestrictedNameParserRuleCall_4_0() { return cNameUnrestrictedNameParserRuleCall_4_0; } |
| |
| //":" |
| public Keyword getColonKeyword_5() { return cColonKeyword_5; } |
| |
| //ownedType=ComplexTypeCS |
| public Assignment getOwnedTypeAssignment_6() { return cOwnedTypeAssignment_6; } |
| |
| //ComplexTypeCS |
| public RuleCall getOwnedTypeComplexTypeCSParserRuleCall_6_0() { return cOwnedTypeComplexTypeCSParserRuleCall_6_0; } |
| |
| //"=" |
| public Keyword getEqualsSignKeyword_7() { return cEqualsSignKeyword_7; } |
| |
| //ownedSpecification=SpecificationCS |
| public Assignment getOwnedSpecificationAssignment_8() { return cOwnedSpecificationAssignment_8; } |
| |
| //SpecificationCS |
| public RuleCall getOwnedSpecificationSpecificationCSParserRuleCall_8_0() { return cOwnedSpecificationSpecificationCSParserRuleCall_8_0; } |
| } |
| |
| public class ImportCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ImportCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); |
| private final Keyword cImportKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0); |
| private final Keyword cIncludeKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); |
| private final Keyword cLibraryKeyword_0_2 = (Keyword)cAlternatives_0.eContents().get(2); |
| private final Group cGroup_1 = (Group)cGroup.eContents().get(1); |
| private final Assignment cNameAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); |
| private final RuleCall cNameIdentifierParserRuleCall_1_0_0 = (RuleCall)cNameAssignment_1_0.eContents().get(0); |
| private final Keyword cColonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); |
| private final Assignment cOwnedPathNameAssignment_2 = (Assignment)cGroup.eContents().get(2); |
| private final RuleCall cOwnedPathNameURIPathNameCSParserRuleCall_2_0 = (RuleCall)cOwnedPathNameAssignment_2.eContents().get(0); |
| private final Assignment cIsAllAssignment_3 = (Assignment)cGroup.eContents().get(3); |
| private final Keyword cIsAllColonColonAsteriskKeyword_3_0 = (Keyword)cIsAllAssignment_3.eContents().get(0); |
| |
| //ImportCS returns base::ImportCS: |
| // ("import" | "include" | "library") (name=Identifier ":")? ownedPathName=URIPathNameCS isAll?="::*"?; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //("import" | "include" | "library") (name=Identifier ":")? ownedPathName=URIPathNameCS isAll?="::*"? |
| public Group getGroup() { return cGroup; } |
| |
| //"import" | "include" | "library" |
| public Alternatives getAlternatives_0() { return cAlternatives_0; } |
| |
| //"import" |
| public Keyword getImportKeyword_0_0() { return cImportKeyword_0_0; } |
| |
| //"include" |
| public Keyword getIncludeKeyword_0_1() { return cIncludeKeyword_0_1; } |
| |
| //"library" |
| public Keyword getLibraryKeyword_0_2() { return cLibraryKeyword_0_2; } |
| |
| //(name=Identifier ":")? |
| public Group getGroup_1() { return cGroup_1; } |
| |
| //name=Identifier |
| public Assignment getNameAssignment_1_0() { return cNameAssignment_1_0; } |
| |
| //Identifier |
| public RuleCall getNameIdentifierParserRuleCall_1_0_0() { return cNameIdentifierParserRuleCall_1_0_0; } |
| |
| //":" |
| public Keyword getColonKeyword_1_1() { return cColonKeyword_1_1; } |
| |
| //ownedPathName=URIPathNameCS |
| public Assignment getOwnedPathNameAssignment_2() { return cOwnedPathNameAssignment_2; } |
| |
| //URIPathNameCS |
| public RuleCall getOwnedPathNameURIPathNameCSParserRuleCall_2_0() { return cOwnedPathNameURIPathNameCSParserRuleCall_2_0; } |
| |
| //isAll?="::*"? |
| public Assignment getIsAllAssignment_3() { return cIsAllAssignment_3; } |
| |
| //"::*" |
| public Keyword getIsAllColonColonAsteriskKeyword_3_0() { return cIsAllColonColonAsteriskKeyword_3_0; } |
| } |
| |
| public class OperationContextDeclCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OperationContextDeclCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Keyword cContextKeyword_0 = (Keyword)cGroup.eContents().get(0); |
| private final Assignment cOwnedPathNameAssignment_1 = (Assignment)cGroup.eContents().get(1); |
| private final RuleCall cOwnedPathNamePathNameCSParserRuleCall_1_0 = (RuleCall)cOwnedPathNameAssignment_1.eContents().get(0); |
| private final Assignment cOwnedSignatureAssignment_2 = (Assignment)cGroup.eContents().get(2); |
| private final RuleCall cOwnedSignatureTemplateSignatureCSParserRuleCall_2_0 = (RuleCall)cOwnedSignatureAssignment_2.eContents().get(0); |
| private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); |
| private final Group cGroup_4 = (Group)cGroup.eContents().get(4); |
| private final Assignment cOwnedParametersAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0); |
| private final RuleCall cOwnedParametersParameterCSParserRuleCall_4_0_0 = (RuleCall)cOwnedParametersAssignment_4_0.eContents().get(0); |
| private final Group cGroup_4_1 = (Group)cGroup_4.eContents().get(1); |
| private final Keyword cCommaKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0); |
| private final Assignment cOwnedParametersAssignment_4_1_1 = (Assignment)cGroup_4_1.eContents().get(1); |
| private final RuleCall cOwnedParametersParameterCSParserRuleCall_4_1_1_0 = (RuleCall)cOwnedParametersAssignment_4_1_1.eContents().get(0); |
| private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); |
| private final Keyword cColonKeyword_6 = (Keyword)cGroup.eContents().get(6); |
| private final Assignment cOwnedTypeAssignment_7 = (Assignment)cGroup.eContents().get(7); |
| private final RuleCall cOwnedTypeComplexTypeCSParserRuleCall_7_0 = (RuleCall)cOwnedTypeAssignment_7.eContents().get(0); |
| private final Alternatives cAlternatives_8 = (Alternatives)cGroup.eContents().get(8); |
| private final Group cGroup_8_0 = (Group)cAlternatives_8.eContents().get(0); |
| private final Keyword cPreKeyword_8_0_0 = (Keyword)cGroup_8_0.eContents().get(0); |
| private final Assignment cOwnedPreconditionsAssignment_8_0_1 = (Assignment)cGroup_8_0.eContents().get(1); |
| private final RuleCall cOwnedPreconditionsConstraintCSParserRuleCall_8_0_1_0 = (RuleCall)cOwnedPreconditionsAssignment_8_0_1.eContents().get(0); |
| private final Group cGroup_8_1 = (Group)cAlternatives_8.eContents().get(1); |
| private final Keyword cPostKeyword_8_1_0 = (Keyword)cGroup_8_1.eContents().get(0); |
| private final Assignment cOwnedPostconditionsAssignment_8_1_1 = (Assignment)cGroup_8_1.eContents().get(1); |
| private final RuleCall cOwnedPostconditionsConstraintCSParserRuleCall_8_1_1_0 = (RuleCall)cOwnedPostconditionsAssignment_8_1_1.eContents().get(0); |
| private final Group cGroup_8_2 = (Group)cAlternatives_8.eContents().get(2); |
| private final Keyword cBodyKeyword_8_2_0 = (Keyword)cGroup_8_2.eContents().get(0); |
| private final RuleCall cUnrestrictedNameParserRuleCall_8_2_1 = (RuleCall)cGroup_8_2.eContents().get(1); |
| private final Keyword cColonKeyword_8_2_2 = (Keyword)cGroup_8_2.eContents().get(2); |
| private final Assignment cOwnedBodiesAssignment_8_2_3 = (Assignment)cGroup_8_2.eContents().get(3); |
| private final RuleCall cOwnedBodiesSpecificationCSParserRuleCall_8_2_3_0 = (RuleCall)cOwnedBodiesAssignment_8_2_3.eContents().get(0); |
| |
| /// * |
| // * An operation context declaration complements an existing operation with additional details. |
| // * |
| // * oclText[context (T) Stack::pop() : T] |
| // * oclText[pre NotEmptyPop: size() > 0] |
| // * oclText[post: size()@pre = size() + 1] |
| // * |
| // * The operation declaration comprises at least an operation name, which must be qualified with at least a |
| // * class name. If used outside a package declaration, package name qualification is also needed. |
| // * If the return type is omitted OclVoid is used. |
| // * The operation may also have operation parameters and template parameters. |
| // * The declaration may be followed by any number of preconditions, |
| // * and/or postconditions. It may also be followed by a body expression that defines the evaluation. |
| // * |
| // * For compatibility with invariants the body expression may have a name that is never used. |
| // * / |
| //OperationContextDeclCS: |
| // "context" ownedPathName=PathNameCS ownedSignature=TemplateSignatureCS? "(" (ownedParameters+=ParameterCS ("," |
| // ownedParameters+=ParameterCS)*)? ")" ":" ownedType=ComplexTypeCS? ("pre" ownedPreconditions+=ConstraintCS | "post" |
| // ownedPostconditions+=ConstraintCS | "body" UnrestrictedName? ":" ownedBodies+=SpecificationCS)*; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //"context" ownedPathName=PathNameCS ownedSignature=TemplateSignatureCS? "(" (ownedParameters+=ParameterCS ("," |
| //ownedParameters+=ParameterCS)*)? ")" ":" ownedType=ComplexTypeCS? ("pre" ownedPreconditions+=ConstraintCS | "post" |
| //ownedPostconditions+=ConstraintCS | "body" UnrestrictedName? ":" ownedBodies+=SpecificationCS)* |
| public Group getGroup() { return cGroup; } |
| |
| //"context" |
| public Keyword getContextKeyword_0() { return cContextKeyword_0; } |
| |
| //ownedPathName=PathNameCS |
| public Assignment getOwnedPathNameAssignment_1() { return cOwnedPathNameAssignment_1; } |
| |
| //PathNameCS |
| public RuleCall getOwnedPathNamePathNameCSParserRuleCall_1_0() { return cOwnedPathNamePathNameCSParserRuleCall_1_0; } |
| |
| //ownedSignature=TemplateSignatureCS? |
| public Assignment getOwnedSignatureAssignment_2() { return cOwnedSignatureAssignment_2; } |
| |
| //TemplateSignatureCS |
| public RuleCall getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0() { return cOwnedSignatureTemplateSignatureCSParserRuleCall_2_0; } |
| |
| //"(" |
| public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; } |
| |
| //(ownedParameters+=ParameterCS ("," ownedParameters+=ParameterCS)*)? |
| public Group getGroup_4() { return cGroup_4; } |
| |
| //ownedParameters+=ParameterCS |
| public Assignment getOwnedParametersAssignment_4_0() { return cOwnedParametersAssignment_4_0; } |
| |
| //ParameterCS |
| public RuleCall getOwnedParametersParameterCSParserRuleCall_4_0_0() { return cOwnedParametersParameterCSParserRuleCall_4_0_0; } |
| |
| //("," ownedParameters+=ParameterCS)* |
| public Group getGroup_4_1() { return cGroup_4_1; } |
| |
| //"," |
| public Keyword getCommaKeyword_4_1_0() { return cCommaKeyword_4_1_0; } |
| |
| //ownedParameters+=ParameterCS |
| public Assignment getOwnedParametersAssignment_4_1_1() { return cOwnedParametersAssignment_4_1_1; } |
| |
| //ParameterCS |
| public RuleCall getOwnedParametersParameterCSParserRuleCall_4_1_1_0() { return cOwnedParametersParameterCSParserRuleCall_4_1_1_0; } |
| |
| //")" |
| public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } |
| |
| //":" |
| public Keyword getColonKeyword_6() { return cColonKeyword_6; } |
| |
| //ownedType=ComplexTypeCS? |
| public Assignment getOwnedTypeAssignment_7() { return cOwnedTypeAssignment_7; } |
| |
| //ComplexTypeCS |
| public RuleCall getOwnedTypeComplexTypeCSParserRuleCall_7_0() { return cOwnedTypeComplexTypeCSParserRuleCall_7_0; } |
| |
| //("pre" ownedPreconditions+=ConstraintCS | "post" ownedPostconditions+=ConstraintCS | "body" UnrestrictedName? ":" |
| //ownedBodies+=SpecificationCS)* |
| public Alternatives getAlternatives_8() { return cAlternatives_8; } |
| |
| //"pre" ownedPreconditions+=ConstraintCS |
| public Group getGroup_8_0() { return cGroup_8_0; } |
| |
| //"pre" |
| public Keyword getPreKeyword_8_0_0() { return cPreKeyword_8_0_0; } |
| |
| //ownedPreconditions+=ConstraintCS |
| public Assignment getOwnedPreconditionsAssignment_8_0_1() { return cOwnedPreconditionsAssignment_8_0_1; } |
| |
| //ConstraintCS |
| public RuleCall getOwnedPreconditionsConstraintCSParserRuleCall_8_0_1_0() { return cOwnedPreconditionsConstraintCSParserRuleCall_8_0_1_0; } |
| |
| //"post" ownedPostconditions+=ConstraintCS |
| public Group getGroup_8_1() { return cGroup_8_1; } |
| |
| //"post" |
| public Keyword getPostKeyword_8_1_0() { return cPostKeyword_8_1_0; } |
| |
| //ownedPostconditions+=ConstraintCS |
| public Assignment getOwnedPostconditionsAssignment_8_1_1() { return cOwnedPostconditionsAssignment_8_1_1; } |
| |
| //ConstraintCS |
| public RuleCall getOwnedPostconditionsConstraintCSParserRuleCall_8_1_1_0() { return cOwnedPostconditionsConstraintCSParserRuleCall_8_1_1_0; } |
| |
| //"body" UnrestrictedName? ":" ownedBodies+=SpecificationCS |
| public Group getGroup_8_2() { return cGroup_8_2; } |
| |
| //"body" |
| public Keyword getBodyKeyword_8_2_0() { return cBodyKeyword_8_2_0; } |
| |
| //UnrestrictedName? |
| public RuleCall getUnrestrictedNameParserRuleCall_8_2_1() { return cUnrestrictedNameParserRuleCall_8_2_1; } |
| |
| //":" |
| public Keyword getColonKeyword_8_2_2() { return cColonKeyword_8_2_2; } |
| |
| //ownedBodies+=SpecificationCS |
| public Assignment getOwnedBodiesAssignment_8_2_3() { return cOwnedBodiesAssignment_8_2_3; } |
| |
| //SpecificationCS |
| public RuleCall getOwnedBodiesSpecificationCSParserRuleCall_8_2_3_0() { return cOwnedBodiesSpecificationCSParserRuleCall_8_2_3_0; } |
| } |
| |
| public class PackageDeclarationCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PackageDeclarationCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Keyword cPackageKeyword_0 = (Keyword)cGroup.eContents().get(0); |
| private final Assignment cOwnedPathNameAssignment_1 = (Assignment)cGroup.eContents().get(1); |
| private final RuleCall cOwnedPathNamePathNameCSParserRuleCall_1_0 = (RuleCall)cOwnedPathNameAssignment_1.eContents().get(0); |
| private final Group cGroup_2 = (Group)cGroup.eContents().get(2); |
| private final Keyword cInvKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); |
| private final Assignment cOwnedInvariantsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); |
| private final RuleCall cOwnedInvariantsConstraintCSParserRuleCall_2_1_0 = (RuleCall)cOwnedInvariantsAssignment_2_1.eContents().get(0); |
| private final Assignment cOwnedContextsAssignment_3 = (Assignment)cGroup.eContents().get(3); |
| private final RuleCall cOwnedContextsContextDeclCSParserRuleCall_3_0 = (RuleCall)cOwnedContextsAssignment_3.eContents().get(0); |
| private final Keyword cEndpackageKeyword_4 = (Keyword)cGroup.eContents().get(4); |
| |
| //PackageDeclarationCS: |
| // "package" ownedPathName=PathNameCS ("inv" ownedInvariants+=ConstraintCS)* ownedContexts+=ContextDeclCS* "endpackage"; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //"package" ownedPathName=PathNameCS ("inv" ownedInvariants+=ConstraintCS)* ownedContexts+=ContextDeclCS* "endpackage" |
| public Group getGroup() { return cGroup; } |
| |
| //"package" |
| public Keyword getPackageKeyword_0() { return cPackageKeyword_0; } |
| |
| //ownedPathName=PathNameCS |
| public Assignment getOwnedPathNameAssignment_1() { return cOwnedPathNameAssignment_1; } |
| |
| //PathNameCS |
| public RuleCall getOwnedPathNamePathNameCSParserRuleCall_1_0() { return cOwnedPathNamePathNameCSParserRuleCall_1_0; } |
| |
| //("inv" ownedInvariants+=ConstraintCS)* |
| public Group getGroup_2() { return cGroup_2; } |
| |
| //"inv" |
| public Keyword getInvKeyword_2_0() { return cInvKeyword_2_0; } |
| |
| //ownedInvariants+=ConstraintCS |
| public Assignment getOwnedInvariantsAssignment_2_1() { return cOwnedInvariantsAssignment_2_1; } |
| |
| //ConstraintCS |
| public RuleCall getOwnedInvariantsConstraintCSParserRuleCall_2_1_0() { return cOwnedInvariantsConstraintCSParserRuleCall_2_1_0; } |
| |
| //ownedContexts+=ContextDeclCS* |
| public Assignment getOwnedContextsAssignment_3() { return cOwnedContextsAssignment_3; } |
| |
| //ContextDeclCS |
| public RuleCall getOwnedContextsContextDeclCSParserRuleCall_3_0() { return cOwnedContextsContextDeclCSParserRuleCall_3_0; } |
| |
| //"endpackage" |
| public Keyword getEndpackageKeyword_4() { return cEndpackageKeyword_4; } |
| } |
| |
| public class ParameterCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ParameterCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Group cGroup_0 = (Group)cGroup.eContents().get(0); |
| private final Assignment cNameAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); |
| private final RuleCall cNameUnrestrictedNameParserRuleCall_0_0_0 = (RuleCall)cNameAssignment_0_0.eContents().get(0); |
| private final Keyword cColonKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); |
| private final Assignment cOwnedTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); |
| private final RuleCall cOwnedTypeComplexTypeCSParserRuleCall_1_0 = (RuleCall)cOwnedTypeAssignment_1.eContents().get(0); |
| |
| //ParameterCS returns base::ParameterCS: |
| // (name=UnrestrictedName ":")? ownedType=ComplexTypeCS; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //(name=UnrestrictedName ":")? ownedType=ComplexTypeCS |
| public Group getGroup() { return cGroup; } |
| |
| //(name=UnrestrictedName ":")? |
| public Group getGroup_0() { return cGroup_0; } |
| |
| //name=UnrestrictedName |
| public Assignment getNameAssignment_0_0() { return cNameAssignment_0_0; } |
| |
| //UnrestrictedName |
| public RuleCall getNameUnrestrictedNameParserRuleCall_0_0_0() { return cNameUnrestrictedNameParserRuleCall_0_0_0; } |
| |
| //":" |
| public Keyword getColonKeyword_0_1() { return cColonKeyword_0_1; } |
| |
| //ownedType=ComplexTypeCS |
| public Assignment getOwnedTypeAssignment_1() { return cOwnedTypeAssignment_1; } |
| |
| //ComplexTypeCS |
| public RuleCall getOwnedTypeComplexTypeCSParserRuleCall_1_0() { return cOwnedTypeComplexTypeCSParserRuleCall_1_0; } |
| } |
| |
| public class PropertyContextDeclCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyContextDeclCS"); |
| private final Group cGroup = (Group)rule.eContents().get(1); |
| private final Keyword cContextKeyword_0 = (Keyword)cGroup.eContents().get(0); |
| private final Assignment cOwnedPathNameAssignment_1 = (Assignment)cGroup.eContents().get(1); |
| private final RuleCall cOwnedPathNamePathNameCSParserRuleCall_1_0 = (RuleCall)cOwnedPathNameAssignment_1.eContents().get(0); |
| private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); |
| private final Assignment cOwnedTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); |
| private final RuleCall cOwnedTypeComplexTypeCSParserRuleCall_3_0 = (RuleCall)cOwnedTypeAssignment_3.eContents().get(0); |
| private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); |
| private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0); |
| private final Keyword cDeriveKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0); |
| private final Assignment cOwnedDerivedInvariantsAssignment_4_0_1 = (Assignment)cGroup_4_0.eContents().get(1); |
| private final RuleCall cOwnedDerivedInvariantsConstraintCSParserRuleCall_4_0_1_0 = (RuleCall)cOwnedDerivedInvariantsAssignment_4_0_1.eContents().get(0); |
| private final Group cGroup_4_1 = (Group)cAlternatives_4.eContents().get(1); |
| private final Keyword cInitKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0); |
| private final Keyword cColonKeyword_4_1_1 = (Keyword)cGroup_4_1.eContents().get(1); |
| private final Assignment cOwnedDefaultExpressionsAssignment_4_1_2 = (Assignment)cGroup_4_1.eContents().get(2); |
| private final RuleCall cOwnedDefaultExpressionsSpecificationCSParserRuleCall_4_1_2_0 = (RuleCall)cOwnedDefaultExpressionsAssignment_4_1_2.eContents().get(0); |
| |
| /// * |
| // * A property context declaration complements an existing property with additional details. |
| // * |
| // * oclText[context (T) Stack::isEmpty : Boolean] |
| // * oclText[derive IsEmpty: size() = 0] |
| // * |
| // * The property declaration comprises at least a property name and type. |
| // * The type must be qualified with at least a class name. |
| // * If used outside a package declaration, package name qualification is also needed. |
| // * The declaration may be followed by a derive constraint and/or an init expression. |
| // * |
| // * A derive constraint provides an alternate mechanism for defining a class invariant; |
| // * the only difference is that the property is identified as a constrainedElement. As an |
| // * invariant the constraint provides an OCL expression that should always be true. |
| // * |
| // * For a non-derived property, an init expression defines the value to be assigned to the property |
| // * when its containing object is first created. |
| // * |
| // * For a derived property, an init expression defines the evaluation of the property, which |
| // * may vary from access to access even for read-only properties. |
| // * / |
| //PropertyContextDeclCS: |
| // "context" ownedPathName=PathNameCS ":" ownedType=ComplexTypeCS ("derive" ownedDerivedInvariants+=ConstraintCS | |
| // "init" ":" ownedDefaultExpressions+=SpecificationCS)*; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //"context" ownedPathName=PathNameCS ":" ownedType=ComplexTypeCS ("derive" ownedDerivedInvariants+=ConstraintCS | "init" |
| //":" ownedDefaultExpressions+=SpecificationCS)* |
| public Group getGroup() { return cGroup; } |
| |
| //"context" |
| public Keyword getContextKeyword_0() { return cContextKeyword_0; } |
| |
| //ownedPathName=PathNameCS |
| public Assignment getOwnedPathNameAssignment_1() { return cOwnedPathNameAssignment_1; } |
| |
| //PathNameCS |
| public RuleCall getOwnedPathNamePathNameCSParserRuleCall_1_0() { return cOwnedPathNamePathNameCSParserRuleCall_1_0; } |
| |
| //":" |
| public Keyword getColonKeyword_2() { return cColonKeyword_2; } |
| |
| //ownedType=ComplexTypeCS |
| public Assignment getOwnedTypeAssignment_3() { return cOwnedTypeAssignment_3; } |
| |
| //ComplexTypeCS |
| public RuleCall getOwnedTypeComplexTypeCSParserRuleCall_3_0() { return cOwnedTypeComplexTypeCSParserRuleCall_3_0; } |
| |
| //("derive" ownedDerivedInvariants+=ConstraintCS | "init" ":" ownedDefaultExpressions+=SpecificationCS)* |
| public Alternatives getAlternatives_4() { return cAlternatives_4; } |
| |
| //"derive" ownedDerivedInvariants+=ConstraintCS |
| public Group getGroup_4_0() { return cGroup_4_0; } |
| |
| //"derive" |
| public Keyword getDeriveKeyword_4_0_0() { return cDeriveKeyword_4_0_0; } |
| |
| //ownedDerivedInvariants+=ConstraintCS |
| public Assignment getOwnedDerivedInvariantsAssignment_4_0_1() { return cOwnedDerivedInvariantsAssignment_4_0_1; } |
| |
| //ConstraintCS |
| public RuleCall getOwnedDerivedInvariantsConstraintCSParserRuleCall_4_0_1_0() { return cOwnedDerivedInvariantsConstraintCSParserRuleCall_4_0_1_0; } |
| |
| //"init" ":" ownedDefaultExpressions+=SpecificationCS |
| public Group getGroup_4_1() { return cGroup_4_1; } |
| |
| //"init" |
| public Keyword getInitKeyword_4_1_0() { return cInitKeyword_4_1_0; } |
| |
| //":" |
| public Keyword getColonKeyword_4_1_1() { return cColonKeyword_4_1_1; } |
| |
| //ownedDefaultExpressions+=SpecificationCS |
| public Assignment getOwnedDefaultExpressionsAssignment_4_1_2() { return cOwnedDefaultExpressionsAssignment_4_1_2; } |
| |
| //SpecificationCS |
| public RuleCall getOwnedDefaultExpressionsSpecificationCSParserRuleCall_4_1_2_0() { return cOwnedDefaultExpressionsSpecificationCSParserRuleCall_4_1_2_0; } |
| } |
| |
| public class SpecificationCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SpecificationCS"); |
| private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); |
| private final Assignment cOwnedExpressionAssignment_0 = (Assignment)cAlternatives.eContents().get(0); |
| private final RuleCall cOwnedExpressionExpCSParserRuleCall_0_0 = (RuleCall)cOwnedExpressionAssignment_0.eContents().get(0); |
| private final Assignment cExprStringAssignment_1 = (Assignment)cAlternatives.eContents().get(1); |
| private final RuleCall cExprStringUNQUOTED_STRINGTerminalRuleCall_1_0 = (RuleCall)cExprStringAssignment_1.eContents().get(0); |
| |
| //SpecificationCS returns essentialocl::ExpSpecificationCS: |
| // ownedExpression=ExpCS | exprString=UNQUOTED_STRING; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //ownedExpression=ExpCS | exprString=UNQUOTED_STRING |
| public Alternatives getAlternatives() { return cAlternatives; } |
| |
| //ownedExpression=ExpCS |
| public Assignment getOwnedExpressionAssignment_0() { return cOwnedExpressionAssignment_0; } |
| |
| //ExpCS |
| public RuleCall getOwnedExpressionExpCSParserRuleCall_0_0() { return cOwnedExpressionExpCSParserRuleCall_0_0; } |
| |
| //exprString=UNQUOTED_STRING |
| public Assignment getExprStringAssignment_1() { return cExprStringAssignment_1; } |
| |
| //UNQUOTED_STRING |
| public RuleCall getExprStringUNQUOTED_STRINGTerminalRuleCall_1_0() { return cExprStringUNQUOTED_STRINGTerminalRuleCall_1_0; } |
| } |
| |
| public class UnrestrictedNameElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnrestrictedName"); |
| private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); |
| private final RuleCall cEssentialOCLUnrestrictedNameParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); |
| private final Keyword cImportKeyword_1 = (Keyword)cAlternatives.eContents().get(1); |
| private final Keyword cIncludeKeyword_2 = (Keyword)cAlternatives.eContents().get(2); |
| private final Keyword cLibraryKeyword_3 = (Keyword)cAlternatives.eContents().get(3); |
| |
| ////--------------------------------------------------------------------------------- |
| // // Base overrides |
| // |
| ////--------------------------------------------------------------------------------- |
| // //| 'package' |
| // //| 'post' |
| // |
| ////| 'pre' |
| // //| 'static' |
| // UnrestrictedName returns ecore::EString: |
| // EssentialOCLUnrestrictedName //| 'body' |
| // //| 'context' |
| // //| 'def' |
| // //| 'derive' |
| // //| 'endpackage' |
| // //| 'init' |
| // |
| // //| 'inv' |
| // | "import" | "include" | "library"; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //EssentialOCLUnrestrictedName //| 'body' |
| // //| 'context' |
| // //| 'def' |
| // //| 'derive' |
| // //| 'endpackage' |
| // //| 'init' |
| // |
| ////| 'inv' |
| // | "import" | "include" | "library" |
| public Alternatives getAlternatives() { return cAlternatives; } |
| |
| //EssentialOCLUnrestrictedName |
| public RuleCall getEssentialOCLUnrestrictedNameParserRuleCall_0() { return cEssentialOCLUnrestrictedNameParserRuleCall_0; } |
| |
| //"import" |
| public Keyword getImportKeyword_1() { return cImportKeyword_1; } |
| |
| //"include" |
| public Keyword getIncludeKeyword_2() { return cIncludeKeyword_2; } |
| |
| //"library" |
| public Keyword getLibraryKeyword_3() { return cLibraryKeyword_3; } |
| } |
| |
| public class NavigatingArgExpCSElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NavigatingArgExpCS"); |
| private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); |
| private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); |
| private final Action cOCLMessageArgCSAction_0_0 = (Action)cGroup_0.eContents().get(0); |
| private final Keyword cQuestionMarkKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); |
| private final RuleCall cExpCSParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); |
| |
| ////--------------------------------------------------------------------------------- |
| // // EssentialOCL overrides |
| // |
| ////--------------------------------------------------------------------------------- |
| // NavigatingArgExpCS returns |
| //essentialocl::ExpCS: |
| // {OCLMessageArgCS} "?" | ExpCS; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //{OCLMessageArgCS} "?" | ExpCS |
| public Alternatives getAlternatives() { return cAlternatives; } |
| |
| //{OCLMessageArgCS} "?" |
| public Group getGroup_0() { return cGroup_0; } |
| |
| //{OCLMessageArgCS} |
| public Action getOCLMessageArgCSAction_0_0() { return cOCLMessageArgCSAction_0_0; } |
| |
| //"?" |
| public Keyword getQuestionMarkKeyword_0_1() { return cQuestionMarkKeyword_0_1; } |
| |
| //ExpCS |
| public RuleCall getExpCSParserRuleCall_1() { return cExpCSParserRuleCall_1; } |
| } |
| |
| public class NavigationOperatorNameElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NavigationOperatorName"); |
| private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); |
| private final RuleCall cEssentialOCLNavigationOperatorNameParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); |
| private final RuleCall cCompleteOCLNavigationOperatorNameParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); |
| |
| //NavigationOperatorName: |
| // EssentialOCLNavigationOperatorName | CompleteOCLNavigationOperatorName; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //EssentialOCLNavigationOperatorName | CompleteOCLNavigationOperatorName |
| public Alternatives getAlternatives() { return cAlternatives; } |
| |
| //EssentialOCLNavigationOperatorName |
| public RuleCall getEssentialOCLNavigationOperatorNameParserRuleCall_0() { return cEssentialOCLNavigationOperatorNameParserRuleCall_0; } |
| |
| //CompleteOCLNavigationOperatorName |
| public RuleCall getCompleteOCLNavigationOperatorNameParserRuleCall_1() { return cCompleteOCLNavigationOperatorNameParserRuleCall_1; } |
| } |
| |
| public class PrimitiveTypeIdentifierElements extends AbstractParserRuleElementFinder { |
| private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveTypeIdentifier"); |
| private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); |
| private final Keyword cBooleanKeyword_0 = (Keyword)cAlternatives.eContents().get(0); |
| private final Keyword cIntegerKeyword_1 = (Keyword)cAlternatives.eContents().get(1); |
| private final Keyword cRealKeyword_2 = (Keyword)cAlternatives.eContents().get(2); |
| private final Keyword cStringKeyword_3 = (Keyword)cAlternatives.eContents().get(3); |
| private final Keyword cUnlimitedNaturalKeyword_4 = (Keyword)cAlternatives.eContents().get(4); |
| private final Keyword cOclAnyKeyword_5 = (Keyword)cAlternatives.eContents().get(5); |
| private final Keyword cOclInvalidKeyword_6 = (Keyword)cAlternatives.eContents().get(6); |
| private final Keyword cOclMessageKeyword_7 = (Keyword)cAlternatives.eContents().get(7); |
| private final Keyword cOclStateKeyword_8 = (Keyword)cAlternatives.eContents().get(8); |
| private final Keyword cOclVoidKeyword_9 = (Keyword)cAlternatives.eContents().get(9); |
| |
| //PrimitiveTypeIdentifier: |
| // "Boolean" | "Integer" | "Real" | "String" | "UnlimitedNatural" | "OclAny" | "OclInvalid" | "OclMessage" | "OclState" |
| // | "OclVoid"; |
| @Override public ParserRule getRule() { return rule; } |
| |
| //"Boolean" | "Integer" | "Real" | "String" | "UnlimitedNatural" | "OclAny" | "OclInvalid" | "OclMessage" | "OclState" | |
| //"OclVoid" |
| public Alternatives getAlternatives() { return cAlternatives; } |
| |
| //"Boolean" |
| public Keyword getBooleanKeyword_0() { return cBooleanKeyword_0; } |
| |
| //"Integer" |
| public Keyword getIntegerKeyword_1() { return cIntegerKeyword_1; } |
| |
| //"Real" |
| public Keyword getRealKeyword_2() { return cRealKeyword_2; } |
| |
| //"String" |
| public Keyword getStringKeyword_3() { return cStringKeyword_3; } |
| |
| //"UnlimitedNatural" |
| public Keyword getUnlimitedNaturalKeyword_4() { return cUnlimitedNaturalKeyword_4; } |
| |
| //"OclAny" |
| public Keyword getOclAnyKeyword_5() { return cOclAnyKeyword_5; } |
| |
| //"OclInvalid" |
| public Keyword getOclInvalidKeyword_6() { return cOclInvalidKeyword_6; } |
| |
| //"OclMessage" |
| public Keyword getOclMessageKeyword_7() { return cOclMessageKeyword_7; } |
| |
| //"OclState" |
| public Keyword getOclStateKeyword_8() { return cOclStateKeyword_8; } |
| |
| //"OclVoid" |
| public Keyword getOclVoidKeyword_9() { return cOclVoidKeyword_9; } |
| } |
| |
| |
| private final CompleteOCLDocumentCSElements pCompleteOCLDocumentCS; |
| private final TerminalRule tUNQUOTED_STRING; |
| private final CompleteOCLNavigationOperatorNameElements pCompleteOCLNavigationOperatorName; |
| private final ClassifierContextDeclCSElements pClassifierContextDeclCS; |
| private final ConstraintCSElements pConstraintCS; |
| private final ContextDeclCSElements pContextDeclCS; |
| private final DefCSElements pDefCS; |
| private final DefOperationCSElements pDefOperationCS; |
| private final DefParameterCSElements pDefParameterCS; |
| private final DefPropertyCSElements pDefPropertyCS; |
| private final ImportCSElements pImportCS; |
| private final OperationContextDeclCSElements pOperationContextDeclCS; |
| private final PackageDeclarationCSElements pPackageDeclarationCS; |
| private final ParameterCSElements pParameterCS; |
| private final PropertyContextDeclCSElements pPropertyContextDeclCS; |
| private final SpecificationCSElements pSpecificationCS; |
| private final UnrestrictedNameElements pUnrestrictedName; |
| private final NavigatingArgExpCSElements pNavigatingArgExpCS; |
| private final NavigationOperatorNameElements pNavigationOperatorName; |
| private final PrimitiveTypeIdentifierElements pPrimitiveTypeIdentifier; |
| |
| private final Grammar grammar; |
| |
| private final EssentialOCLGrammarAccess gaEssentialOCL; |
| |
| @Inject |
| public CompleteOCLGrammarAccess(GrammarProvider grammarProvider, |
| EssentialOCLGrammarAccess gaEssentialOCL) { |
| this.grammar = internalFindGrammar(grammarProvider); |
| this.gaEssentialOCL = gaEssentialOCL; |
| this.pCompleteOCLDocumentCS = new CompleteOCLDocumentCSElements(); |
| this.tUNQUOTED_STRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "UNQUOTED_STRING"); |
| this.pCompleteOCLNavigationOperatorName = new CompleteOCLNavigationOperatorNameElements(); |
| this.pClassifierContextDeclCS = new ClassifierContextDeclCSElements(); |
| this.pConstraintCS = new ConstraintCSElements(); |
| this.pContextDeclCS = new ContextDeclCSElements(); |
| this.pDefCS = new DefCSElements(); |
| this.pDefOperationCS = new DefOperationCSElements(); |
| this.pDefParameterCS = new DefParameterCSElements(); |
| this.pDefPropertyCS = new DefPropertyCSElements(); |
| this.pImportCS = new ImportCSElements(); |
| this.pOperationContextDeclCS = new OperationContextDeclCSElements(); |
| this.pPackageDeclarationCS = new PackageDeclarationCSElements(); |
| this.pParameterCS = new ParameterCSElements(); |
| this.pPropertyContextDeclCS = new PropertyContextDeclCSElements(); |
| this.pSpecificationCS = new SpecificationCSElements(); |
| this.pUnrestrictedName = new UnrestrictedNameElements(); |
| this.pNavigatingArgExpCS = new NavigatingArgExpCSElements(); |
| this.pNavigationOperatorName = new NavigationOperatorNameElements(); |
| this.pPrimitiveTypeIdentifier = new PrimitiveTypeIdentifierElements(); |
| } |
| |
| protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { |
| Grammar grammar = grammarProvider.getGrammar(this); |
| while (grammar != null) { |
| if ("org.eclipse.ocl.xtext.completeocl.CompleteOCL".equals(grammar.getName())) { |
| return grammar; |
| } |
| List<Grammar> grammars = grammar.getUsedGrammars(); |
| if (!grammars.isEmpty()) { |
| grammar = grammars.iterator().next(); |
| } else { |
| return null; |
| } |
| } |
| return grammar; |
| } |
| |
| @Override |
| public Grammar getGrammar() { |
| return grammar; |
| } |
| |
| |
| public EssentialOCLGrammarAccess getEssentialOCLGrammarAccess() { |
| return gaEssentialOCL; |
| } |
| |
| |
| /// * |
| // * A Complete OCL document comprises |
| // * bullet[model imports for referenced and complemented models] |
| // * bullet[includes for additional Complete OCL documents] |
| // * bullet[libraries to augment or override the OCL Standard Library] |
| // * bullet[package declarations for package-grouped declarations] |
| // * bullet[context declarations for independent declarations] |
| // * / |
| //CompleteOCLDocumentCS: |
| // ownedImports+=ImportCS* (ownedPackages+=PackageDeclarationCS | ownedContexts+=ContextDeclCS)*; |
| public CompleteOCLDocumentCSElements getCompleteOCLDocumentCSAccess() { |
| return pCompleteOCLDocumentCS; |
| } |
| |
| public ParserRule getCompleteOCLDocumentCSRule() { |
| return getCompleteOCLDocumentCSAccess().getRule(); |
| } |
| |
| //// Never forward parsed; just provides a placeholder |
| // terminal UNQUOTED_STRING: |
| //// for reverse serialisation of embedded OCL |
| // "£$%^£$%^"; |
| public TerminalRule getUNQUOTED_STRINGRule() { |
| return tUNQUOTED_STRING; |
| } |
| |
| //CompleteOCLNavigationOperatorName: |
| // "^" | "^^"; |
| public CompleteOCLNavigationOperatorNameElements getCompleteOCLNavigationOperatorNameAccess() { |
| return pCompleteOCLNavigationOperatorName; |
| } |
| |
| public ParserRule getCompleteOCLNavigationOperatorNameRule() { |
| return getCompleteOCLNavigationOperatorNameAccess().getRule(); |
| } |
| |
| //ClassifierContextDeclCS: |
| // "context" selfName=UnrestrictedName? ownedPathName=PathNameCS ownedSignature=TemplateSignatureCS? ("inv" |
| // ownedInvariants+=ConstraintCS | ownedDefinitions+=DefCS)+; |
| public ClassifierContextDeclCSElements getClassifierContextDeclCSAccess() { |
| return pClassifierContextDeclCS; |
| } |
| |
| public ParserRule getClassifierContextDeclCSRule() { |
| return getClassifierContextDeclCSAccess().getRule(); |
| } |
| |
| /// * |
| // * A Constraint such as |
| // * |
| // * oclText[IsNull('should be null') : self = null] |
| // * |
| // * comprises at least the OCL specification of the constraint. The constraint may |
| // * additionally have a name which may be followed by a parenthesized expression defining an OCL |
| // * expression to be evaluated to provide an error message. |
| // * / |
| //ConstraintCS returns base::ConstraintCS: |
| // (name=UnrestrictedName ("(" ownedMessageSpecification=SpecificationCS ")")?)? ":" ownedSpecification=SpecificationCS; |
| public ConstraintCSElements getConstraintCSAccess() { |
| return pConstraintCS; |
| } |
| |
| public ParserRule getConstraintCSRule() { |
| return getConstraintCSAccess().getRule(); |
| } |
| |
| /// * |
| // * A Context declaration can be a Classifier, Operation of Property Context declaration. |
| // * / ContextDeclCS: |
| // PropertyContextDeclCS | ClassifierContextDeclCS | OperationContextDeclCS; |
| public ContextDeclCSElements getContextDeclCSAccess() { |
| return pContextDeclCS; |
| } |
| |
| public ParserRule getContextDeclCSRule() { |
| return getContextDeclCSAccess().getRule(); |
| } |
| |
| /// * |
| // * A definition can be an, Operation or Property definition. |
| // * / DefCS: |
| // DefOperationCS | DefPropertyCS; |
| public DefCSElements getDefCSAccess() { |
| return pDefCS; |
| } |
| |
| public ParserRule getDefCSRule() { |
| return getDefCSAccess().getRule(); |
| } |
| |
| /// * |
| // * An operation definition provides an additional operation for its classifier context. |
| // * |
| // * oclText[static def redundantName: isEven(i : Integer) : Boolean = i mod 2 = 0] |
| // * |
| // * comprises at least an operation name, return type and an OCL expression that evaluates the operation value. |
| // * The operation may have parameters and may be declared static in which case there is no oclText[self]. |
| // * |
| // * For compatibility with invariants the definition may have a name that is never used. |
| // * / |
| //DefOperationCS: |
| // isStatic?="static"? "def" UnrestrictedName? ":" name=UnrestrictedName ownedSignature=TemplateSignatureCS? "(" |
| // (ownedParameters+=DefParameterCS ("," ownedParameters+=DefParameterCS)*)? ")" ":" ownedType=ComplexTypeCS? "=" |
| // ownedSpecification=SpecificationCS; |
| public DefOperationCSElements getDefOperationCSAccess() { |
| return pDefOperationCS; |
| } |
| |
| public ParserRule getDefOperationCSRule() { |
| return getDefOperationCSAccess().getRule(); |
| } |
| |
| //DefParameterCS returns base::ParameterCS: |
| // name=UnrestrictedName ":" ownedType=ComplexTypeCS; |
| public DefParameterCSElements getDefParameterCSAccess() { |
| return pDefParameterCS; |
| } |
| |
| public ParserRule getDefParameterCSRule() { |
| return getDefParameterCSAccess().getRule(); |
| } |
| |
| /// * |
| // * A property definition provides an additional property for its classifier context. |
| // * |
| // * oclText[static def redundantName: upperCaseName : Boolean = name.toUpperCase()] |
| // * |
| // * comprises at least a property name, type and an OCL expression that evaluates the property value. |
| // * The property may be declared static in which case there is no oclText[self]. |
| // * |
| // * For compatibility with invariants the definition may have a name that is never used. |
| // * / |
| //DefPropertyCS: |
| // isStatic?="static"? "def" UnrestrictedName? ":" name=UnrestrictedName ":" ownedType=ComplexTypeCS "=" |
| // ownedSpecification=SpecificationCS; |
| public DefPropertyCSElements getDefPropertyCSAccess() { |
| return pDefPropertyCS; |
| } |
| |
| public ParserRule getDefPropertyCSRule() { |
| return getDefPropertyCSAccess().getRule(); |
| } |
| |
| //ImportCS returns base::ImportCS: |
| // ("import" | "include" | "library") (name=Identifier ":")? ownedPathName=URIPathNameCS isAll?="::*"?; |
| public ImportCSElements getImportCSAccess() { |
| return pImportCS; |
| } |
| |
| public ParserRule getImportCSRule() { |
| return getImportCSAccess().getRule(); |
| } |
| |
| /// * |
| // * An operation context declaration complements an existing operation with additional details. |
| // * |
| // * oclText[context (T) Stack::pop() : T] |
| // * oclText[pre NotEmptyPop: size() > 0] |
| // * oclText[post: size()@pre = size() + 1] |
| // * |
| // * The operation declaration comprises at least an operation name, which must be qualified with at least a |
| // * class name. If used outside a package declaration, package name qualification is also needed. |
| // * If the return type is omitted OclVoid is used. |
| // * The operation may also have operation parameters and template parameters. |
| // * The declaration may be followed by any number of preconditions, |
| // * and/or postconditions. It may also be followed by a body expression that defines the evaluation. |
| // * |
| // * For compatibility with invariants the body expression may have a name that is never used. |
| // * / |
| //OperationContextDeclCS: |
| // "context" ownedPathName=PathNameCS ownedSignature=TemplateSignatureCS? "(" (ownedParameters+=ParameterCS ("," |
| // ownedParameters+=ParameterCS)*)? ")" ":" ownedType=ComplexTypeCS? ("pre" ownedPreconditions+=ConstraintCS | "post" |
| // ownedPostconditions+=ConstraintCS | "body" UnrestrictedName? ":" ownedBodies+=SpecificationCS)*; |
| public OperationContextDeclCSElements getOperationContextDeclCSAccess() { |
| return pOperationContextDeclCS; |
| } |
| |
| public ParserRule getOperationContextDeclCSRule() { |
| return getOperationContextDeclCSAccess().getRule(); |
| } |
| |
| //PackageDeclarationCS: |
| // "package" ownedPathName=PathNameCS ("inv" ownedInvariants+=ConstraintCS)* ownedContexts+=ContextDeclCS* "endpackage"; |
| public PackageDeclarationCSElements getPackageDeclarationCSAccess() { |
| return pPackageDeclarationCS; |
| } |
| |
| public ParserRule getPackageDeclarationCSRule() { |
| return getPackageDeclarationCSAccess().getRule(); |
| } |
| |
| //ParameterCS returns base::ParameterCS: |
| // (name=UnrestrictedName ":")? ownedType=ComplexTypeCS; |
| public ParameterCSElements getParameterCSAccess() { |
| return pParameterCS; |
| } |
| |
| public ParserRule getParameterCSRule() { |
| return getParameterCSAccess().getRule(); |
| } |
| |
| /// * |
| // * A property context declaration complements an existing property with additional details. |
| // * |
| // * oclText[context (T) Stack::isEmpty : Boolean] |
| // * oclText[derive IsEmpty: size() = 0] |
| // * |
| // * The property declaration comprises at least a property name and type. |
| // * The type must be qualified with at least a class name. |
| // * If used outside a package declaration, package name qualification is also needed. |
| // * The declaration may be followed by a derive constraint and/or an init expression. |
| // * |
| // * A derive constraint provides an alternate mechanism for defining a class invariant; |
| // * the only difference is that the property is identified as a constrainedElement. As an |
| // * invariant the constraint provides an OCL expression that should always be true. |
| // * |
| // * For a non-derived property, an init expression defines the value to be assigned to the property |
| // * when its containing object is first created. |
| // * |
| // * For a derived property, an init expression defines the evaluation of the property, which |
| // * may vary from access to access even for read-only properties. |
| // * / |
| //PropertyContextDeclCS: |
| // "context" ownedPathName=PathNameCS ":" ownedType=ComplexTypeCS ("derive" ownedDerivedInvariants+=ConstraintCS | |
| // "init" ":" ownedDefaultExpressions+=SpecificationCS)*; |
| public PropertyContextDeclCSElements getPropertyContextDeclCSAccess() { |
| return pPropertyContextDeclCS; |
| } |
| |
| public ParserRule getPropertyContextDeclCSRule() { |
| return getPropertyContextDeclCSAccess().getRule(); |
| } |
| |
| //SpecificationCS returns essentialocl::ExpSpecificationCS: |
| // ownedExpression=ExpCS | exprString=UNQUOTED_STRING; |
| public SpecificationCSElements getSpecificationCSAccess() { |
| return pSpecificationCS; |
| } |
| |
| public ParserRule getSpecificationCSRule() { |
| return getSpecificationCSAccess().getRule(); |
| } |
| |
| ////--------------------------------------------------------------------------------- |
| // // Base overrides |
| // |
| ////--------------------------------------------------------------------------------- |
| // //| 'package' |
| // //| 'post' |
| // |
| ////| 'pre' |
| // //| 'static' |
| // UnrestrictedName returns ecore::EString: |
| // EssentialOCLUnrestrictedName //| 'body' |
| // //| 'context' |
| // //| 'def' |
| // //| 'derive' |
| // //| 'endpackage' |
| // //| 'init' |
| // |
| // //| 'inv' |
| // | "import" | "include" | "library"; |
| public UnrestrictedNameElements getUnrestrictedNameAccess() { |
| return pUnrestrictedName; |
| } |
| |
| public ParserRule getUnrestrictedNameRule() { |
| return getUnrestrictedNameAccess().getRule(); |
| } |
| |
| ////--------------------------------------------------------------------------------- |
| // // EssentialOCL overrides |
| // |
| ////--------------------------------------------------------------------------------- |
| // NavigatingArgExpCS returns |
| //essentialocl::ExpCS: |
| // {OCLMessageArgCS} "?" | ExpCS; |
| public NavigatingArgExpCSElements getNavigatingArgExpCSAccess() { |
| return pNavigatingArgExpCS; |
| } |
| |
| public ParserRule getNavigatingArgExpCSRule() { |
| return getNavigatingArgExpCSAccess().getRule(); |
| } |
| |
| //NavigationOperatorName: |
| // EssentialOCLNavigationOperatorName | CompleteOCLNavigationOperatorName; |
| public NavigationOperatorNameElements getNavigationOperatorNameAccess() { |
| return pNavigationOperatorName; |
| } |
| |
| public ParserRule getNavigationOperatorNameRule() { |
| return getNavigationOperatorNameAccess().getRule(); |
| } |
| |
| //PrimitiveTypeIdentifier: |
| // "Boolean" | "Integer" | "Real" | "String" | "UnlimitedNatural" | "OclAny" | "OclInvalid" | "OclMessage" | "OclState" |
| // | "OclVoid"; |
| public PrimitiveTypeIdentifierElements getPrimitiveTypeIdentifierAccess() { |
| return pPrimitiveTypeIdentifier; |
| } |
| |
| public ParserRule getPrimitiveTypeIdentifierRule() { |
| return getPrimitiveTypeIdentifierAccess().getRule(); |
| } |
| |
| ////generate essentialOCLCST "http://www.eclipse.org/ocl/3.0.0/EssentialOCLCST" |
| // Model returns ContextCS: |
| // ownedExpression=ExpCS; |
| public EssentialOCLGrammarAccess.ModelElements getModelAccess() { |
| return gaEssentialOCL.getModelAccess(); |
| } |
| |
| public ParserRule getModelRule() { |
| return getModelAccess().getRule(); |
| } |
| |
| /// ** <<<This is a join point for derived grammars - replace with a more disciplined grammar extensibility>>> * / |
| //EssentialOCLReservedKeyword: |
| // "and" | "else" | "endif" | "if" | "implies" | "in" | "let" | "not" | "or" | "then" | "xor"; |
| public EssentialOCLGrammarAccess.EssentialOCLReservedKeywordElements getEssentialOCLReservedKeywordAccess() { |
| return gaEssentialOCL.getEssentialOCLReservedKeywordAccess(); |
| } |
| |
| public ParserRule getEssentialOCLReservedKeywordRule() { |
| return getEssentialOCLReservedKeywordAccess().getRule(); |
| } |
| |
| /// ** <<<This is a join point for derived grammars - replace with a more disciplined grammar extensibility>>> * / |
| //EssentialOCLUnaryOperatorName: |
| // "-" | "not"; |
| public EssentialOCLGrammarAccess.EssentialOCLUnaryOperatorNameElements getEssentialOCLUnaryOperatorNameAccess() { |
| return gaEssentialOCL.getEssentialOCLUnaryOperatorNameAccess(); |
| } |
| |
| public ParserRule getEssentialOCLUnaryOperatorNameRule() { |
| return getEssentialOCLUnaryOperatorNameAccess().getRule(); |
| } |
| |
| /// ** <<<This is a join point for derived grammars - replace with a more disciplined grammar extensibility>>> * / |
| //EssentialOCLInfixOperatorName: |
| // "*" | "/" | "+" | "-" | ">" | "<" | ">=" | "<=" | "=" | "<>" | "and" | "or" | "xor" | "implies"; |
| public EssentialOCLGrammarAccess.EssentialOCLInfixOperatorNameElements getEssentialOCLInfixOperatorNameAccess() { |
| return gaEssentialOCL.getEssentialOCLInfixOperatorNameAccess(); |
| } |
| |
| public ParserRule getEssentialOCLInfixOperatorNameRule() { |
| return getEssentialOCLInfixOperatorNameAccess().getRule(); |
| } |
| |
| /// ** <<<This is a join point for derived grammars - replace with a more disciplined grammar extensibility>>> * / |
| //EssentialOCLNavigationOperatorName: |
| // "." | "->" | "?." | "?->"; |
| public EssentialOCLGrammarAccess.EssentialOCLNavigationOperatorNameElements getEssentialOCLNavigationOperatorNameAccess() { |
| return gaEssentialOCL.getEssentialOCLNavigationOperatorNameAccess(); |
| } |
| |
| public ParserRule getEssentialOCLNavigationOperatorNameRule() { |
| return getEssentialOCLNavigationOperatorNameAccess().getRule(); |
| } |
| |
| //BinaryOperatorName: |
| // InfixOperatorName | NavigationOperatorName; |
| public EssentialOCLGrammarAccess.BinaryOperatorNameElements getBinaryOperatorNameAccess() { |
| return gaEssentialOCL.getBinaryOperatorNameAccess(); |
| } |
| |
| public ParserRule getBinaryOperatorNameRule() { |
| return getBinaryOperatorNameAccess().getRule(); |
| } |
| |
| //// Intended to be overrideable |
| // InfixOperatorName: |
| // EssentialOCLInfixOperatorName; |
| public EssentialOCLGrammarAccess.InfixOperatorNameElements getInfixOperatorNameAccess() { |
| return gaEssentialOCL.getInfixOperatorNameAccess(); |
| } |
| |
| public ParserRule getInfixOperatorNameRule() { |
| return getInfixOperatorNameAccess().getRule(); |
| } |
| |
| //// Intended to be overrideable |
| // UnaryOperatorName: |
| // EssentialOCLUnaryOperatorName; |
| public EssentialOCLGrammarAccess.UnaryOperatorNameElements getUnaryOperatorNameAccess() { |
| return gaEssentialOCL.getUnaryOperatorNameAccess(); |
| } |
| |
| public ParserRule getUnaryOperatorNameRule() { |
| return getUnaryOperatorNameAccess().getRule(); |
| } |
| |
| ////--------------------------------------------------------------------- |
| // // Names |
| // |
| ////--------------------------------------------------------------------- |
| // |
| /// ** <<<This is a join point for derived grammars - replace with a more disciplined grammar extensibility>>> * / |
| //EssentialOCLUnrestrictedName returns ecore::EString: |
| // Identifier; |
| public EssentialOCLGrammarAccess.EssentialOCLUnrestrictedNameElements getEssentialOCLUnrestrictedNameAccess() { |
| return gaEssentialOCL.getEssentialOCLUnrestrictedNameAccess(); |
| } |
| |
| public ParserRule getEssentialOCLUnrestrictedNameRule() { |
| return getEssentialOCLUnrestrictedNameAccess().getRule(); |
| } |
| |
| /// ** <<<This is a join point for derived grammars - replace with a more disciplined grammar extensibility>>> * / |
| //EssentialOCLUnreservedName returns ecore::EString: |
| // UnrestrictedName | CollectionTypeIdentifier | PrimitiveTypeIdentifier | "Map" | "Tuple"; |
| public EssentialOCLGrammarAccess.EssentialOCLUnreservedNameElements getEssentialOCLUnreservedNameAccess() { |
| return gaEssentialOCL.getEssentialOCLUnreservedNameAccess(); |
| } |
| |
| public ParserRule getEssentialOCLUnreservedNameRule() { |
| return getEssentialOCLUnreservedNameAccess().getRule(); |
| } |
| |
| //// Intended to be overridden |
| // UnreservedName returns ecore::EString: |
| // EssentialOCLUnreservedName; |
| public EssentialOCLGrammarAccess.UnreservedNameElements getUnreservedNameAccess() { |
| return gaEssentialOCL.getUnreservedNameAccess(); |
| } |
| |
| public ParserRule getUnreservedNameRule() { |
| return getUnreservedNameAccess().getRule(); |
| } |
| |
| //URIPathNameCS returns base::PathNameCS: |
| // ownedPathElements+=URIFirstPathElementCS ("::" ownedPathElements+=NextPathElementCS)*; |
| public EssentialOCLGrammarAccess.URIPathNameCSElements getURIPathNameCSAccess() { |
| return gaEssentialOCL.getURIPathNameCSAccess(); |
| } |
| |
| public ParserRule getURIPathNameCSRule() { |
| return getURIPathNameCSAccess().getRule(); |
| } |
| |
| //URIFirstPathElementCS returns base::PathElementCS: |
| // referredElement=[pivot::NamedElement|UnrestrictedName] | {base::PathElementWithURICS} |
| // referredElement=[pivot::Namespace|URI]; |
| public EssentialOCLGrammarAccess.URIFirstPathElementCSElements getURIFirstPathElementCSAccess() { |
| return gaEssentialOCL.getURIFirstPathElementCSAccess(); |
| } |
| |
| public ParserRule getURIFirstPathElementCSRule() { |
| return getURIFirstPathElementCSAccess().getRule(); |
| } |
| |
| //PrimitiveTypeCS returns base::PrimitiveTypeRefCS: |
| // name=PrimitiveTypeIdentifier; |
| public EssentialOCLGrammarAccess.PrimitiveTypeCSElements getPrimitiveTypeCSAccess() { |
| return gaEssentialOCL.getPrimitiveTypeCSAccess(); |
| } |
| |
| public ParserRule getPrimitiveTypeCSRule() { |
| return getPrimitiveTypeCSAccess().getRule(); |
| } |
| |
| //CollectionTypeIdentifier returns ecore::EString: |
| // "Set" | "Bag" | "Sequence" | "Collection" | "OrderedSet"; |
| public EssentialOCLGrammarAccess.CollectionTypeIdentifierElements getCollectionTypeIdentifierAccess() { |
| return gaEssentialOCL.getCollectionTypeIdentifierAccess(); |
| } |
| |
| public ParserRule getCollectionTypeIdentifierRule() { |
| return getCollectionTypeIdentifierAccess().getRule(); |
| } |
| |
| //CollectionTypeCS: |
| // name=CollectionTypeIdentifier ("(" ownedType=ComplexTypeCS ")")?; |
| public EssentialOCLGrammarAccess.CollectionTypeCSElements getCollectionTypeCSAccess() { |
| return gaEssentialOCL.getCollectionTypeCSAccess(); |
| } |
| |
| public ParserRule getCollectionTypeCSRule() { |
| return getCollectionTypeCSAccess().getRule(); |
| } |
| |
| //CollectionTypeWithMultiplicityCS returns CollectionTypeCS: |
| // CollectionTypeCS ownedMultiplicity=MultiplicityCS?; |
| public EssentialOCLGrammarAccess.CollectionTypeWithMultiplicityCSElements getCollectionTypeWithMultiplicityCSAccess() { |
| return gaEssentialOCL.getCollectionTypeWithMultiplicityCSAccess(); |
| } |
| |
| public ParserRule getCollectionTypeWithMultiplicityCSRule() { |
| return getCollectionTypeWithMultiplicityCSAccess().getRule(); |
| } |
| |
| //LambdaTypeCS returns base::LambdaTypeCS: |
| // name="Lambda" ownedSignature=TemplateSignatureCS? "(" (ownedParameterTypes+=ComplexTypeCS ("," |
| // ownedParameterTypes+=ComplexTypeCS)*)? ")" ":" ownedResultType=ComplexTypeCS; |
| public EssentialOCLGrammarAccess.LambdaTypeCSElements getLambdaTypeCSAccess() { |
| return gaEssentialOCL.getLambdaTypeCSAccess(); |
| } |
| |
| public ParserRule getLambdaTypeCSRule() { |
| return getLambdaTypeCSAccess().getRule(); |
| } |
| |
| //MapTypeCS: |
| // name="Map" ("(" ownedKeyType=ComplexTypeCS "," ownedValueType=ComplexTypeCS ")")?; |
| public EssentialOCLGrammarAccess.MapTypeCSElements getMapTypeCSAccess() { |
| return gaEssentialOCL.getMapTypeCSAccess(); |
| } |
| |
| public ParserRule getMapTypeCSRule() { |
| return getMapTypeCSAccess().getRule(); |
| } |
| |
| //TupleTypeCS returns base::TupleTypeCS: |
| // name="Tuple" ("(" (ownedParts+=TuplePartCS ("," ownedParts+=TuplePartCS)*)? ")")?; |
| public EssentialOCLGrammarAccess.TupleTypeCSElements getTupleTypeCSAccess() { |
| return gaEssentialOCL.getTupleTypeCSAccess(); |
| } |
| |
| public ParserRule getTupleTypeCSRule() { |
| return getTupleTypeCSAccess().getRule(); |
| } |
| |
| //TuplePartCS returns base::TuplePartCS: |
| // name=UnrestrictedName ":" ownedType=ComplexTypeCS; |
| public EssentialOCLGrammarAccess.TuplePartCSElements getTuplePartCSAccess() { |
| return gaEssentialOCL.getTuplePartCSAccess(); |
| } |
| |
| public ParserRule getTuplePartCSRule() { |
| return getTuplePartCSAccess().getRule(); |
| } |
| |
| //SimpleTypeCS returns base::TypedRefCS: |
| // TypeLiteralCS | PathTypeCS; |
| public EssentialOCLGrammarAccess.SimpleTypeCSElements getSimpleTypeCSAccess() { |
| return gaEssentialOCL.getSimpleTypeCSAccess(); |
| } |
| |
| public ParserRule getSimpleTypeCSRule() { |
| return getSimpleTypeCSAccess().getRule(); |
| } |
| |
| //ComplexTypeCS returns base::TypedRefCS: |
| // TypeLiteralWithMultiplicityCS | PathTypeCS ownedMultiplicity=MultiplicityCS?; |
| public EssentialOCLGrammarAccess.ComplexTypeCSElements getComplexTypeCSAccess() { |
| return gaEssentialOCL.getComplexTypeCSAccess(); |
| } |
| |
| public ParserRule getComplexTypeCSRule() { |
| return getComplexTypeCSAccess().getRule(); |
| } |
| |
| ////--------------------------------------------------------------------- |
| // // Literals |
| // |
| ////--------------------------------------------------------------------- |
| // CollectionLiteralExpCS: |
| // ownedType=CollectionTypeWithMultiplicityCS "{" (ownedParts+=CollectionLiteralPartCS ("," |
| // ownedParts+=CollectionLiteralPartCS)*)? "}"; |
| public EssentialOCLGrammarAccess.CollectionLiteralExpCSElements getCollectionLiteralExpCSAccess() { |
| return gaEssentialOCL.getCollectionLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getCollectionLiteralExpCSRule() { |
| return getCollectionLiteralExpCSAccess().getRule(); |
| } |
| |
| //CollectionLiteralPartCS: |
| // ownedExpression=ExpCS (".." ownedLastExpression=ExpCS)? | ownedExpression=PatternExpCS; |
| public EssentialOCLGrammarAccess.CollectionLiteralPartCSElements getCollectionLiteralPartCSAccess() { |
| return gaEssentialOCL.getCollectionLiteralPartCSAccess(); |
| } |
| |
| public ParserRule getCollectionLiteralPartCSRule() { |
| return getCollectionLiteralPartCSAccess().getRule(); |
| } |
| |
| //CollectionPatternCS: |
| // ownedType=CollectionTypeCS "{" (ownedParts+=PatternExpCS ("," ownedParts+=PatternExpCS)* ("++" |
| // restVariableName=Identifier))? "}"; |
| public EssentialOCLGrammarAccess.CollectionPatternCSElements getCollectionPatternCSAccess() { |
| return gaEssentialOCL.getCollectionPatternCSAccess(); |
| } |
| |
| public ParserRule getCollectionPatternCSRule() { |
| return getCollectionPatternCSAccess().getRule(); |
| } |
| |
| //// PatternPartCS |
| // ShadowPartCS: |
| // referredProperty=[pivot::Property|UnrestrictedName] "=" ownedInitExpression=(ExpCS | PatternExpCS); |
| public EssentialOCLGrammarAccess.ShadowPartCSElements getShadowPartCSAccess() { |
| return gaEssentialOCL.getShadowPartCSAccess(); |
| } |
| |
| public ParserRule getShadowPartCSRule() { |
| return getShadowPartCSAccess().getRule(); |
| } |
| |
| //PatternExpCS: |
| // patternVariableName=UnrestrictedName? ":" ownedPatternType=TypeExpCS; |
| public EssentialOCLGrammarAccess.PatternExpCSElements getPatternExpCSAccess() { |
| return gaEssentialOCL.getPatternExpCSAccess(); |
| } |
| |
| public ParserRule getPatternExpCSRule() { |
| return getPatternExpCSAccess().getRule(); |
| } |
| |
| //LambdaLiteralExpCS: |
| // name="Lambda" "(" (ownedParameters+=LambdaParameterCS ("," ownedParameters+=LambdaParameterCS)*)? ")" ":" |
| // ownedType=ComplexTypeCS "{" ownedExpression=ExpCS "}"; |
| public EssentialOCLGrammarAccess.LambdaLiteralExpCSElements getLambdaLiteralExpCSAccess() { |
| return gaEssentialOCL.getLambdaLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getLambdaLiteralExpCSRule() { |
| return getLambdaLiteralExpCSAccess().getRule(); |
| } |
| |
| //LambdaParameterCS returns base::ParameterCS: |
| // name=UnrestrictedName ":" ownedType=ComplexTypeCS; |
| public EssentialOCLGrammarAccess.LambdaParameterCSElements getLambdaParameterCSAccess() { |
| return gaEssentialOCL.getLambdaParameterCSAccess(); |
| } |
| |
| public ParserRule getLambdaParameterCSRule() { |
| return getLambdaParameterCSAccess().getRule(); |
| } |
| |
| //MapLiteralExpCS: |
| // ownedType=MapTypeCS "{" (ownedParts+=MapLiteralPartCS ("," ownedParts+=MapLiteralPartCS)*)? "}"; |
| public EssentialOCLGrammarAccess.MapLiteralExpCSElements getMapLiteralExpCSAccess() { |
| return gaEssentialOCL.getMapLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getMapLiteralExpCSRule() { |
| return getMapLiteralExpCSAccess().getRule(); |
| } |
| |
| //MapLiteralPartCS: |
| // ownedKey=ExpCS "<-" ownedValue=ExpCS; |
| public EssentialOCLGrammarAccess.MapLiteralPartCSElements getMapLiteralPartCSAccess() { |
| return gaEssentialOCL.getMapLiteralPartCSAccess(); |
| } |
| |
| public ParserRule getMapLiteralPartCSRule() { |
| return getMapLiteralPartCSAccess().getRule(); |
| } |
| |
| //PrimitiveLiteralExpCS: |
| // NumberLiteralExpCS | StringLiteralExpCS | BooleanLiteralExpCS | UnlimitedNaturalLiteralExpCS | InvalidLiteralExpCS | |
| // NullLiteralExpCS; |
| public EssentialOCLGrammarAccess.PrimitiveLiteralExpCSElements getPrimitiveLiteralExpCSAccess() { |
| return gaEssentialOCL.getPrimitiveLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getPrimitiveLiteralExpCSRule() { |
| return getPrimitiveLiteralExpCSAccess().getRule(); |
| } |
| |
| //TupleLiteralExpCS: |
| // "Tuple" "{" ownedParts+=TupleLiteralPartCS ("," ownedParts+=TupleLiteralPartCS)* "}"; |
| public EssentialOCLGrammarAccess.TupleLiteralExpCSElements getTupleLiteralExpCSAccess() { |
| return gaEssentialOCL.getTupleLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getTupleLiteralExpCSRule() { |
| return getTupleLiteralExpCSAccess().getRule(); |
| } |
| |
| //TupleLiteralPartCS: |
| // name=UnrestrictedName (":" ownedType=ComplexTypeCS)? "=" ownedInitExpression=ExpCS; |
| public EssentialOCLGrammarAccess.TupleLiteralPartCSElements getTupleLiteralPartCSAccess() { |
| return gaEssentialOCL.getTupleLiteralPartCSAccess(); |
| } |
| |
| public ParserRule getTupleLiteralPartCSRule() { |
| return getTupleLiteralPartCSAccess().getRule(); |
| } |
| |
| //NumberLiteralExpCS: |
| // symbol=NUMBER_LITERAL; |
| public EssentialOCLGrammarAccess.NumberLiteralExpCSElements getNumberLiteralExpCSAccess() { |
| return gaEssentialOCL.getNumberLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getNumberLiteralExpCSRule() { |
| return getNumberLiteralExpCSAccess().getRule(); |
| } |
| |
| //StringLiteralExpCS: |
| // segments+=StringLiteral+; |
| public EssentialOCLGrammarAccess.StringLiteralExpCSElements getStringLiteralExpCSAccess() { |
| return gaEssentialOCL.getStringLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getStringLiteralExpCSRule() { |
| return getStringLiteralExpCSAccess().getRule(); |
| } |
| |
| //BooleanLiteralExpCS: |
| // symbol="true" | symbol="false"; |
| public EssentialOCLGrammarAccess.BooleanLiteralExpCSElements getBooleanLiteralExpCSAccess() { |
| return gaEssentialOCL.getBooleanLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getBooleanLiteralExpCSRule() { |
| return getBooleanLiteralExpCSAccess().getRule(); |
| } |
| |
| //UnlimitedNaturalLiteralExpCS: |
| // {UnlimitedNaturalLiteralExpCS} "*"; |
| public EssentialOCLGrammarAccess.UnlimitedNaturalLiteralExpCSElements getUnlimitedNaturalLiteralExpCSAccess() { |
| return gaEssentialOCL.getUnlimitedNaturalLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getUnlimitedNaturalLiteralExpCSRule() { |
| return getUnlimitedNaturalLiteralExpCSAccess().getRule(); |
| } |
| |
| //InvalidLiteralExpCS: |
| // {InvalidLiteralExpCS} "invalid"; |
| public EssentialOCLGrammarAccess.InvalidLiteralExpCSElements getInvalidLiteralExpCSAccess() { |
| return gaEssentialOCL.getInvalidLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getInvalidLiteralExpCSRule() { |
| return getInvalidLiteralExpCSAccess().getRule(); |
| } |
| |
| //NullLiteralExpCS: |
| // {NullLiteralExpCS} "null"; |
| public EssentialOCLGrammarAccess.NullLiteralExpCSElements getNullLiteralExpCSAccess() { |
| return gaEssentialOCL.getNullLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getNullLiteralExpCSRule() { |
| return getNullLiteralExpCSAccess().getRule(); |
| } |
| |
| //TypeLiteralCS returns base::TypedRefCS: |
| // PrimitiveTypeCS | CollectionTypeCS | MapTypeCS | TupleTypeCS; |
| public EssentialOCLGrammarAccess.TypeLiteralCSElements getTypeLiteralCSAccess() { |
| return gaEssentialOCL.getTypeLiteralCSAccess(); |
| } |
| |
| public ParserRule getTypeLiteralCSRule() { |
| return getTypeLiteralCSAccess().getRule(); |
| } |
| |
| //TypeLiteralWithMultiplicityCS returns base::TypedRefCS: |
| // CollectionTypeWithMultiplicityCS | LambdaTypeCS | (PrimitiveTypeCS | MapTypeCS | TupleTypeCS) |
| // ownedMultiplicity=MultiplicityCS?; |
| public EssentialOCLGrammarAccess.TypeLiteralWithMultiplicityCSElements getTypeLiteralWithMultiplicityCSAccess() { |
| return gaEssentialOCL.getTypeLiteralWithMultiplicityCSAccess(); |
| } |
| |
| public ParserRule getTypeLiteralWithMultiplicityCSRule() { |
| return getTypeLiteralWithMultiplicityCSAccess().getRule(); |
| } |
| |
| //TypeLiteralExpCS: |
| // ownedType=TypeLiteralWithMultiplicityCS; |
| public EssentialOCLGrammarAccess.TypeLiteralExpCSElements getTypeLiteralExpCSAccess() { |
| return gaEssentialOCL.getTypeLiteralExpCSAccess(); |
| } |
| |
| public ParserRule getTypeLiteralExpCSRule() { |
| return getTypeLiteralExpCSAccess().getRule(); |
| } |
| |
| //PathExpCS: |
| // ownedPathName=PathNameCS ("(" ownedBinding=TemplateBindingCS ")")? (ownedCurlyBracketedClause=CurlyBracketedClauseCS |
| // ("{" ownedPatternGuard=ExpCS "}")?)? ownedMultiplicity=MultiplicityCS?; |
| public EssentialOCLGrammarAccess.PathExpCSElements getPathExpCSAccess() { |
| return gaEssentialOCL.getPathExpCSAccess(); |
| } |
| |
| public ParserRule getPathExpCSRule() { |
| return getPathExpCSAccess().getRule(); |
| } |
| |
| //TypeExpCS returns base::TypedRefCS: |
| // PathExpCS | TypeLiteralWithMultiplicityCS | CollectionPatternCS; |
| public EssentialOCLGrammarAccess.TypeExpCSElements getTypeExpCSAccess() { |
| return gaEssentialOCL.getTypeExpCSAccess(); |
| } |
| |
| public ParserRule getTypeExpCSRule() { |
| return getTypeExpCSAccess().getRule(); |
| } |
| |
| ////--------------------------------------------------------------------- |
| // // Expressions |
| // |
| ////--------------------------------------------------------------------- |
| // |
| //// An ExpCS permits a LetExpCS only in the final term to ensure |
| // |
| //// that let is right associative, whereas infix operators are left associative. |
| // |
| //// a = 64 / 16 / let b : Integer in 8 / let c : Integer in 4 |
| // // is |
| // |
| //// a = (64 / 16) / (let b : Integer in 8 / (let c : Integer in 4 )) |
| // |
| /// * An expression elaborates a prefixed expression with zero or more binary operator and expression suffixes. |
| // * An optionally prefixed let expression is permitted except when suffixed with further expressions.* / |
| //ExpCS: |
| // PrefixedPrimaryExpCS ({InfixExpCS.ownedLeft=current} name=BinaryOperatorName ownedRight=ExpCS)? |
| // // ({InfixExpCS} ownedSource=PrefixedExpCS name=BinaryOperatorName ownedArgument=ExpCS) |
| // //| PrefixedExpCS |
| // |
| // // the above takes exponential or worse time for backtracking, below is fast |
| // | PrefixedLetExpCS; |
| public EssentialOCLGrammarAccess.ExpCSElements getExpCSAccess() { |
| return gaEssentialOCL.getExpCSAccess(); |
| } |
| |
| public ParserRule getExpCSRule() { |
| return getExpCSAccess().getRule(); |
| } |
| |
| /// * A prefixed let expression elaborates a let expression with zero or more unary prefix operators. * / PrefixedLetExpCS |
| //returns ExpCS: |
| // {PrefixExpCS} name=UnaryOperatorName ownedRight=PrefixedLetExpCS | LetExpCS; |
| public EssentialOCLGrammarAccess.PrefixedLetExpCSElements getPrefixedLetExpCSAccess() { |
| return gaEssentialOCL.getPrefixedLetExpCSAccess(); |
| } |
| |
| public ParserRule getPrefixedLetExpCSRule() { |
| return getPrefixedLetExpCSAccess().getRule(); |
| } |
| |
| /// * A prefixed primary expression elaborates a primary expression with zero or more unary prefix operators. * / |
| //PrefixedPrimaryExpCS returns ExpCS: |
| // {PrefixExpCS} name=UnaryOperatorName ownedRight=PrefixedPrimaryExpCS | PrimaryExpCS; |
| public EssentialOCLGrammarAccess.PrefixedPrimaryExpCSElements getPrefixedPrimaryExpCSAccess() { |
| return gaEssentialOCL.getPrefixedPrimaryExpCSAccess(); |
| } |
| |
| public ParserRule getPrefixedPrimaryExpCSRule() { |
| return getPrefixedPrimaryExpCSAccess().getRule(); |
| } |
| |
| /// * A primary expression identifies the basic expressions from which more complex expressions may be constructed. * / |
| //PrimaryExpCS returns ExpCS: |
| // NestedExpCS | IfExpCS | SelfExpCS | PrimitiveLiteralExpCS | TupleLiteralExpCS | MapLiteralExpCS | |
| // CollectionLiteralExpCS | LambdaLiteralExpCS | TypeLiteralExpCS | NameExpCS; |
| public EssentialOCLGrammarAccess.PrimaryExpCSElements getPrimaryExpCSAccess() { |
| return gaEssentialOCL.getPrimaryExpCSAccess(); |
| } |
| |
| public ParserRule getPrimaryExpCSRule() { |
| return getPrimaryExpCSAccess().getRule(); |
| } |
| |
| /// * A name expression is a generalised rule for expressions that start with a name and which may be followed by square, round or |
| // * curly bracket clauses and optionally an @pre as well.* / |
| //NameExpCS: |
| // ownedPathName=PathNameCS ownedSquareBracketedClauses+=SquareBracketedClauseCS* |
| // ownedRoundBracketedClause=RoundBracketedClauseCS? ownedCurlyBracketedClause=CurlyBracketedClauseCS? (isPre?="@" |
| // "pre")?; |
| public EssentialOCLGrammarAccess.NameExpCSElements getNameExpCSAccess() { |
| return gaEssentialOCL.getNameExpCSAccess(); |
| } |
| |
| public ParserRule getNameExpCSRule() { |
| return getNameExpCSAccess().getRule(); |
| } |
| |
| /// * A curly bracket clause is a generalized rule for the literal arguments of collections, maps, tuples and shadows.* / |
| //CurlyBracketedClauseCS: |
| // {CurlyBracketedClauseCS} "{" (value=StringLiteral | ownedParts+=ShadowPartCS ("," ownedParts+=ShadowPartCS)*)? "}"; |
| public EssentialOCLGrammarAccess.CurlyBracketedClauseCSElements getCurlyBracketedClauseCSAccess() { |
| return gaEssentialOCL.getCurlyBracketedClauseCSAccess(); |
| } |
| |
| public ParserRule getCurlyBracketedClauseCSRule() { |
| return getCurlyBracketedClauseCSAccess().getRule(); |
| } |
| |
| /// * A curly bracket clause is a generalized rule for template specialisations and operations arguments.* / |
| //RoundBracketedClauseCS: |
| // {RoundBracketedClauseCS} "(" (ownedArguments+=NavigatingArgCS ownedArguments+=NavigatingCommaArgCS* |
| // (ownedArguments+=NavigatingSemiArgCS ownedArguments+=NavigatingCommaArgCS*)? (ownedArguments+=NavigatingBarArgCS |
| // ownedArguments+=NavigatingCommaArgCS*)*)? ")"; |
| public EssentialOCLGrammarAccess.RoundBracketedClauseCSElements getRoundBracketedClauseCSAccess() { |
| return gaEssentialOCL.getRoundBracketedClauseCSAccess(); |
| } |
| |
| public ParserRule getRoundBracketedClauseCSRule() { |
| return getRoundBracketedClauseCSAccess().getRule(); |
| } |
| |
| /// * A square bracket clause is a generalized rule for association class qualifiers and roles.* / SquareBracketedClauseCS: |
| // "[" ownedTerms+=ExpCS ("," ownedTerms+=ExpCS)* "]"; |
| public EssentialOCLGrammarAccess.SquareBracketedClauseCSElements getSquareBracketedClauseCSAccess() { |
| return gaEssentialOCL.getSquareBracketedClauseCSAccess(); |
| } |
| |
| public ParserRule getSquareBracketedClauseCSRule() { |
| return getSquareBracketedClauseCSAccess().getRule(); |
| } |
| |
| /// * A navigating argument is a generalized rule for the first argument in a round bracket clause. This is typically the first operation |
| // * parameter or an iterator. * / |
| //// Type-less init is an illegal infix expression |
| // NavigatingArgCS: |
| // ownedNameExpression=NavigatingArgExpCS (":" ownedType=ComplexTypeCS ("=" ownedInitExpression=ExpCS)? | "in" |
| // ownedInitExpression=ExpCS)? | ":" ownedType=ComplexTypeCS; |
| public EssentialOCLGrammarAccess.NavigatingArgCSElements getNavigatingArgCSAccess() { |
| return gaEssentialOCL.getNavigatingArgCSAccess(); |
| } |
| |
| public ParserRule getNavigatingArgCSRule() { |
| return getNavigatingArgCSAccess().getRule(); |
| } |
| |
| /// * A navigating bar argument is a generalized rule for a bar-prefixed argument in a round bracket clause. This is typically the body of an iteration. * / |
| //// Type-less init is an illegal infix expression |
| // NavigatingBarArgCS returns NavigatingArgCS: |
| // prefix="|" ownedNameExpression=NavigatingArgExpCS (":" ownedType=ComplexTypeCS ("=" ownedInitExpression=ExpCS)?)?; |
| public EssentialOCLGrammarAccess.NavigatingBarArgCSElements getNavigatingBarArgCSAccess() { |
| return gaEssentialOCL.getNavigatingBarArgCSAccess(); |
| } |
| |
| public ParserRule getNavigatingBarArgCSRule() { |
| return getNavigatingBarArgCSAccess().getRule(); |
| } |
| |
| /// * A navigating comma argument is a generalized rule for non-first argument in a round bracket clause. These are typically non-first operation |
| // * parameters or a second iterator. * / |
| //// Type-less init is an illegal infix expression |
| // NavigatingCommaArgCS returns NavigatingArgCS: |
| // prefix="," ownedNameExpression=NavigatingArgExpCS (":" ownedType=ComplexTypeCS ("=" ownedInitExpression=ExpCS)? | |
| // "in" ownedInitExpression=ExpCS)?; |
| public EssentialOCLGrammarAccess.NavigatingCommaArgCSElements getNavigatingCommaArgCSAccess() { |
| return gaEssentialOCL.getNavigatingCommaArgCSAccess(); |
| } |
| |
| public ParserRule getNavigatingCommaArgCSRule() { |
| return getNavigatingCommaArgCSAccess().getRule(); |
| } |
| |
| /// * A navigating semi argument is a generalized rule for a semicolon prefixed argument in a round bracket clause. This is typically an iterate accumulator. * / |
| //// Type-less init is an illegal infix expression |
| // NavigatingSemiArgCS returns NavigatingArgCS: |
| // prefix=";" ownedNameExpression=NavigatingArgExpCS (":" ownedType=ComplexTypeCS ("=" ownedInitExpression=ExpCS)?)?; |
| public EssentialOCLGrammarAccess.NavigatingSemiArgCSElements getNavigatingSemiArgCSAccess() { |
| return gaEssentialOCL.getNavigatingSemiArgCSAccess(); |
| } |
| |
| public ParserRule getNavigatingSemiArgCSRule() { |
| return getNavigatingSemiArgCSAccess().getRule(); |
| } |
| |
| //IfExpCS: |
| // "if" ownedIfThenExpressions+=IfThenExpCS ("elseif" ownedIfThenExpressions+=IfThenExpCS)* "else" |
| // ownedElseExpression=ExpCS "endif"; |
| public EssentialOCLGrammarAccess.IfExpCSElements getIfExpCSAccess() { |
| return gaEssentialOCL.getIfExpCSAccess(); |
| } |
| |
| public ParserRule getIfExpCSRule() { |
| return getIfExpCSAccess().getRule(); |
| } |
| |
| //IfThenExpCS: |
| // (ownedPattern=PatternExpCS "=")? ownedCondition=ExpCS "then" ownedThenExpression=ExpCS; |
| public EssentialOCLGrammarAccess.IfThenExpCSElements getIfThenExpCSAccess() { |
| return gaEssentialOCL.getIfThenExpCSAccess(); |
| } |
| |
| public ParserRule getIfThenExpCSRule() { |
| return getIfThenExpCSAccess().getRule(); |
| } |
| |
| //LetExpCS: |
| // "let" ownedVariables+=LetVariableCS ("," ownedVariables+=LetVariableCS)* "in" ownedInExpression=ExpCS; |
| public EssentialOCLGrammarAccess.LetExpCSElements getLetExpCSAccess() { |
| return gaEssentialOCL.getLetExpCSAccess(); |
| } |
| |
| public ParserRule getLetExpCSRule() { |
| return getLetExpCSAccess().getRule(); |
| } |
| |
| //LetVariableCS: |
| // name=UnrestrictedName ownedRoundBracketedClause=RoundBracketedClauseCS? (":" ownedType=ComplexTypeCS)? "=" |
| // ownedInitExpression=ExpCS; |
| public EssentialOCLGrammarAccess.LetVariableCSElements getLetVariableCSAccess() { |
| return gaEssentialOCL.getLetVariableCSAccess(); |
| } |
| |
| public ParserRule getLetVariableCSRule() { |
| return getLetVariableCSAccess().getRule(); |
| } |
| |
| //NestedExpCS: |
| // "(" ownedExpression=ExpCS ")"; |
| public EssentialOCLGrammarAccess.NestedExpCSElements getNestedExpCSAccess() { |
| return gaEssentialOCL.getNestedExpCSAccess(); |
| } |
| |
| public ParserRule getNestedExpCSRule() { |
| return getNestedExpCSAccess().getRule(); |
| } |
| |
| //SelfExpCS: |
| // {SelfExpCS} "self"; |
| public EssentialOCLGrammarAccess.SelfExpCSElements getSelfExpCSAccess() { |
| return gaEssentialOCL.getSelfExpCSAccess(); |
| } |
| |
| public ParserRule getSelfExpCSRule() { |
| return getSelfExpCSAccess().getRule(); |
| } |
| |
| //// Base overrides |
| // TemplateParameterActualCS returns base::PivotableElementCS: |
| // ComplexTypeCS | WildcardTypeRefCS | PrimitiveLiteralExpCS; |
| public EssentialOCLGrammarAccess.TemplateParameterActualCSElements getTemplateParameterActualCSAccess() { |
| return gaEssentialOCL.getTemplateParameterActualCSAccess(); |
| } |
| |
| public ParserRule getTemplateParameterActualCSRule() { |
| return getTemplateParameterActualCSAccess().getRule(); |
| } |
| |
| //MultiplicityBoundsCS: |
| // lowerBound=LOWER (".." upperBound=UPPER)?; |
| public BaseGrammarAccess.MultiplicityBoundsCSElements getMultiplicityBoundsCSAccess() { |
| return gaEssentialOCL.getMultiplicityBoundsCSAccess(); |
| } |
| |
| public ParserRule getMultiplicityBoundsCSRule() { |
| return getMultiplicityBoundsCSAccess().getRule(); |
| } |
| |
| //MultiplicityCS: |
| // "[" (MultiplicityBoundsCS | MultiplicityStringCS) ("|?" | isNullFree?="|1")? "]"; |
| public BaseGrammarAccess.MultiplicityCSElements getMultiplicityCSAccess() { |
| return gaEssentialOCL.getMultiplicityCSAccess(); |
| } |
| |
| public ParserRule getMultiplicityCSRule() { |
| return getMultiplicityCSAccess().getRule(); |
| } |
| |
| //MultiplicityStringCS: |
| // stringBounds=("*" | "+" | "?"); |
| public BaseGrammarAccess.MultiplicityStringCSElements getMultiplicityStringCSAccess() { |
| return gaEssentialOCL.getMultiplicityStringCSAccess(); |
| } |
| |
| public ParserRule getMultiplicityStringCSRule() { |
| return getMultiplicityStringCSAccess().getRule(); |
| } |
| |
| //PathNameCS: |
| // ownedPathElements+=FirstPathElementCS ("::" ownedPathElements+=NextPathElementCS)*; |
| public BaseGrammarAccess.PathNameCSElements getPathNameCSAccess() { |
| return gaEssentialOCL.getPathNameCSAccess(); |
| } |
| |
| public ParserRule getPathNameCSRule() { |
| return getPathNameCSAccess().getRule(); |
| } |
| |
| //FirstPathElementCS returns PathElementCS: |
| // referredElement=[pivot::NamedElement|UnrestrictedName]; |
| public BaseGrammarAccess.FirstPathElementCSElements getFirstPathElementCSAccess() { |
| return gaEssentialOCL.getFirstPathElementCSAccess(); |
| } |
| |
| public ParserRule getFirstPathElementCSRule() { |
| return getFirstPathElementCSAccess().getRule(); |
| } |
| |
| //NextPathElementCS returns PathElementCS: |
| // referredElement=[pivot::NamedElement|UnreservedName]; |
| public BaseGrammarAccess.NextPathElementCSElements getNextPathElementCSAccess() { |
| return gaEssentialOCL.getNextPathElementCSAccess(); |
| } |
| |
| public ParserRule getNextPathElementCSRule() { |
| return getNextPathElementCSAccess().getRule(); |
| } |
| |
| //PathTypeCS: |
| // ownedPathName=PathNameCS ("(" ownedBinding=TemplateBindingCS ")")?; |
| public BaseGrammarAccess.PathTypeCSElements getPathTypeCSAccess() { |
| return gaEssentialOCL.getPathTypeCSAccess(); |
| } |
| |
| public ParserRule getPathTypeCSRule() { |
| return getPathTypeCSAccess().getRule(); |
| } |
| |
| //TemplateBindingCS: |
| // ownedSubstitutions+=TemplateParameterSubstitutionCS ("," ownedSubstitutions+=TemplateParameterSubstitutionCS)*; |
| public BaseGrammarAccess.TemplateBindingCSElements getTemplateBindingCSAccess() { |
| return gaEssentialOCL.getTemplateBindingCSAccess(); |
| } |
| |
| public ParserRule getTemplateBindingCSRule() { |
| return getTemplateBindingCSAccess().getRule(); |
| } |
| |
| //TemplateParameterSubstitutionCS: |
| // ownedActualParameter=TemplateParameterActualCS; |
| public BaseGrammarAccess.TemplateParameterSubstitutionCSElements getTemplateParameterSubstitutionCSAccess() { |
| return gaEssentialOCL.getTemplateParameterSubstitutionCSAccess(); |
| } |
| |
| public ParserRule getTemplateParameterSubstitutionCSRule() { |
| return getTemplateParameterSubstitutionCSAccess().getRule(); |
| } |
| |
| //TemplateSignatureCS: |
| // "<" ownedParameters+=TypeParameterCS ("," ownedParameters+=TypeParameterCS)* ">"; |
| public BaseGrammarAccess.TemplateSignatureCSElements getTemplateSignatureCSAccess() { |
| return gaEssentialOCL.getTemplateSignatureCSAccess(); |
| } |
| |
| public ParserRule getTemplateSignatureCSRule() { |
| return getTemplateSignatureCSAccess().getRule(); |
| } |
| |
| //TypeParameterCS: |
| // name=UnrestrictedName ("extends" ownedExtends+=SimpleTypeCS ("&&" ownedExtends+=SimpleTypeCS)*)?; |
| public BaseGrammarAccess.TypeParameterCSElements getTypeParameterCSAccess() { |
| return gaEssentialOCL.getTypeParameterCSAccess(); |
| } |
| |
| public ParserRule getTypeParameterCSRule() { |
| return getTypeParameterCSAccess().getRule(); |
| } |
| |
| //TypeRefCS: |
| // SimpleTypeCS | WildcardTypeRefCS; |
| public BaseGrammarAccess.TypeRefCSElements getTypeRefCSAccess() { |
| return gaEssentialOCL.getTypeRefCSAccess(); |
| } |
| |
| public ParserRule getTypeRefCSRule() { |
| return getTypeRefCSAccess().getRule(); |
| } |
| |
| //WildcardTypeRefCS: |
| // {WildcardTypeRefCS} "?" ("extends" ownedExtends=SimpleTypeCS)?; |
| public BaseGrammarAccess.WildcardTypeRefCSElements getWildcardTypeRefCSAccess() { |
| return gaEssentialOCL.getWildcardTypeRefCSAccess(); |
| } |
| |
| public ParserRule getWildcardTypeRefCSRule() { |
| return getWildcardTypeRefCSAccess().getRule(); |
| } |
| |
| //ID: |
| // SIMPLE_ID | ESCAPED_ID; |
| public BaseGrammarAccess.IDElements getIDAccess() { |
| return gaEssentialOCL.getIDAccess(); |
| } |
| |
| public ParserRule getIDRule() { |
| return getIDAccess().getRule(); |
| } |
| |
| //Identifier: |
| // ID; |
| public BaseGrammarAccess.IdentifierElements getIdentifierAccess() { |
| return gaEssentialOCL.getIdentifierAccess(); |
| } |
| |
| public ParserRule getIdentifierRule() { |
| return getIdentifierAccess().getRule(); |
| } |
| |
| /// * A lowerbounded integer is used to define the lowerbound of a collection multiplicity. The value may not be the unlimited value. * / |
| //LOWER returns ecore::EInt: |
| // INT; |
| public BaseGrammarAccess.LOWERElements getLOWERAccess() { |
| return gaEssentialOCL.getLOWERAccess(); |
| } |
| |
| public ParserRule getLOWERRule() { |
| return getLOWERAccess().getRule(); |
| } |
| |
| /// * A number may be an integer or floating point value. The declaration here appears to be that for just an integer. This is to avoid |
| // * lookahead conflicts in simple lexers between a dot within a floating point number and the dot-dot in a CollectionLiteralPartCS. A |
| // * practical implementation should give high priority to a successful parse of INT ('.' INT)? (('e' | 'E') ('+' | '-')? INT)? than |
| // * to the unsuccessful partial parse of INT '..'. The type of the INT terminal is String to allow the floating point syntax to be used. |
| // * / |
| //// Not terminal to allow parser backtracking to sort out "5..7" |
| // |
| //// EssentialOCLTokenSource pieces this together ('.' INT)? (('e' | 'E') ('+' | '-')? INT)?; |
| // NUMBER_LITERAL returns |
| //BigNumber: |
| // INT; |
| public BaseGrammarAccess.NUMBER_LITERALElements getNUMBER_LITERALAccess() { |
| return gaEssentialOCL.getNUMBER_LITERALAccess(); |
| } |
| |
| public ParserRule getNUMBER_LITERALRule() { |
| return getNUMBER_LITERALAccess().getRule(); |
| } |
| |
| //StringLiteral: |
| // SINGLE_QUOTED_STRING; |
| public BaseGrammarAccess.StringLiteralElements getStringLiteralAccess() { |
| return gaEssentialOCL.getStringLiteralAccess(); |
| } |
| |
| public ParserRule getStringLiteralRule() { |
| return getStringLiteralAccess().getRule(); |
| } |
| |
| /// * An upperbounded integer is used to define the upperbound of a collection multiplicity. The value may be the unlimited value. * / |
| //UPPER returns ecore::EInt: |
| // INT | "*"; |
| public BaseGrammarAccess.UPPERElements getUPPERAccess() { |
| return gaEssentialOCL.getUPPERAccess(); |
| } |
| |
| public ParserRule getUPPERRule() { |
| return getUPPERAccess().getRule(); |
| } |
| |
| //URI: |
| // SINGLE_QUOTED_STRING; |
| public BaseGrammarAccess.URIElements getURIAccess() { |
| return gaEssentialOCL.getURIAccess(); |
| } |
| |
| public ParserRule getURIRule() { |
| return getURIAccess().getRule(); |
| } |
| |
| //terminal fragment ESCAPED_CHARACTER: |
| // "\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\"); |
| public TerminalRule getESCAPED_CHARACTERRule() { |
| return gaEssentialOCL.getESCAPED_CHARACTERRule(); |
| } |
| |
| //terminal fragment LETTER_CHARACTER: |
| // "a".."z" | "A".."Z" | "_"; |
| public TerminalRule getLETTER_CHARACTERRule() { |
| return gaEssentialOCL.getLETTER_CHARACTERRule(); |
| } |
| |
| //terminal DOUBLE_QUOTED_STRING: |
| // "\"" (ESCAPED_CHARACTER | !("\\" | "\""))* "\""; |
| public TerminalRule getDOUBLE_QUOTED_STRINGRule() { |
| return gaEssentialOCL.getDOUBLE_QUOTED_STRINGRule(); |
| } |
| |
| //terminal SINGLE_QUOTED_STRING: |
| // "\'" (ESCAPED_CHARACTER | !("\\" | "\'"))* "\'"; |
| public TerminalRule getSINGLE_QUOTED_STRINGRule() { |
| return gaEssentialOCL.getSINGLE_QUOTED_STRINGRule(); |
| } |
| |
| //terminal ML_SINGLE_QUOTED_STRING: |
| // "/\'"->"\'/"; |
| public TerminalRule getML_SINGLE_QUOTED_STRINGRule() { |
| return gaEssentialOCL.getML_SINGLE_QUOTED_STRINGRule(); |
| } |
| |
| //terminal SIMPLE_ID: |
| // LETTER_CHARACTER (LETTER_CHARACTER | "0".."9")*; |
| public TerminalRule getSIMPLE_IDRule() { |
| return gaEssentialOCL.getSIMPLE_IDRule(); |
| } |
| |
| //terminal ESCAPED_ID: |
| // "_" SINGLE_QUOTED_STRING; |
| public TerminalRule getESCAPED_IDRule() { |
| return gaEssentialOCL.getESCAPED_IDRule(); |
| } |
| |
| //// String to allow diverse re-use |
| // // multiple leading zeroes occur as floating point fractional part |
| // terminal INT: |
| // "0".."9"+; |
| public TerminalRule getINTRule() { |
| return gaEssentialOCL.getINTRule(); |
| } |
| |
| /// * A multi-line comment supports a comment that may span more than one line using familiar slash-star...star-slash comment delimiters * / |
| //terminal ML_COMMENT: |
| // "/ *"->"* /"; |
| public TerminalRule getML_COMMENTRule() { |
| return gaEssentialOCL.getML_COMMENTRule(); |
| } |
| |
| /// * A single-line comment supports a comment that terminates at the end of the line * / terminal SL_COMMENT: |
| // "--" !("\n" | "\r")* ("\r"? "\n")?; |
| public TerminalRule getSL_COMMENTRule() { |
| return gaEssentialOCL.getSL_COMMENTRule(); |
| } |
| |
| /// * Whitespace may occur between any pair of tokens * / terminal WS: |
| // (" " | "\t" | "\r" | "\n")+; |
| public TerminalRule getWSRule() { |
| return gaEssentialOCL.getWSRule(); |
| } |
| |
| //terminal ANY_OTHER: |
| // .; |
| public TerminalRule getANY_OTHERRule() { |
| return gaEssentialOCL.getANY_OTHERRule(); |
| } |
| } |