blob: 1adb2cd519371ef005e03b0e9e67e28feae7b0a6 [file] [log] [blame]
/*
* 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 : .;