| /* |
| * generated by Xtext 2.10.0 |
| */ |
| grammar InternalMiniOCLCS; |
| |
| options { |
| superClass=AbstractInternalAntlrParser; |
| backtrack=true; |
| } |
| |
| @lexer::header { |
| package org.eclipse.qvtd.doc.parser.antlr.internal; |
| |
| // Hack: Use our own Lexer superclass by means of import. |
| // Currently there is no other way to specify the superclass for the lexer. |
| import org.eclipse.xtext.parser.antlr.Lexer; |
| } |
| |
| @parser::header { |
| package org.eclipse.qvtd.doc.parser.antlr.internal; |
| |
| import org.eclipse.xtext.*; |
| import org.eclipse.xtext.parser.*; |
| import org.eclipse.xtext.parser.impl.*; |
| import org.eclipse.emf.ecore.util.EcoreUtil; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.emf.common.util.Enumerator; |
| import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; |
| import org.eclipse.xtext.parser.antlr.XtextTokenStream; |
| import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; |
| import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; |
| import org.eclipse.qvtd.doc.services.MiniOCLCSGrammarAccess; |
| |
| } |
| |
| @parser::members { |
| |
| /* |
| This grammar contains a lot of empty actions to work around a bug in ANTLR. |
| Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases. |
| */ |
| |
| private MiniOCLCSGrammarAccess grammarAccess; |
| |
| public InternalMiniOCLCSParser(TokenStream input, MiniOCLCSGrammarAccess grammarAccess) { |
| this(input); |
| this.grammarAccess = grammarAccess; |
| registerRules(grammarAccess.getGrammar()); |
| } |
| |
| @Override |
| protected String getFirstRuleName() { |
| return "RootCS"; |
| } |
| |
| @Override |
| protected MiniOCLCSGrammarAccess getGrammarAccess() { |
| return grammarAccess; |
| } |
| |
| } |
| |
| @rulecatch { |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| } |
| |
| // Entry rule entryRuleRootCS |
| entryRuleRootCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getRootCSRule()); } |
| iv_ruleRootCS=ruleRootCS |
| { $current=$iv_ruleRootCS.current; } |
| EOF; |
| |
| // Rule RootCS |
| ruleRootCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getRootCSAccess().getPackagesPackageCSParserRuleCall_0_0()); |
| } |
| lv_packages_0_0=rulePackageCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getRootCSRule()); |
| } |
| add( |
| $current, |
| "packages", |
| lv_packages_0_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PackageCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getRootCSAccess().getContraintsConstraintsDefCSParserRuleCall_1_0()); |
| } |
| lv_contraints_1_0=ruleConstraintsDefCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getRootCSRule()); |
| } |
| add( |
| $current, |
| "contraints", |
| lv_contraints_1_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ConstraintsDefCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| ; |
| |
| // Entry rule entryRulePackageCS |
| entryRulePackageCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getPackageCSRule()); } |
| iv_rulePackageCS=rulePackageCS |
| { $current=$iv_rulePackageCS.current; } |
| EOF; |
| |
| // Rule PackageCS |
| rulePackageCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='package' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getPackageCSAccess().getPackageKeyword_0()); |
| } |
| ( |
| ( |
| lv_name_1_0=RULE_ID |
| { |
| newLeafNode(lv_name_1_0, grammarAccess.getPackageCSAccess().getNameIDTerminalRuleCall_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getPackageCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "name", |
| lv_name_1_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| otherlv_2='{' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getPackageCSAccess().getLeftCurlyBracketKeyword_2()); |
| } |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getPackageCSAccess().getPackagesPackageCSParserRuleCall_3_0_0()); |
| } |
| lv_packages_3_0=rulePackageCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getPackageCSRule()); |
| } |
| add( |
| $current, |
| "packages", |
| lv_packages_3_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PackageCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getPackageCSAccess().getClassifiersClassifierCSParserRuleCall_3_1_0()); |
| } |
| lv_classifiers_4_0=ruleClassifierCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getPackageCSRule()); |
| } |
| add( |
| $current, |
| "classifiers", |
| lv_classifiers_4_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ClassifierCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| otherlv_5='}' |
| { |
| newLeafNode(otherlv_5, grammarAccess.getPackageCSAccess().getRightCurlyBracketKeyword_4()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleClassifierCS |
| entryRuleClassifierCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getClassifierCSRule()); } |
| iv_ruleClassifierCS=ruleClassifierCS |
| { $current=$iv_ruleClassifierCS.current; } |
| EOF; |
| |
| // Rule ClassifierCS |
| ruleClassifierCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getClassifierCSAccess().getClassCSParserRuleCall_0()); |
| } |
| this_ClassCS_0=ruleClassCS |
| { |
| $current = $this_ClassCS_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getClassifierCSAccess().getDatatypeCSParserRuleCall_1()); |
| } |
| this_DatatypeCS_1=ruleDatatypeCS |
| { |
| $current = $this_DatatypeCS_1.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleClassCS |
| entryRuleClassCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getClassCSRule()); } |
| iv_ruleClassCS=ruleClassCS |
| { $current=$iv_ruleClassCS.current; } |
| EOF; |
| |
| // Rule ClassCS |
| ruleClassCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='class' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getClassCSAccess().getClassKeyword_0()); |
| } |
| ( |
| ( |
| lv_name_1_0=RULE_ID |
| { |
| newLeafNode(lv_name_1_0, grammarAccess.getClassCSAccess().getNameIDTerminalRuleCall_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getClassCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "name", |
| lv_name_1_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| ( |
| otherlv_2='extends' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getClassCSAccess().getExtendsKeyword_2_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getClassCSAccess().getExtendsPathNameCSParserRuleCall_2_1_0()); |
| } |
| lv_extends_3_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getClassCSRule()); |
| } |
| set( |
| $current, |
| "extends", |
| lv_extends_3_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| otherlv_4='{' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getClassCSAccess().getLeftCurlyBracketKeyword_3()); |
| } |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getClassCSAccess().getPropertiesPropertyCSParserRuleCall_4_0_0()); |
| } |
| lv_properties_5_0=rulePropertyCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getClassCSRule()); |
| } |
| add( |
| $current, |
| "properties", |
| lv_properties_5_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PropertyCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getClassCSAccess().getOperationsOperationCSParserRuleCall_4_1_0()); |
| } |
| lv_operations_6_0=ruleOperationCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getClassCSRule()); |
| } |
| add( |
| $current, |
| "operations", |
| lv_operations_6_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.OperationCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| otherlv_7='}' |
| { |
| newLeafNode(otherlv_7, grammarAccess.getClassCSAccess().getRightCurlyBracketKeyword_5()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleDatatypeCS |
| entryRuleDatatypeCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getDatatypeCSRule()); } |
| iv_ruleDatatypeCS=ruleDatatypeCS |
| { $current=$iv_ruleDatatypeCS.current; } |
| EOF; |
| |
| // Rule DatatypeCS |
| ruleDatatypeCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='datatype' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getDatatypeCSAccess().getDatatypeKeyword_0()); |
| } |
| ( |
| ( |
| lv_name_1_0=RULE_ID |
| { |
| newLeafNode(lv_name_1_0, grammarAccess.getDatatypeCSAccess().getNameIDTerminalRuleCall_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getDatatypeCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "name", |
| lv_name_1_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| otherlv_2=':' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getDatatypeCSAccess().getColonKeyword_2()); |
| } |
| ( |
| ( |
| lv_typeName_3_0=RULE_STRING |
| { |
| newLeafNode(lv_typeName_3_0, grammarAccess.getDatatypeCSAccess().getTypeNameSTRINGTerminalRuleCall_3_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getDatatypeCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "typeName", |
| lv_typeName_3_0, |
| "org.eclipse.xtext.common.Terminals.STRING"); |
| } |
| ) |
| ) |
| otherlv_4=';' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getDatatypeCSAccess().getSemicolonKeyword_4()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRulePropertyCS |
| entryRulePropertyCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getPropertyCSRule()); } |
| iv_rulePropertyCS=rulePropertyCS |
| { $current=$iv_rulePropertyCS.current; } |
| EOF; |
| |
| // Rule PropertyCS |
| rulePropertyCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| otherlv_0='attribute' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getPropertyCSAccess().getAttributeKeyword_0_0()); |
| } |
| | |
| otherlv_1='containment' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getPropertyCSAccess().getContainmentKeyword_0_1()); |
| } |
| | |
| otherlv_2='cross_reference' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getPropertyCSAccess().getCross_referenceKeyword_0_2()); |
| } |
| ) |
| ( |
| ( |
| lv_name_3_0=RULE_ID |
| { |
| newLeafNode(lv_name_3_0, grammarAccess.getPropertyCSAccess().getNameIDTerminalRuleCall_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getPropertyCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "name", |
| lv_name_3_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| otherlv_4=':' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getPropertyCSAccess().getColonKeyword_2()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getPropertyCSAccess().getTypeRefPathNameCSParserRuleCall_3_0()); |
| } |
| lv_typeRef_5_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getPropertyCSRule()); |
| } |
| set( |
| $current, |
| "typeRef", |
| lv_typeRef_5_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getPropertyCSAccess().getMultiplicityMultiplicityCSParserRuleCall_4_0()); |
| } |
| lv_multiplicity_6_0=ruleMultiplicityCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getPropertyCSRule()); |
| } |
| set( |
| $current, |
| "multiplicity", |
| lv_multiplicity_6_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.MultiplicityCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )? |
| otherlv_7=';' |
| { |
| newLeafNode(otherlv_7, grammarAccess.getPropertyCSAccess().getSemicolonKeyword_5()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleMultiplicityCS |
| entryRuleMultiplicityCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getMultiplicityCSRule()); } |
| iv_ruleMultiplicityCS=ruleMultiplicityCS |
| { $current=$iv_ruleMultiplicityCS.current; } |
| EOF; |
| |
| // Rule MultiplicityCS |
| ruleMultiplicityCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='[' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0()); |
| } |
| ( |
| ( |
| ( |
| lv_opt_1_0='?' |
| { |
| newLeafNode(lv_opt_1_0, grammarAccess.getMultiplicityCSAccess().getOptQuestionMarkKeyword_1_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getMultiplicityCSRule()); |
| } |
| setWithLastConsumed($current, "opt", true, "?"); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| lv_mult_2_0='*' |
| { |
| newLeafNode(lv_mult_2_0, grammarAccess.getMultiplicityCSAccess().getMultAsteriskKeyword_1_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getMultiplicityCSRule()); |
| } |
| setWithLastConsumed($current, "mult", true, "*"); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| ( |
| lv_lower_3_0=RULE_INT |
| { |
| newLeafNode(lv_lower_3_0, grammarAccess.getMultiplicityCSAccess().getLowerINTTerminalRuleCall_1_2_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getMultiplicityCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "lower", |
| lv_lower_3_0, |
| "org.eclipse.xtext.common.Terminals.INT"); |
| } |
| ) |
| ) |
| otherlv_4='..' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getMultiplicityCSAccess().getFullStopFullStopKeyword_1_2_1()); |
| } |
| ( |
| ( |
| ( |
| lv_upperInt_5_0=RULE_INT |
| { |
| newLeafNode(lv_upperInt_5_0, grammarAccess.getMultiplicityCSAccess().getUpperIntINTTerminalRuleCall_1_2_2_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getMultiplicityCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "upperInt", |
| lv_upperInt_5_0, |
| "org.eclipse.xtext.common.Terminals.INT"); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| lv_upperMult_6_0='*' |
| { |
| newLeafNode(lv_upperMult_6_0, grammarAccess.getMultiplicityCSAccess().getUpperMultAsteriskKeyword_1_2_2_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getMultiplicityCSRule()); |
| } |
| setWithLastConsumed($current, "upperMult", true, "*"); |
| } |
| ) |
| ) |
| ) |
| ) |
| ) |
| otherlv_7=']' |
| { |
| newLeafNode(otherlv_7, grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleOperationCS |
| entryRuleOperationCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getOperationCSRule()); } |
| iv_ruleOperationCS=ruleOperationCS |
| { $current=$iv_ruleOperationCS.current; } |
| EOF; |
| |
| // Rule OperationCS |
| ruleOperationCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='op' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getOperationCSAccess().getOpKeyword_0()); |
| } |
| ( |
| ( |
| lv_name_1_0=RULE_ID |
| { |
| newLeafNode(lv_name_1_0, grammarAccess.getOperationCSAccess().getNameIDTerminalRuleCall_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getOperationCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "name", |
| lv_name_1_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| otherlv_2='(' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_2()); |
| } |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getOperationCSAccess().getParamsParameterCSParserRuleCall_3_0_0()); |
| } |
| lv_params_3_0=ruleParameterCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getOperationCSRule()); |
| } |
| add( |
| $current, |
| "params", |
| lv_params_3_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ParameterCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_4=',' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getOperationCSAccess().getCommaKeyword_3_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getOperationCSAccess().getParamsParameterCSParserRuleCall_3_1_1_0()); |
| } |
| lv_params_5_0=ruleParameterCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getOperationCSRule()); |
| } |
| add( |
| $current, |
| "params", |
| lv_params_5_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ParameterCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| )? |
| otherlv_6=')' |
| { |
| newLeafNode(otherlv_6, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_4()); |
| } |
| otherlv_7=':' |
| { |
| newLeafNode(otherlv_7, grammarAccess.getOperationCSAccess().getColonKeyword_5()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getOperationCSAccess().getResultRefPathNameCSParserRuleCall_6_0()); |
| } |
| lv_resultRef_8_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getOperationCSRule()); |
| } |
| set( |
| $current, |
| "resultRef", |
| lv_resultRef_8_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_9='=' |
| { |
| newLeafNode(otherlv_9, grammarAccess.getOperationCSAccess().getEqualsSignKeyword_7()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getOperationCSAccess().getBodyExpCSParserRuleCall_8_0()); |
| } |
| lv_body_10_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getOperationCSRule()); |
| } |
| set( |
| $current, |
| "body", |
| lv_body_10_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_11=';' |
| { |
| newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getSemicolonKeyword_9()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleParameterCS |
| entryRuleParameterCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getParameterCSRule()); } |
| iv_ruleParameterCS=ruleParameterCS |
| { $current=$iv_ruleParameterCS.current; } |
| EOF; |
| |
| // Rule ParameterCS |
| ruleParameterCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| lv_name_0_0=RULE_ID |
| { |
| newLeafNode(lv_name_0_0, grammarAccess.getParameterCSAccess().getNameIDTerminalRuleCall_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getParameterCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "name", |
| lv_name_0_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| otherlv_1=':' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getParameterCSAccess().getColonKeyword_1()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getParameterCSAccess().getTypeRefPathNameCSParserRuleCall_2_0()); |
| } |
| lv_typeRef_2_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getParameterCSRule()); |
| } |
| set( |
| $current, |
| "typeRef", |
| lv_typeRef_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleConstraintsDefCS |
| entryRuleConstraintsDefCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getConstraintsDefCSRule()); } |
| iv_ruleConstraintsDefCS=ruleConstraintsDefCS |
| { $current=$iv_ruleConstraintsDefCS.current; } |
| EOF; |
| |
| // Rule ConstraintsDefCS |
| ruleConstraintsDefCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='context' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getConstraintsDefCSAccess().getContextKeyword_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getConstraintsDefCSAccess().getTypeRefPathNameCSParserRuleCall_1_0()); |
| } |
| lv_typeRef_1_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getConstraintsDefCSRule()); |
| } |
| set( |
| $current, |
| "typeRef", |
| lv_typeRef_1_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_2='{' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getConstraintsDefCSAccess().getLeftCurlyBracketKeyword_2()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getConstraintsDefCSAccess().getInvariantsInvariantCSParserRuleCall_3_0()); |
| } |
| lv_invariants_3_0=ruleInvariantCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getConstraintsDefCSRule()); |
| } |
| add( |
| $current, |
| "invariants", |
| lv_invariants_3_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.InvariantCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )* |
| otherlv_4='}' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getConstraintsDefCSAccess().getRightCurlyBracketKeyword_4()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleInvariantCS |
| entryRuleInvariantCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getInvariantCSRule()); } |
| iv_ruleInvariantCS=ruleInvariantCS |
| { $current=$iv_ruleInvariantCS.current; } |
| EOF; |
| |
| // Rule InvariantCS |
| ruleInvariantCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='inv' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getInvariantCSAccess().getInvKeyword_0()); |
| } |
| otherlv_1=':' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getInvariantCSAccess().getColonKeyword_1()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getInvariantCSAccess().getExpExpCSParserRuleCall_2_0()); |
| } |
| lv_exp_2_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getInvariantCSRule()); |
| } |
| set( |
| $current, |
| "exp", |
| lv_exp_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_3=';' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getInvariantCSAccess().getSemicolonKeyword_3()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleExpCS |
| entryRuleExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getExpCSRule()); } |
| iv_ruleExpCS=ruleExpCS |
| { $current=$iv_ruleExpCS.current; } |
| EOF; |
| |
| // Rule ExpCS |
| ruleExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getExpCSAccess().getLogicExpCSParserRuleCall()); |
| } |
| this_LogicExpCS_0=ruleLogicExpCS |
| { |
| $current = $this_LogicExpCS_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ; |
| |
| // Entry rule entryRuleLogicExpCS |
| entryRuleLogicExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getLogicExpCSRule()); } |
| iv_ruleLogicExpCS=ruleLogicExpCS |
| { $current=$iv_ruleLogicExpCS.current; } |
| EOF; |
| |
| // Rule LogicExpCS |
| ruleLogicExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getLogicExpCSAccess().getCallExpCSParserRuleCall_0()); |
| } |
| this_CallExpCS_0=ruleCallExpCS |
| { |
| $current = $this_CallExpCS_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ( |
| ( |
| { |
| /* */ |
| } |
| { |
| $current = forceCreateModelElementAndSet( |
| grammarAccess.getLogicExpCSAccess().getLogicExpCSLeftAction_1_0(), |
| $current); |
| } |
| ) |
| ( |
| ( |
| ( |
| lv_op_2_1='=' |
| { |
| newLeafNode(lv_op_2_1, grammarAccess.getLogicExpCSAccess().getOpEqualsSignKeyword_1_1_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getLogicExpCSRule()); |
| } |
| setWithLastConsumed($current, "op", lv_op_2_1, null); |
| } |
| | |
| lv_op_2_2='<>' |
| { |
| newLeafNode(lv_op_2_2, grammarAccess.getLogicExpCSAccess().getOpLessThanSignGreaterThanSignKeyword_1_1_0_1()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getLogicExpCSRule()); |
| } |
| setWithLastConsumed($current, "op", lv_op_2_2, null); |
| } |
| ) |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getLogicExpCSAccess().getRightCallExpCSParserRuleCall_1_2_0()); |
| } |
| lv_right_3_0=ruleCallExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getLogicExpCSRule()); |
| } |
| set( |
| $current, |
| "right", |
| lv_right_3_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.CallExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| ) |
| ; |
| |
| // Entry rule entryRuleCallExpCS |
| entryRuleCallExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getCallExpCSRule()); } |
| iv_ruleCallExpCS=ruleCallExpCS |
| { $current=$iv_ruleCallExpCS.current; } |
| EOF; |
| |
| // Rule CallExpCS |
| ruleCallExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getCallExpCSAccess().getPrimaryExpCSParserRuleCall_0()); |
| } |
| this_PrimaryExpCS_0=rulePrimaryExpCS |
| { |
| $current = $this_PrimaryExpCS_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ( |
| ( |
| { |
| /* */ |
| } |
| { |
| $current = forceCreateModelElementAndSet( |
| grammarAccess.getCallExpCSAccess().getCallExpCSSourceAction_1_0(), |
| $current); |
| } |
| ) |
| ( |
| ( |
| ( |
| lv_op_2_1='.' |
| { |
| newLeafNode(lv_op_2_1, grammarAccess.getCallExpCSAccess().getOpFullStopKeyword_1_1_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getCallExpCSRule()); |
| } |
| setWithLastConsumed($current, "op", lv_op_2_1, null); |
| } |
| | |
| lv_op_2_2='->' |
| { |
| newLeafNode(lv_op_2_2, grammarAccess.getCallExpCSAccess().getOpHyphenMinusGreaterThanSignKeyword_1_1_0_1()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getCallExpCSRule()); |
| } |
| setWithLastConsumed($current, "op", lv_op_2_2, null); |
| } |
| ) |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getCallExpCSAccess().getNavExpNavigationExpCSParserRuleCall_1_2_0()); |
| } |
| lv_navExp_3_0=ruleNavigationExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getCallExpCSRule()); |
| } |
| set( |
| $current, |
| "navExp", |
| lv_navExp_3_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.NavigationExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| ) |
| ; |
| |
| // Entry rule entryRulePrimaryExpCS |
| entryRulePrimaryExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getPrimaryExpCSRule()); } |
| iv_rulePrimaryExpCS=rulePrimaryExpCS |
| { $current=$iv_rulePrimaryExpCS.current; } |
| EOF; |
| |
| // Rule PrimaryExpCS |
| rulePrimaryExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_0()); |
| } |
| this_SelfExpCS_0=ruleSelfExpCS |
| { |
| $current = $this_SelfExpCS_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNameExpCSParserRuleCall_1()); |
| } |
| this_NameExpCS_1=ruleNameExpCS |
| { |
| $current = $this_NameExpCS_1.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getLiteralExpCSParserRuleCall_2()); |
| } |
| this_LiteralExpCS_2=ruleLiteralExpCS |
| { |
| $current = $this_LiteralExpCS_2.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getLetExpCSParserRuleCall_3()); |
| } |
| this_LetExpCS_3=ruleLetExpCS |
| { |
| $current = $this_LetExpCS_3.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleSelfExpCS |
| entryRuleSelfExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getSelfExpCSRule()); } |
| iv_ruleSelfExpCS=ruleSelfExpCS |
| { $current=$iv_ruleSelfExpCS.current; } |
| EOF; |
| |
| // Rule SelfExpCS |
| ruleSelfExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| /* */ |
| } |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='self' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getSelfExpCSAccess().getSelfKeyword_1()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleNavigationExpCS |
| entryRuleNavigationExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getNavigationExpCSRule()); } |
| iv_ruleNavigationExpCS=ruleNavigationExpCS |
| { $current=$iv_ruleNavigationExpCS.current; } |
| EOF; |
| |
| // Rule NavigationExpCS |
| ruleNavigationExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getNavigationExpCSAccess().getLoopExpCSParserRuleCall_0()); |
| } |
| this_LoopExpCS_0=ruleLoopExpCS |
| { |
| $current = $this_LoopExpCS_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getNavigationExpCSAccess().getNameExpCSParserRuleCall_1()); |
| } |
| this_NameExpCS_1=ruleNameExpCS |
| { |
| $current = $this_NameExpCS_1.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleLoopExpCS |
| entryRuleLoopExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getLoopExpCSRule()); } |
| iv_ruleLoopExpCS=ruleLoopExpCS |
| { $current=$iv_ruleLoopExpCS.current; } |
| EOF; |
| |
| // Rule LoopExpCS |
| ruleLoopExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getLoopExpCSAccess().getCollectExpCSParserRuleCall_0()); |
| } |
| this_CollectExpCS_0=ruleCollectExpCS |
| { |
| $current = $this_CollectExpCS_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getLoopExpCSAccess().getIterateExpCSParserRuleCall_1()); |
| } |
| this_IterateExpCS_1=ruleIterateExpCS |
| { |
| $current = $this_IterateExpCS_1.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleCollectExpCS |
| entryRuleCollectExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getCollectExpCSRule()); } |
| iv_ruleCollectExpCS=ruleCollectExpCS |
| { $current=$iv_ruleCollectExpCS.current; } |
| EOF; |
| |
| // Rule CollectExpCS |
| ruleCollectExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='collect' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getCollectExpCSAccess().getCollectKeyword_0()); |
| } |
| otherlv_1='(' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getCollectExpCSAccess().getLeftParenthesisKeyword_1()); |
| } |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getCollectExpCSAccess().getItVarIteratorVarCSParserRuleCall_2_0_0()); |
| } |
| lv_itVar_2_0=ruleIteratorVarCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getCollectExpCSRule()); |
| } |
| set( |
| $current, |
| "itVar", |
| lv_itVar_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.IteratorVarCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_3='|' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getCollectExpCSAccess().getVerticalLineKeyword_2_1()); |
| } |
| )? |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getCollectExpCSAccess().getExpExpCSParserRuleCall_3_0()); |
| } |
| lv_exp_4_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getCollectExpCSRule()); |
| } |
| set( |
| $current, |
| "exp", |
| lv_exp_4_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_5=')' |
| { |
| newLeafNode(otherlv_5, grammarAccess.getCollectExpCSAccess().getRightParenthesisKeyword_4()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleIteratorVarCS |
| entryRuleIteratorVarCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getIteratorVarCSRule()); } |
| iv_ruleIteratorVarCS=ruleIteratorVarCS |
| { $current=$iv_ruleIteratorVarCS.current; } |
| EOF; |
| |
| // Rule IteratorVarCS |
| ruleIteratorVarCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| lv_itName_0_0=RULE_ID |
| { |
| newLeafNode(lv_itName_0_0, grammarAccess.getIteratorVarCSAccess().getItNameIDTerminalRuleCall_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getIteratorVarCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "itName", |
| lv_itName_0_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| ( |
| otherlv_1=':' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getIteratorVarCSAccess().getColonKeyword_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getIteratorVarCSAccess().getItTypePathNameCSParserRuleCall_1_1_0()); |
| } |
| lv_itType_2_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getIteratorVarCSRule()); |
| } |
| set( |
| $current, |
| "itType", |
| lv_itType_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleIterateExpCS |
| entryRuleIterateExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getIterateExpCSRule()); } |
| iv_ruleIterateExpCS=ruleIterateExpCS |
| { $current=$iv_ruleIterateExpCS.current; } |
| EOF; |
| |
| // Rule IterateExpCS |
| ruleIterateExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='iterate' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getIterateExpCSAccess().getIterateKeyword_0()); |
| } |
| otherlv_1='(' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getIterateExpCSAccess().getLeftParenthesisKeyword_1()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getIterateExpCSAccess().getItVarIteratorVarCSParserRuleCall_2_0()); |
| } |
| lv_itVar_2_0=ruleIteratorVarCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getIterateExpCSRule()); |
| } |
| set( |
| $current, |
| "itVar", |
| lv_itVar_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.IteratorVarCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_3=';' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getIterateExpCSAccess().getSemicolonKeyword_3()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getIterateExpCSAccess().getAccVarAccVarCSParserRuleCall_4_0()); |
| } |
| lv_accVar_4_0=ruleAccVarCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getIterateExpCSRule()); |
| } |
| set( |
| $current, |
| "accVar", |
| lv_accVar_4_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.AccVarCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_5='|' |
| { |
| newLeafNode(otherlv_5, grammarAccess.getIterateExpCSAccess().getVerticalLineKeyword_5()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getIterateExpCSAccess().getExpExpCSParserRuleCall_6_0()); |
| } |
| lv_exp_6_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getIterateExpCSRule()); |
| } |
| set( |
| $current, |
| "exp", |
| lv_exp_6_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_7=')' |
| { |
| newLeafNode(otherlv_7, grammarAccess.getIterateExpCSAccess().getRightParenthesisKeyword_7()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleAccVarCS |
| entryRuleAccVarCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getAccVarCSRule()); } |
| iv_ruleAccVarCS=ruleAccVarCS |
| { $current=$iv_ruleAccVarCS.current; } |
| EOF; |
| |
| // Rule AccVarCS |
| ruleAccVarCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| lv_accName_0_0=RULE_ID |
| { |
| newLeafNode(lv_accName_0_0, grammarAccess.getAccVarCSAccess().getAccNameIDTerminalRuleCall_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getAccVarCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "accName", |
| lv_accName_0_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| ( |
| otherlv_1=':' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getAccVarCSAccess().getColonKeyword_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getAccVarCSAccess().getAccTypePathNameCSParserRuleCall_1_1_0()); |
| } |
| lv_accType_2_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getAccVarCSRule()); |
| } |
| set( |
| $current, |
| "accType", |
| lv_accType_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| otherlv_3='=' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getAccVarCSAccess().getEqualsSignKeyword_2()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getAccVarCSAccess().getAccInitExpExpCSParserRuleCall_3_0()); |
| } |
| lv_accInitExp_4_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getAccVarCSRule()); |
| } |
| set( |
| $current, |
| "accInitExp", |
| lv_accInitExp_4_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleNameExpCS |
| entryRuleNameExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getNameExpCSRule()); } |
| iv_ruleNameExpCS=ruleNameExpCS |
| { $current=$iv_ruleNameExpCS.current; } |
| EOF; |
| |
| // Rule NameExpCS |
| ruleNameExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getNameExpCSAccess().getExpNamePathNameCSParserRuleCall_0_0()); |
| } |
| lv_expName_0_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getNameExpCSRule()); |
| } |
| set( |
| $current, |
| "expName", |
| lv_expName_0_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getNameExpCSAccess().getRoundedBracketsRoundedBracketClauseCSParserRuleCall_1_0()); |
| } |
| lv_roundedBrackets_1_0=ruleRoundedBracketClauseCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getNameExpCSRule()); |
| } |
| set( |
| $current, |
| "roundedBrackets", |
| lv_roundedBrackets_1_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.RoundedBracketClauseCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleRoundedBracketClauseCS |
| entryRuleRoundedBracketClauseCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getRoundedBracketClauseCSRule()); } |
| iv_ruleRoundedBracketClauseCS=ruleRoundedBracketClauseCS |
| { $current=$iv_ruleRoundedBracketClauseCS.current; } |
| EOF; |
| |
| // Rule RoundedBracketClauseCS |
| ruleRoundedBracketClauseCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| /* */ |
| } |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getRoundedBracketClauseCSAccess().getRoundedBracketClauseCSAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='(' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getRoundedBracketClauseCSAccess().getLeftParenthesisKeyword_1()); |
| } |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getRoundedBracketClauseCSAccess().getArgsExpCSParserRuleCall_2_0_0()); |
| } |
| lv_args_2_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getRoundedBracketClauseCSRule()); |
| } |
| add( |
| $current, |
| "args", |
| lv_args_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_3=',' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getRoundedBracketClauseCSAccess().getCommaKeyword_2_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getRoundedBracketClauseCSAccess().getArgsExpCSParserRuleCall_2_1_1_0()); |
| } |
| lv_args_4_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getRoundedBracketClauseCSRule()); |
| } |
| add( |
| $current, |
| "args", |
| lv_args_4_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| )? |
| otherlv_5=')' |
| { |
| newLeafNode(otherlv_5, grammarAccess.getRoundedBracketClauseCSAccess().getRightParenthesisKeyword_3()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleLiteralExpCS |
| entryRuleLiteralExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getLiteralExpCSRule()); } |
| iv_ruleLiteralExpCS=ruleLiteralExpCS |
| { $current=$iv_ruleLiteralExpCS.current; } |
| EOF; |
| |
| // Rule LiteralExpCS |
| ruleLiteralExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getLiteralExpCSAccess().getIntLiteralExpCSParserRuleCall_0()); |
| } |
| this_IntLiteralExpCS_0=ruleIntLiteralExpCS |
| { |
| $current = $this_IntLiteralExpCS_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_1()); |
| } |
| this_BooleanLiteralExpCS_1=ruleBooleanLiteralExpCS |
| { |
| $current = $this_BooleanLiteralExpCS_1.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_2()); |
| } |
| this_NullLiteralExpCS_2=ruleNullLiteralExpCS |
| { |
| $current = $this_NullLiteralExpCS_2.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| /* */ |
| } |
| { |
| newCompositeNode(grammarAccess.getLiteralExpCSAccess().getCollectionLiteralExpCSParserRuleCall_3()); |
| } |
| this_CollectionLiteralExpCS_3=ruleCollectionLiteralExpCS |
| { |
| $current = $this_CollectionLiteralExpCS_3.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleIntLiteralExpCS |
| entryRuleIntLiteralExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getIntLiteralExpCSRule()); } |
| iv_ruleIntLiteralExpCS=ruleIntLiteralExpCS |
| { $current=$iv_ruleIntLiteralExpCS.current; } |
| EOF; |
| |
| // Rule IntLiteralExpCS |
| ruleIntLiteralExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| lv_intSymbol_0_0=RULE_INT |
| { |
| newLeafNode(lv_intSymbol_0_0, grammarAccess.getIntLiteralExpCSAccess().getIntSymbolINTTerminalRuleCall_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getIntLiteralExpCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "intSymbol", |
| lv_intSymbol_0_0, |
| "org.eclipse.xtext.common.Terminals.INT"); |
| } |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleBooleanLiteralExpCS |
| entryRuleBooleanLiteralExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getBooleanLiteralExpCSRule()); } |
| iv_ruleBooleanLiteralExpCS=ruleBooleanLiteralExpCS |
| { $current=$iv_ruleBooleanLiteralExpCS.current; } |
| EOF; |
| |
| // Rule BooleanLiteralExpCS |
| ruleBooleanLiteralExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| /* */ |
| } |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getBooleanLiteralExpCSAccess().getBooleanExpCSAction_0(), |
| $current); |
| } |
| ) |
| ( |
| ( |
| ( |
| lv_boolSymbol_1_0='true' |
| { |
| newLeafNode(lv_boolSymbol_1_0, grammarAccess.getBooleanLiteralExpCSAccess().getBoolSymbolTrueKeyword_1_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getBooleanLiteralExpCSRule()); |
| } |
| setWithLastConsumed($current, "boolSymbol", true, "true"); |
| } |
| ) |
| ) |
| | |
| otherlv_2='false' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getBooleanLiteralExpCSAccess().getFalseKeyword_1_1()); |
| } |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleNullLiteralExpCS |
| entryRuleNullLiteralExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getNullLiteralExpCSRule()); } |
| iv_ruleNullLiteralExpCS=ruleNullLiteralExpCS |
| { $current=$iv_ruleNullLiteralExpCS.current; } |
| EOF; |
| |
| // Rule NullLiteralExpCS |
| ruleNullLiteralExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| /* */ |
| } |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='null' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleCollectionLiteralExpCS |
| entryRuleCollectionLiteralExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getCollectionLiteralExpCSRule()); } |
| iv_ruleCollectionLiteralExpCS=ruleCollectionLiteralExpCS |
| { $current=$iv_ruleCollectionLiteralExpCS.current; } |
| EOF; |
| |
| // Rule CollectionLiteralExpCS |
| ruleCollectionLiteralExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getKindCollectionKindCSEnumRuleCall_0_0()); |
| } |
| lv_kind_0_0=ruleCollectionKindCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule()); |
| } |
| set( |
| $current, |
| "kind", |
| lv_kind_0_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.CollectionKindCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_1='{' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getPartsCollectionLiteralPartCSParserRuleCall_2_0()); |
| } |
| lv_parts_2_0=ruleCollectionLiteralPartCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule()); |
| } |
| add( |
| $current, |
| "parts", |
| lv_parts_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.CollectionLiteralPartCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )* |
| otherlv_3='}' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleCollectionLiteralPartCS |
| entryRuleCollectionLiteralPartCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getCollectionLiteralPartCSRule()); } |
| iv_ruleCollectionLiteralPartCS=ruleCollectionLiteralPartCS |
| { $current=$iv_ruleCollectionLiteralPartCS.current; } |
| EOF; |
| |
| // Rule CollectionLiteralPartCS |
| ruleCollectionLiteralPartCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getFirstExpCSParserRuleCall_0_0()); |
| } |
| lv_first_0_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule()); |
| } |
| set( |
| $current, |
| "first", |
| lv_first_0_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_1='..' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getLastExpCSParserRuleCall_1_1_0()); |
| } |
| lv_last_2_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getCollectionLiteralPartCSRule()); |
| } |
| set( |
| $current, |
| "last", |
| lv_last_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleLetExpCS |
| entryRuleLetExpCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getLetExpCSRule()); } |
| iv_ruleLetExpCS=ruleLetExpCS |
| { $current=$iv_ruleLetExpCS.current; } |
| EOF; |
| |
| // Rule LetExpCS |
| ruleLetExpCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='let' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getLetExpCSAccess().getLetKeyword_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getLetExpCSAccess().getLetVarsLetVarCSParserRuleCall_1_0()); |
| } |
| lv_letVars_1_0=ruleLetVarCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getLetExpCSRule()); |
| } |
| add( |
| $current, |
| "letVars", |
| lv_letVars_1_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.LetVarCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_2=',' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getLetExpCSAccess().getLetVarsLetVarCSParserRuleCall_2_1_0()); |
| } |
| lv_letVars_3_0=ruleLetVarCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getLetExpCSRule()); |
| } |
| add( |
| $current, |
| "letVars", |
| lv_letVars_3_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.LetVarCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| otherlv_4='in' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getLetExpCSAccess().getInKeyword_3()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getLetExpCSAccess().getInExpExpCSParserRuleCall_4_0()); |
| } |
| lv_inExp_5_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getLetExpCSRule()); |
| } |
| set( |
| $current, |
| "inExp", |
| lv_inExp_5_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleLetVarCS |
| entryRuleLetVarCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getLetVarCSRule()); } |
| iv_ruleLetVarCS=ruleLetVarCS |
| { $current=$iv_ruleLetVarCS.current; } |
| EOF; |
| |
| // Rule LetVarCS |
| ruleLetVarCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| lv_name_0_0=RULE_ID |
| { |
| newLeafNode(lv_name_0_0, grammarAccess.getLetVarCSAccess().getNameIDTerminalRuleCall_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getLetVarCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "name", |
| lv_name_0_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| ( |
| otherlv_1=':' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getLetVarCSAccess().getColonKeyword_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getLetVarCSAccess().getTypeRefPathNameCSParserRuleCall_1_1_0()); |
| } |
| lv_typeRef_2_0=rulePathNameCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getLetVarCSRule()); |
| } |
| set( |
| $current, |
| "typeRef", |
| lv_typeRef_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathNameCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| otherlv_3='=' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getLetVarCSAccess().getEqualsSignKeyword_2()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getLetVarCSAccess().getInitExpExpCSParserRuleCall_3_0()); |
| } |
| lv_initExp_4_0=ruleExpCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getLetVarCSRule()); |
| } |
| set( |
| $current, |
| "initExp", |
| lv_initExp_4_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.ExpCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRulePathNameCS |
| entryRulePathNameCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getPathNameCSRule()); } |
| iv_rulePathNameCS=rulePathNameCS |
| { $current=$iv_rulePathNameCS.current; } |
| EOF; |
| |
| // Rule PathNameCS |
| rulePathNameCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getPathNameCSAccess().getPathElementsPathElementCSParserRuleCall_0_0()); |
| } |
| lv_pathElements_0_0=rulePathElementCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getPathNameCSRule()); |
| } |
| add( |
| $current, |
| "pathElements", |
| lv_pathElements_0_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathElementCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_1='::' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getPathNameCSAccess().getPathElementsPathElementCSParserRuleCall_1_1_0()); |
| } |
| lv_pathElements_2_0=rulePathElementCS |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getPathNameCSRule()); |
| } |
| add( |
| $current, |
| "pathElements", |
| lv_pathElements_2_0, |
| "org.eclipse.qvtd.doc.MiniOCLCS.PathElementCS"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| ) |
| ; |
| |
| // Entry rule entryRulePathElementCS |
| entryRulePathElementCS returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getPathElementCSRule()); } |
| iv_rulePathElementCS=rulePathElementCS |
| { $current=$iv_rulePathElementCS.current; } |
| EOF; |
| |
| // Rule PathElementCS |
| rulePathElementCS returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| lv_elementName_0_0=RULE_ID |
| { |
| newLeafNode(lv_elementName_0_0, grammarAccess.getPathElementCSAccess().getElementNameIDTerminalRuleCall_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getPathElementCSRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "elementName", |
| lv_elementName_0_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| } |
| ) |
| ) |
| ; |
| |
| // Rule CollectionKindCS |
| ruleCollectionKindCS returns [Enumerator current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| enumLiteral_0='Collection' |
| { |
| $current = grammarAccess.getCollectionKindCSAccess().getCollectionEnumLiteralDeclaration().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_0, grammarAccess.getCollectionKindCSAccess().getCollectionEnumLiteralDeclaration()); |
| } |
| ) |
| ; |
| |
| RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; |
| |
| RULE_INT : ('0'..'9')+; |
| |
| RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); |
| |
| RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; |
| |
| RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; |
| |
| RULE_WS : (' '|'\t'|'\r'|'\n')+; |
| |
| RULE_ANY_OTHER : .; |