blob: 36db441a496acdf96360e9c132849db07f3adc8f [file] [log] [blame]
/*
* generated by Xtext
*/
grammar InternalVSL;
options {
superClass=AbstractInternalAntlrParser;
}
@lexer::header {
package org.eclipse.papyrus.marte.vsl.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.papyrus.marte.vsl.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.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.papyrus.marte.vsl.services.VSLGrammarAccess;
}
@parser::members {
private VSLGrammarAccess grammarAccess;
public InternalVSLParser(TokenStream input, VSLGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "Expression";
}
@Override
protected VSLGrammarAccess getGrammarAccess() {
return grammarAccess;
}
}
@rulecatch {
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
}
// Entry rule entryRuleExpression
entryRuleExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getExpressionRule()); }
iv_ruleExpression=ruleExpression
{ $current=$iv_ruleExpression.current; }
EOF
;
// Rule Expression
ruleExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
{
newCompositeNode(grammarAccess.getExpressionAccess().getExpAndOrXorExpressionParserRuleCall_0());
}
lv_exp_0_0=ruleAndOrXorExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getExpressionRule());
}
set(
$current,
"exp",
lv_exp_0_0,
"AndOrXorExpression");
afterParserOrEnumRuleCall();
}
)
)
;
// Entry rule entryRuleAndOrXorExpression
entryRuleAndOrXorExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getAndOrXorExpressionRule()); }
iv_ruleAndOrXorExpression=ruleAndOrXorExpression
{ $current=$iv_ruleAndOrXorExpression.current; }
EOF
;
// Rule AndOrXorExpression
ruleAndOrXorExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getAndOrXorExpressionAccess().getExpEqualityExpressionParserRuleCall_0_0());
}
lv_exp_0_0=ruleEqualityExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAndOrXorExpressionRule());
}
add(
$current,
"exp",
lv_exp_0_0,
"EqualityExpression");
afterParserOrEnumRuleCall();
}
)
)((
(
(
lv_op_1_1= 'and'
{
newLeafNode(lv_op_1_1, grammarAccess.getAndOrXorExpressionAccess().getOpAndKeyword_1_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getAndOrXorExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_1, null);
}
| lv_op_1_2= 'or'
{
newLeafNode(lv_op_1_2, grammarAccess.getAndOrXorExpressionAccess().getOpOrKeyword_1_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getAndOrXorExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_2, null);
}
| lv_op_1_3= 'xor'
{
newLeafNode(lv_op_1_3, grammarAccess.getAndOrXorExpressionAccess().getOpXorKeyword_1_0_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getAndOrXorExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_3, null);
}
)
)
)(
(
{
newCompositeNode(grammarAccess.getAndOrXorExpressionAccess().getExpEqualityExpressionParserRuleCall_1_1_0());
}
lv_exp_2_0=ruleEqualityExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAndOrXorExpressionRule());
}
add(
$current,
"exp",
lv_exp_2_0,
"EqualityExpression");
afterParserOrEnumRuleCall();
}
)
))*)
;
// Entry rule entryRuleEqualityExpression
entryRuleEqualityExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getEqualityExpressionRule()); }
iv_ruleEqualityExpression=ruleEqualityExpression
{ $current=$iv_ruleEqualityExpression.current; }
EOF
;
// Rule EqualityExpression
ruleEqualityExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpRelationalExpressionParserRuleCall_0_0());
}
lv_exp_0_0=ruleRelationalExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEqualityExpressionRule());
}
add(
$current,
"exp",
lv_exp_0_0,
"RelationalExpression");
afterParserOrEnumRuleCall();
}
)
)((
(
(
lv_op_1_1= '=='
{
newLeafNode(lv_op_1_1, grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getEqualityExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_1, null);
}
| lv_op_1_2= '<>'
{
newLeafNode(lv_op_1_2, grammarAccess.getEqualityExpressionAccess().getOpLessThanSignGreaterThanSignKeyword_1_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getEqualityExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_2, null);
}
)
)
)(
(
{
newCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpRelationalExpressionParserRuleCall_1_1_0());
}
lv_exp_2_0=ruleRelationalExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getEqualityExpressionRule());
}
add(
$current,
"exp",
lv_exp_2_0,
"RelationalExpression");
afterParserOrEnumRuleCall();
}
)
))*)
;
// Entry rule entryRuleRelationalExpression
entryRuleRelationalExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getRelationalExpressionRule()); }
iv_ruleRelationalExpression=ruleRelationalExpression
{ $current=$iv_ruleRelationalExpression.current; }
EOF
;
// Rule RelationalExpression
ruleRelationalExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getRelationalExpressionAccess().getExpConditionalExpressionParserRuleCall_0_0());
}
lv_exp_0_0=ruleConditionalExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
}
add(
$current,
"exp",
lv_exp_0_0,
"ConditionalExpression");
afterParserOrEnumRuleCall();
}
)
)((
(
(
lv_op_1_1= '<'
{
newLeafNode(lv_op_1_1, grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationalExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_1, null);
}
| lv_op_1_2= '>'
{
newLeafNode(lv_op_1_2, grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationalExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_2, null);
}
| lv_op_1_3= '<='
{
newLeafNode(lv_op_1_3, grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationalExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_3, null);
}
| lv_op_1_4= '>='
{
newLeafNode(lv_op_1_4, grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationalExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_4, null);
}
)
)
)(
(
{
newCompositeNode(grammarAccess.getRelationalExpressionAccess().getExpConditionalExpressionParserRuleCall_1_1_0());
}
lv_exp_2_0=ruleConditionalExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
}
add(
$current,
"exp",
lv_exp_2_0,
"ConditionalExpression");
afterParserOrEnumRuleCall();
}
)
))*)
;
// Entry rule entryRuleConditionalExpression
entryRuleConditionalExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getConditionalExpressionRule()); }
iv_ruleConditionalExpression=ruleConditionalExpression
{ $current=$iv_ruleConditionalExpression.current; }
EOF
;
// Rule ConditionalExpression
ruleConditionalExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_0_0());
}
lv_exp_0_0=ruleAdditiveExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
}
add(
$current,
"exp",
lv_exp_0_0,
"AdditiveExpression");
afterParserOrEnumRuleCall();
}
)
)((
(
lv_op_1_0= '?'
{
newLeafNode(lv_op_1_0, grammarAccess.getConditionalExpressionAccess().getOpQuestionMarkKeyword_1_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getConditionalExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_0, "?");
}
)
)(
(
{
newCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_1_0());
}
lv_exp_2_0=ruleAdditiveExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
}
add(
$current,
"exp",
lv_exp_2_0,
"AdditiveExpression");
afterParserOrEnumRuleCall();
}
)
) otherlv_3=':'
{
newLeafNode(otherlv_3, grammarAccess.getConditionalExpressionAccess().getColonKeyword_1_2());
}
(
(
{
newCompositeNode(grammarAccess.getConditionalExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_3_0());
}
lv_exp_4_0=ruleAdditiveExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConditionalExpressionRule());
}
add(
$current,
"exp",
lv_exp_4_0,
"AdditiveExpression");
afterParserOrEnumRuleCall();
}
)
))?)
;
// Entry rule entryRuleAdditiveExpression
entryRuleAdditiveExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getAdditiveExpressionRule()); }
iv_ruleAdditiveExpression=ruleAdditiveExpression
{ $current=$iv_ruleAdditiveExpression.current; }
EOF
;
// Rule AdditiveExpression
ruleAdditiveExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_0_0());
}
lv_exp_0_0=ruleMultiplicativeExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
}
add(
$current,
"exp",
lv_exp_0_0,
"MultiplicativeExpression");
afterParserOrEnumRuleCall();
}
)
)((
(
(
lv_op_1_1= '+'
{
newLeafNode(lv_op_1_1, grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getAdditiveExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_1, null);
}
| lv_op_1_2= '-'
{
newLeafNode(lv_op_1_2, grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getAdditiveExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_2, null);
}
)
)
)(
(
{
newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_1_1_0());
}
lv_exp_2_0=ruleMultiplicativeExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
}
add(
$current,
"exp",
lv_exp_2_0,
"MultiplicativeExpression");
afterParserOrEnumRuleCall();
}
)
))*)
;
// Entry rule entryRuleMultiplicativeExpression
entryRuleMultiplicativeExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); }
iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression
{ $current=$iv_ruleMultiplicativeExpression.current; }
EOF
;
// Rule MultiplicativeExpression
ruleMultiplicativeExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_0_0());
}
lv_exp_0_0=ruleUnaryExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"exp",
lv_exp_0_0,
"UnaryExpression");
afterParserOrEnumRuleCall();
}
)
)((
(
(
lv_op_1_1= '*'
{
newLeafNode(lv_op_1_1, grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_1, null);
}
| lv_op_1_2= '/'
{
newLeafNode(lv_op_1_2, grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_2, null);
}
| lv_op_1_3= 'mod'
{
newLeafNode(lv_op_1_3, grammarAccess.getMultiplicativeExpressionAccess().getOpModKeyword_1_0_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
}
addWithLastConsumed($current, "op", lv_op_1_3, null);
}
)
)
)(
(
{
newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_1_1_0());
}
lv_exp_2_0=ruleUnaryExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
}
add(
$current,
"exp",
lv_exp_2_0,
"UnaryExpression");
afterParserOrEnumRuleCall();
}
)
))*)
;
// Entry rule entryRuleUnaryExpression
entryRuleUnaryExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getUnaryExpressionRule()); }
iv_ruleUnaryExpression=ruleUnaryExpression
{ $current=$iv_ruleUnaryExpression.current; }
EOF
;
// Rule UnaryExpression
ruleUnaryExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(((
(
(
lv_op_0_1= 'not'
{
newLeafNode(lv_op_0_1, grammarAccess.getUnaryExpressionAccess().getOpNotKeyword_0_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getUnaryExpressionRule());
}
setWithLastConsumed($current, "op", lv_op_0_1, null);
}
| lv_op_0_2= '-'
{
newLeafNode(lv_op_0_2, grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getUnaryExpressionRule());
}
setWithLastConsumed($current, "op", lv_op_0_2, null);
}
| lv_op_0_3= '+'
{
newLeafNode(lv_op_0_3, grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getUnaryExpressionRule());
}
setWithLastConsumed($current, "op", lv_op_0_3, null);
}
)
)
)(
(
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getUnaryUnaryExpressionParserRuleCall_0_1_0());
}
lv_unary_1_0=ruleUnaryExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
}
set(
$current,
"unary",
lv_unary_1_0,
"UnaryExpression");
afterParserOrEnumRuleCall();
}
)
))
|(
(
{
newCompositeNode(grammarAccess.getUnaryExpressionAccess().getExpPrimaryExpressionParserRuleCall_1_0());
}
lv_exp_2_0=rulePrimaryExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
}
set(
$current,
"exp",
lv_exp_2_0,
"PrimaryExpression");
afterParserOrEnumRuleCall();
}
)
))
;
// Entry rule entryRulePrimaryExpression
entryRulePrimaryExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getPrimaryExpressionRule()); }
iv_rulePrimaryExpression=rulePrimaryExpression
{ $current=$iv_rulePrimaryExpression.current; }
EOF
;
// Rule PrimaryExpression
rulePrimaryExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getPrefixValueSpecificationParserRuleCall_0_0());
}
lv_prefix_0_0=ruleValueSpecification {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"prefix",
lv_prefix_0_0,
"ValueSpecification");
afterParserOrEnumRuleCall();
}
)
)( otherlv_1='.'
{
newLeafNode(otherlv_1, grammarAccess.getPrimaryExpressionAccess().getFullStopKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_1_0());
}
lv_suffix_2_0=ruleSuffixExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
}
set(
$current,
"suffix",
lv_suffix_2_0,
"SuffixExpression");
afterParserOrEnumRuleCall();
}
)
))?)
;
// Entry rule entryRuleValueSpecification
entryRuleValueSpecification returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getValueSpecificationRule()); }
iv_ruleValueSpecification=ruleValueSpecification
{ $current=$iv_ruleValueSpecification.current; }
EOF
;
// Rule ValueSpecification
ruleValueSpecification returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
{
newCompositeNode(grammarAccess.getValueSpecificationAccess().getLiteralParserRuleCall_0());
}
this_Literal_0=ruleLiteral
{
$current = $this_Literal_0.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getValueSpecificationAccess().getNameOrChoiceOrBehaviorCallParserRuleCall_1());
}
this_NameOrChoiceOrBehaviorCall_1=ruleNameOrChoiceOrBehaviorCall
{
$current = $this_NameOrChoiceOrBehaviorCall_1.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getValueSpecificationAccess().getIntervalParserRuleCall_2());
}
this_Interval_2=ruleInterval
{
$current = $this_Interval_2.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getValueSpecificationAccess().getCollectionOrTupleParserRuleCall_3());
}
this_CollectionOrTuple_3=ruleCollectionOrTuple
{
$current = $this_CollectionOrTuple_3.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getValueSpecificationAccess().getTupleParserRuleCall_4());
}
this_Tuple_4=ruleTuple
{
$current = $this_Tuple_4.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getValueSpecificationAccess().getTimeExpressionParserRuleCall_5());
}
this_TimeExpression_5=ruleTimeExpression
{
$current = $this_TimeExpression_5.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getValueSpecificationAccess().getVariableDeclarationParserRuleCall_6());
}
this_VariableDeclaration_6=ruleVariableDeclaration
{
$current = $this_VariableDeclaration_6.current;
afterParserOrEnumRuleCall();
}
|( otherlv_7='('
{
newLeafNode(otherlv_7, grammarAccess.getValueSpecificationAccess().getLeftParenthesisKeyword_7_0());
}
{
newCompositeNode(grammarAccess.getValueSpecificationAccess().getExpressionParserRuleCall_7_1());
}
this_Expression_8=ruleExpression
{
$current = $this_Expression_8.current;
afterParserOrEnumRuleCall();
}
otherlv_9=')'
{
newLeafNode(otherlv_9, grammarAccess.getValueSpecificationAccess().getRightParenthesisKeyword_7_2());
}
))
;
// Entry rule entryRuleSuffixExpression
entryRuleSuffixExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getSuffixExpressionRule()); }
iv_ruleSuffixExpression=ruleSuffixExpression
{ $current=$iv_ruleSuffixExpression.current; }
EOF
;
// Rule SuffixExpression
ruleSuffixExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
{
newCompositeNode(grammarAccess.getSuffixExpressionAccess().getPropertyCallExpressionParserRuleCall_0());
}
this_PropertyCallExpression_0=rulePropertyCallExpression
{
$current = $this_PropertyCallExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getSuffixExpressionAccess().getOperationCallExpressionParserRuleCall_1());
}
this_OperationCallExpression_1=ruleOperationCallExpression
{
$current = $this_OperationCallExpression_1.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRulePropertyCallExpression
entryRulePropertyCallExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getPropertyCallExpressionRule()); }
iv_rulePropertyCallExpression=rulePropertyCallExpression
{ $current=$iv_rulePropertyCallExpression.current; }
EOF
;
// Rule PropertyCallExpression
rulePropertyCallExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getPropertyCallExpressionRule());
}
}
otherlv_0=RULE_ID
{
newLeafNode(otherlv_0, grammarAccess.getPropertyCallExpressionAccess().getPropertyPropertyCrossReference_0_0());
}
)
)( otherlv_1='.'
{
newLeafNode(otherlv_1, grammarAccess.getPropertyCallExpressionAccess().getFullStopKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getPropertyCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_1_0());
}
lv_suffix_2_0=ruleSuffixExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPropertyCallExpressionRule());
}
set(
$current,
"suffix",
lv_suffix_2_0,
"SuffixExpression");
afterParserOrEnumRuleCall();
}
)
))?)
;
// Entry rule entryRuleOperationCallExpression
entryRuleOperationCallExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getOperationCallExpressionRule()); }
iv_ruleOperationCallExpression=ruleOperationCallExpression
{ $current=$iv_ruleOperationCallExpression.current; }
EOF
;
// Rule OperationCallExpression
ruleOperationCallExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getOperationCallExpressionRule());
}
}
otherlv_0=RULE_ID
{
newLeafNode(otherlv_0, grammarAccess.getOperationCallExpressionAccess().getOperationOperationCrossReference_0_0());
}
)
) otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getOperationCallExpressionAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getOperationCallExpressionAccess().getArgumentsListOfValuesParserRuleCall_2_0());
}
lv_arguments_2_0=ruleListOfValues {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOperationCallExpressionRule());
}
set(
$current,
"arguments",
lv_arguments_2_0,
"ListOfValues");
afterParserOrEnumRuleCall();
}
)
)? otherlv_3=')'
{
newLeafNode(otherlv_3, grammarAccess.getOperationCallExpressionAccess().getRightParenthesisKeyword_3());
}
( otherlv_4='.'
{
newLeafNode(otherlv_4, grammarAccess.getOperationCallExpressionAccess().getFullStopKeyword_4_0());
}
(
(
{
newCompositeNode(grammarAccess.getOperationCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_4_1_0());
}
lv_suffix_5_0=ruleSuffixExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getOperationCallExpressionRule());
}
set(
$current,
"suffix",
lv_suffix_5_0,
"SuffixExpression");
afterParserOrEnumRuleCall();
}
)
))?)
;
// Entry rule entryRuleLiteral
entryRuleLiteral returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getLiteralRule()); }
iv_ruleLiteral=ruleLiteral
{ $current=$iv_ruleLiteral.current; }
EOF
;
// Rule Literal
ruleLiteral returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
{
newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralRuleParserRuleCall_0());
}
this_NumberLiteralRule_0=ruleNumberLiteralRule
{
$current = $this_NumberLiteralRule_0.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getLiteralAccess().getDateTimeLiteralRuleParserRuleCall_1());
}
this_DateTimeLiteralRule_1=ruleDateTimeLiteralRule
{
$current = $this_DateTimeLiteralRule_1.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralRuleParserRuleCall_2());
}
this_BooleanLiteralRule_2=ruleBooleanLiteralRule
{
$current = $this_BooleanLiteralRule_2.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getLiteralAccess().getNullLiteralRuleParserRuleCall_3());
}
this_NullLiteralRule_3=ruleNullLiteralRule
{
$current = $this_NullLiteralRule_3.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getLiteralAccess().getDefaultLiteralRuleParserRuleCall_4());
}
this_DefaultLiteralRule_4=ruleDefaultLiteralRule
{
$current = $this_DefaultLiteralRule_4.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralRuleParserRuleCall_5());
}
this_StringLiteralRule_5=ruleStringLiteralRule
{
$current = $this_StringLiteralRule_5.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleNameOrChoiceOrBehaviorCall
entryRuleNameOrChoiceOrBehaviorCall returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallRule()); }
iv_ruleNameOrChoiceOrBehaviorCall=ruleNameOrChoiceOrBehaviorCall
{ $current=$iv_ruleNameOrChoiceOrBehaviorCall.current; }
EOF
;
// Rule NameOrChoiceOrBehaviorCall
ruleNameOrChoiceOrBehaviorCall returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getPathQualifiedNameParserRuleCall_0_0());
}
lv_path_0_0=ruleQualifiedName {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getNameOrChoiceOrBehaviorCallRule());
}
set(
$current,
"path",
lv_path_0_0,
"QualifiedName");
afterParserOrEnumRuleCall();
}
)
)?(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getNameOrChoiceOrBehaviorCallRule());
}
}
otherlv_1=RULE_ID
{
newLeafNode(otherlv_1, grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getIdNamedElementCrossReference_1_0());
}
)
)( otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getLeftParenthesisKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getArgumentsListOfValuesParserRuleCall_2_1_0());
}
lv_arguments_3_0=ruleListOfValues {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getNameOrChoiceOrBehaviorCallRule());
}
set(
$current,
"arguments",
lv_arguments_3_0,
"ListOfValues");
afterParserOrEnumRuleCall();
}
)
)? otherlv_4=')'
{
newLeafNode(otherlv_4, grammarAccess.getNameOrChoiceOrBehaviorCallAccess().getRightParenthesisKeyword_2_2());
}
)?)
;
// Entry rule entryRuleQualifiedName
entryRuleQualifiedName returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getQualifiedNameRule()); }
iv_ruleQualifiedName=ruleQualifiedName
{ $current=$iv_ruleQualifiedName.current; }
EOF
;
// Rule QualifiedName
ruleQualifiedName returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getQualifiedNameRule());
}
}
otherlv_0=RULE_ID
{
newLeafNode(otherlv_0, grammarAccess.getQualifiedNameAccess().getPathNamespaceCrossReference_0_0());
}
)
) otherlv_1='::'
{
newLeafNode(otherlv_1, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getQualifiedNameAccess().getRemainingQualifiedNameParserRuleCall_2_0());
}
lv_remaining_2_0=ruleQualifiedName {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getQualifiedNameRule());
}
set(
$current,
"remaining",
lv_remaining_2_0,
"QualifiedName");
afterParserOrEnumRuleCall();
}
)
)?)
;
// Entry rule entryRuleInterval
entryRuleInterval returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getIntervalRule()); }
iv_ruleInterval=ruleInterval
{ $current=$iv_ruleInterval.current; }
EOF
;
// Rule Interval
ruleInterval returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(( otherlv_0=']'
{
newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_0_0());
}
|(
(
lv_isLowerIncluded_1_0= '['
{
newLeafNode(lv_isLowerIncluded_1_0, grammarAccess.getIntervalAccess().getIsLowerIncludedLeftSquareBracketKeyword_0_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIntervalRule());
}
setWithLastConsumed($current, "isLowerIncluded", lv_isLowerIncluded_1_0, "[");
}
)
))(
(
{
newCompositeNode(grammarAccess.getIntervalAccess().getLowerExpressionParserRuleCall_1_0());
}
lv_lower_2_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalRule());
}
set(
$current,
"lower",
lv_lower_2_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
) otherlv_3='..'
{
newLeafNode(otherlv_3, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getIntervalAccess().getUpperExpressionParserRuleCall_3_0());
}
lv_upper_4_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getIntervalRule());
}
set(
$current,
"upper",
lv_upper_4_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
)((
(
lv_isUpperIncluded_5_0= ']'
{
newLeafNode(lv_isUpperIncluded_5_0, grammarAccess.getIntervalAccess().getIsUpperIncludedRightSquareBracketKeyword_4_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIntervalRule());
}
setWithLastConsumed($current, "isUpperIncluded", lv_isUpperIncluded_5_0, "]");
}
)
)
| otherlv_6='['
{
newLeafNode(otherlv_6, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_4_1());
}
))
;
// Entry rule entryRuleCollectionOrTuple
entryRuleCollectionOrTuple returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getCollectionOrTupleRule()); }
iv_ruleCollectionOrTuple=ruleCollectionOrTuple
{ $current=$iv_ruleCollectionOrTuple.current; }
EOF
;
// Rule CollectionOrTuple
ruleCollectionOrTuple returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
( otherlv_0='{'
{
newLeafNode(otherlv_0, grammarAccess.getCollectionOrTupleAccess().getLeftCurlyBracketKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getCollectionOrTupleAccess().getListOfValuesListOfValuesParserRuleCall_1_0());
}
lv_listOfValues_1_0=ruleListOfValues {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getCollectionOrTupleRule());
}
set(
$current,
"listOfValues",
lv_listOfValues_1_0,
"ListOfValues");
afterParserOrEnumRuleCall();
}
)
) otherlv_2='}'
{
newLeafNode(otherlv_2, grammarAccess.getCollectionOrTupleAccess().getRightCurlyBracketKeyword_2());
}
)
;
// Entry rule entryRuleTuple
entryRuleTuple returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getTupleRule()); }
iv_ruleTuple=ruleTuple
{ $current=$iv_ruleTuple.current; }
EOF
;
// Rule Tuple
ruleTuple returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
( otherlv_0='{'
{
newLeafNode(otherlv_0, grammarAccess.getTupleAccess().getLeftCurlyBracketKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getTupleAccess().getListOfValueNamePairsListOfValueNamePairsParserRuleCall_1_0());
}
lv_listOfValueNamePairs_1_0=ruleListOfValueNamePairs {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getTupleRule());
}
set(
$current,
"listOfValueNamePairs",
lv_listOfValueNamePairs_1_0,
"ListOfValueNamePairs");
afterParserOrEnumRuleCall();
}
)
) otherlv_2='}'
{
newLeafNode(otherlv_2, grammarAccess.getTupleAccess().getRightCurlyBracketKeyword_2());
}
)
;
// Entry rule entryRuleListOfValues
entryRuleListOfValues returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getListOfValuesRule()); }
iv_ruleListOfValues=ruleListOfValues
{ $current=$iv_ruleListOfValues.current; }
EOF
;
// Rule ListOfValues
ruleListOfValues returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getListOfValuesAccess().getValuesExpressionParserRuleCall_0_0());
}
lv_values_0_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getListOfValuesRule());
}
add(
$current,
"values",
lv_values_0_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
)( otherlv_1=','
{
newLeafNode(otherlv_1, grammarAccess.getListOfValuesAccess().getCommaKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getListOfValuesAccess().getValuesExpressionParserRuleCall_1_1_0());
}
lv_values_2_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getListOfValuesRule());
}
add(
$current,
"values",
lv_values_2_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
))*)
;
// Entry rule entryRuleListOfValueNamePairs
entryRuleListOfValueNamePairs returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getListOfValueNamePairsRule()); }
iv_ruleListOfValueNamePairs=ruleListOfValueNamePairs
{ $current=$iv_ruleListOfValueNamePairs.current; }
EOF
;
// Rule ListOfValueNamePairs
ruleListOfValueNamePairs returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsValueNamePairParserRuleCall_0_0());
}
lv_valueNamePairs_0_0=ruleValueNamePair {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getListOfValueNamePairsRule());
}
add(
$current,
"valueNamePairs",
lv_valueNamePairs_0_0,
"ValueNamePair");
afterParserOrEnumRuleCall();
}
)
)( otherlv_1=','
{
newLeafNode(otherlv_1, grammarAccess.getListOfValueNamePairsAccess().getCommaKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getListOfValueNamePairsAccess().getValueNamePairsValueNamePairParserRuleCall_1_1_0());
}
lv_valueNamePairs_2_0=ruleValueNamePair {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getListOfValueNamePairsRule());
}
add(
$current,
"valueNamePairs",
lv_valueNamePairs_2_0,
"ValueNamePair");
afterParserOrEnumRuleCall();
}
)
))*)
;
// Entry rule entryRuleValueNamePair
entryRuleValueNamePair returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getValueNamePairRule()); }
iv_ruleValueNamePair=ruleValueNamePair
{ $current=$iv_ruleValueNamePair.current; }
EOF
;
// Rule ValueNamePair
ruleValueNamePair returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getValueNamePairRule());
}
}
otherlv_0=RULE_ID
{
newLeafNode(otherlv_0, grammarAccess.getValueNamePairAccess().getPropertyPropertyCrossReference_0_0());
}
)
) otherlv_1='='
{
newLeafNode(otherlv_1, grammarAccess.getValueNamePairAccess().getEqualsSignKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getValueNamePairAccess().getValueExpressionParserRuleCall_2_0());
}
lv_value_2_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getValueNamePairRule());
}
set(
$current,
"value",
lv_value_2_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
))
;
// Entry rule entryRuleTimeExpression
entryRuleTimeExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getTimeExpressionRule()); }
iv_ruleTimeExpression=ruleTimeExpression
{ $current=$iv_ruleTimeExpression.current; }
EOF
;
// Rule TimeExpression
ruleTimeExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
{
newCompositeNode(grammarAccess.getTimeExpressionAccess().getInstantObsExpressionParserRuleCall_0());
}
this_InstantObsExpression_0=ruleInstantObsExpression
{
$current = $this_InstantObsExpression_0.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getTimeExpressionAccess().getDurationObsExpressionParserRuleCall_1());
}
this_DurationObsExpression_1=ruleDurationObsExpression
{
$current = $this_DurationObsExpression_1.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getTimeExpressionAccess().getJitterExpParserRuleCall_2());
}
this_JitterExp_2=ruleJitterExp
{
$current = $this_JitterExp_2.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleInstantObsExpression
entryRuleInstantObsExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getInstantObsExpressionRule()); }
iv_ruleInstantObsExpression=ruleInstantObsExpression
{ $current=$iv_ruleInstantObsExpression.current; }
EOF
;
// Rule InstantObsExpression
ruleInstantObsExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
( otherlv_0='@'
{
newLeafNode(otherlv_0, grammarAccess.getInstantObsExpressionAccess().getCommercialAtKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getInstantObsExpressionAccess().getIdInstantObsNameParserRuleCall_1_0());
}
lv_id_1_0=ruleInstantObsName {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstantObsExpressionRule());
}
set(
$current,
"id",
lv_id_1_0,
"InstantObsName");
afterParserOrEnumRuleCall();
}
)
)( otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getInstantObsExpressionAccess().getLeftParenthesisKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getInstantObsExpressionAccess().getIndexExpressionParserRuleCall_2_1_0());
}
lv_index_3_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstantObsExpressionRule());
}
set(
$current,
"index",
lv_index_3_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
) otherlv_4=')'
{
newLeafNode(otherlv_4, grammarAccess.getInstantObsExpressionAccess().getRightParenthesisKeyword_2_2());
}
)?( otherlv_5='when'
{
newLeafNode(otherlv_5, grammarAccess.getInstantObsExpressionAccess().getWhenKeyword_3_0());
}
otherlv_6='('
{
newLeafNode(otherlv_6, grammarAccess.getInstantObsExpressionAccess().getLeftParenthesisKeyword_3_1());
}
(
(
{
newCompositeNode(grammarAccess.getInstantObsExpressionAccess().getConditionExpressionParserRuleCall_3_2_0());
}
lv_condition_7_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstantObsExpressionRule());
}
set(
$current,
"condition",
lv_condition_7_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
) otherlv_8=')'
{
newLeafNode(otherlv_8, grammarAccess.getInstantObsExpressionAccess().getRightParenthesisKeyword_3_3());
}
)?)
;
// Entry rule entryRuleInstantObsName
entryRuleInstantObsName returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getInstantObsNameRule()); }
iv_ruleInstantObsName=ruleInstantObsName
{ $current=$iv_ruleInstantObsName.current; }
EOF
;
// Rule InstantObsName
ruleInstantObsName returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getInstantObsNameAccess().getPathQualifiedNameParserRuleCall_0_0());
}
lv_path_0_0=ruleQualifiedName {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getInstantObsNameRule());
}
set(
$current,
"path",
lv_path_0_0,
"QualifiedName");
afterParserOrEnumRuleCall();
}
)
)?(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getInstantObsNameRule());
}
}
otherlv_1=RULE_ID
{
newLeafNode(otherlv_1, grammarAccess.getInstantObsNameAccess().getInstantIdTimeObservationCrossReference_1_0());
}
)
))
;
// Entry rule entryRuleDurationObsExpression
entryRuleDurationObsExpression returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getDurationObsExpressionRule()); }
iv_ruleDurationObsExpression=ruleDurationObsExpression
{ $current=$iv_ruleDurationObsExpression.current; }
EOF
;
// Rule DurationObsExpression
ruleDurationObsExpression returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
( otherlv_0='&'
{
newLeafNode(otherlv_0, grammarAccess.getDurationObsExpressionAccess().getAmpersandKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getDurationObsExpressionAccess().getIdDurationObsNameParserRuleCall_1_0());
}
lv_id_1_0=ruleDurationObsName {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDurationObsExpressionRule());
}
set(
$current,
"id",
lv_id_1_0,
"DurationObsName");
afterParserOrEnumRuleCall();
}
)
)( otherlv_2='('
{
newLeafNode(otherlv_2, grammarAccess.getDurationObsExpressionAccess().getLeftParenthesisKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getDurationObsExpressionAccess().getIndexExpressionParserRuleCall_2_1_0());
}
lv_index_3_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDurationObsExpressionRule());
}
set(
$current,
"index",
lv_index_3_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
) otherlv_4=')'
{
newLeafNode(otherlv_4, grammarAccess.getDurationObsExpressionAccess().getRightParenthesisKeyword_2_2());
}
)?( otherlv_5='when'
{
newLeafNode(otherlv_5, grammarAccess.getDurationObsExpressionAccess().getWhenKeyword_3_0());
}
otherlv_6='('
{
newLeafNode(otherlv_6, grammarAccess.getDurationObsExpressionAccess().getLeftParenthesisKeyword_3_1());
}
(
(
{
newCompositeNode(grammarAccess.getDurationObsExpressionAccess().getConditionExpressionParserRuleCall_3_2_0());
}
lv_condition_7_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDurationObsExpressionRule());
}
set(
$current,
"condition",
lv_condition_7_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
) otherlv_8=')'
{
newLeafNode(otherlv_8, grammarAccess.getDurationObsExpressionAccess().getRightParenthesisKeyword_3_3());
}
)?)
;
// Entry rule entryRuleDurationObsName
entryRuleDurationObsName returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getDurationObsNameRule()); }
iv_ruleDurationObsName=ruleDurationObsName
{ $current=$iv_ruleDurationObsName.current; }
EOF
;
// Rule DurationObsName
ruleDurationObsName returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getDurationObsNameAccess().getPathQualifiedNameParserRuleCall_0_0());
}
lv_path_0_0=ruleQualifiedName {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDurationObsNameRule());
}
set(
$current,
"path",
lv_path_0_0,
"QualifiedName");
afterParserOrEnumRuleCall();
}
)
)?(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDurationObsNameRule());
}
}
otherlv_1=RULE_ID
{
newLeafNode(otherlv_1, grammarAccess.getDurationObsNameAccess().getDurationIdDurationObservationCrossReference_1_0());
}
)
))
;
// Entry rule entryRuleJitterExp
entryRuleJitterExp returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getJitterExpRule()); }
iv_ruleJitterExp=ruleJitterExp
{ $current=$iv_ruleJitterExp.current; }
EOF
;
// Rule JitterExp
ruleJitterExp returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
( otherlv_0='jitter('
{
newLeafNode(otherlv_0, grammarAccess.getJitterExpAccess().getJitterKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getJitterExpAccess().getFirstInstantInstantObsExpressionParserRuleCall_1_0());
}
lv_firstInstant_1_0=ruleInstantObsExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getJitterExpRule());
}
set(
$current,
"firstInstant",
lv_firstInstant_1_0,
"InstantObsExpression");
afterParserOrEnumRuleCall();
}
)
)( otherlv_2='-'
{
newLeafNode(otherlv_2, grammarAccess.getJitterExpAccess().getHyphenMinusKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getJitterExpAccess().getSecondInstantInstantObsExpressionParserRuleCall_2_1_0());
}
lv_secondInstant_3_0=ruleInstantObsExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getJitterExpRule());
}
set(
$current,
"secondInstant",
lv_secondInstant_3_0,
"InstantObsExpression");
afterParserOrEnumRuleCall();
}
)
))? otherlv_4=')'
{
newLeafNode(otherlv_4, grammarAccess.getJitterExpAccess().getRightParenthesisKeyword_3());
}
)
;
// Entry rule entryRuleVariableDeclaration
entryRuleVariableDeclaration returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getVariableDeclarationRule()); }
iv_ruleVariableDeclaration=ruleVariableDeclaration
{ $current=$iv_ruleVariableDeclaration.current; }
EOF
;
// Rule VariableDeclaration
ruleVariableDeclaration returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getVariableDeclarationAccess().getVariableDeclarationVariableDirectionKindParserRuleCall_0_0());
}
lv_variableDeclaration_0_0=ruleVariableDirectionKind {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableDeclarationRule());
}
set(
$current,
"variableDeclaration",
lv_variableDeclaration_0_0,
"VariableDirectionKind");
afterParserOrEnumRuleCall();
}
)
)? otherlv_1='$'
{
newLeafNode(otherlv_1, grammarAccess.getVariableDeclarationAccess().getDollarSignKeyword_1());
}
(
(
lv_name_2_0=RULE_ID
{
newLeafNode(lv_name_2_0, grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_2_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getVariableDeclarationRule());
}
setWithLastConsumed(
$current,
"name",
lv_name_2_0,
"ID");
}
)
)(( otherlv_3=':'
{
newLeafNode(otherlv_3, grammarAccess.getVariableDeclarationAccess().getColonKeyword_3_0_0());
}
(
(
{
newCompositeNode(grammarAccess.getVariableDeclarationAccess().getTypeDataTypeNameParserRuleCall_3_0_1_0());
}
lv_type_4_0=ruleDataTypeName {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableDeclarationRule());
}
set(
$current,
"type",
lv_type_4_0,
"DataTypeName");
afterParserOrEnumRuleCall();
}
)
)( otherlv_5='='
{
newLeafNode(otherlv_5, grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_3_0_2_0());
}
otherlv_6='('
{
newLeafNode(otherlv_6, grammarAccess.getVariableDeclarationAccess().getLeftParenthesisKeyword_3_0_2_1());
}
(
(
{
newCompositeNode(grammarAccess.getVariableDeclarationAccess().getInitValueExpressionParserRuleCall_3_0_2_2_0());
}
lv_initValue_7_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableDeclarationRule());
}
set(
$current,
"initValue",
lv_initValue_7_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
) otherlv_8=')'
{
newLeafNode(otherlv_8, grammarAccess.getVariableDeclarationAccess().getRightParenthesisKeyword_3_0_2_3());
}
)?)
|( otherlv_9='='
{
newLeafNode(otherlv_9, grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_3_1_0());
}
otherlv_10='('
{
newLeafNode(otherlv_10, grammarAccess.getVariableDeclarationAccess().getLeftParenthesisKeyword_3_1_1());
}
(
(
{
newCompositeNode(grammarAccess.getVariableDeclarationAccess().getInitValueExpressionParserRuleCall_3_1_2_0());
}
lv_initValue_11_0=ruleExpression {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getVariableDeclarationRule());
}
set(
$current,
"initValue",
lv_initValue_11_0,
"Expression");
afterParserOrEnumRuleCall();
}
)
) otherlv_12=')'
{
newLeafNode(otherlv_12, grammarAccess.getVariableDeclarationAccess().getRightParenthesisKeyword_3_1_3());
}
)))
;
// Entry rule entryRuleVariableDirectionKind
entryRuleVariableDirectionKind returns [String current=null]
:
{ newCompositeNode(grammarAccess.getVariableDirectionKindRule()); }
iv_ruleVariableDirectionKind=ruleVariableDirectionKind
{ $current=$iv_ruleVariableDirectionKind.current.getText(); }
EOF
;
// Rule VariableDirectionKind
ruleVariableDirectionKind returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init { enterRule();
}
@after { leaveRule(); }:
(
kw='in'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getVariableDirectionKindAccess().getInKeyword_0());
}
|
kw='out'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getVariableDirectionKindAccess().getOutKeyword_1());
}
|
kw='inout'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getVariableDirectionKindAccess().getInoutKeyword_2());
}
)
;
// Entry rule entryRuleDataTypeName
entryRuleDataTypeName returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getDataTypeNameRule()); }
iv_ruleDataTypeName=ruleDataTypeName
{ $current=$iv_ruleDataTypeName.current; }
EOF
;
// Rule DataTypeName
ruleDataTypeName returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
((
(
{
newCompositeNode(grammarAccess.getDataTypeNameAccess().getPathQualifiedNameParserRuleCall_0_0());
}
lv_path_0_0=ruleQualifiedName {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDataTypeNameRule());
}
set(
$current,
"path",
lv_path_0_0,
"QualifiedName");
afterParserOrEnumRuleCall();
}
)
)?(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDataTypeNameRule());
}
}
otherlv_1=RULE_ID
{
newLeafNode(otherlv_1, grammarAccess.getDataTypeNameAccess().getTypeDataTypeCrossReference_1_0());
}
)
))
;
// Entry rule entryRuleNumberLiteralRule
entryRuleNumberLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getNumberLiteralRuleRule()); }
iv_ruleNumberLiteralRule=ruleNumberLiteralRule
{ $current=$iv_ruleNumberLiteralRule.current; }
EOF
;
// Rule NumberLiteralRule
ruleNumberLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
{
newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_0());
}
this_IntegerLiteralRule_0=ruleIntegerLiteralRule
{
$current = $this_IntegerLiteralRule_0.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getUnlimitedLiteralRuleParserRuleCall_1());
}
this_UnlimitedLiteralRule_1=ruleUnlimitedLiteralRule
{
$current = $this_UnlimitedLiteralRule_1.current;
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getRealLiteralRuleParserRuleCall_2());
}
this_RealLiteralRule_2=ruleRealLiteralRule
{
$current = $this_RealLiteralRule_2.current;
afterParserOrEnumRuleCall();
}
)
;
// Entry rule entryRuleIntegerLiteralRule
entryRuleIntegerLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getIntegerLiteralRuleRule()); }
iv_ruleIntegerLiteralRule=ruleIntegerLiteralRule
{ $current=$iv_ruleIntegerLiteralRule.current; }
EOF
;
// Rule IntegerLiteralRule
ruleIntegerLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
lv_value_0_0=RULE_INTEGERLITERAL
{
newLeafNode(lv_value_0_0, grammarAccess.getIntegerLiteralRuleAccess().getValueIntegerLiteralTerminalRuleCall_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getIntegerLiteralRuleRule());
}
setWithLastConsumed(
$current,
"value",
lv_value_0_0,
"IntegerLiteral");
}
)
)
;
// Entry rule entryRuleUnlimitedLiteralRule
entryRuleUnlimitedLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getUnlimitedLiteralRuleRule()); }
iv_ruleUnlimitedLiteralRule=ruleUnlimitedLiteralRule
{ $current=$iv_ruleUnlimitedLiteralRule.current; }
EOF
;
// Rule UnlimitedLiteralRule
ruleUnlimitedLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
lv_value_0_0= '*'
{
newLeafNode(lv_value_0_0, grammarAccess.getUnlimitedLiteralRuleAccess().getValueAsteriskKeyword_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getUnlimitedLiteralRuleRule());
}
setWithLastConsumed($current, "value", lv_value_0_0, "*");
}
)
)
;
// Entry rule entryRuleRealLiteralRule
entryRuleRealLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getRealLiteralRuleRule()); }
iv_ruleRealLiteralRule=ruleRealLiteralRule
{ $current=$iv_ruleRealLiteralRule.current; }
EOF
;
// Rule RealLiteralRule
ruleRealLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
lv_value_0_0=RULE_REALLITERAL
{
newLeafNode(lv_value_0_0, grammarAccess.getRealLiteralRuleAccess().getValueRealLiteralTerminalRuleCall_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRealLiteralRuleRule());
}
setWithLastConsumed(
$current,
"value",
lv_value_0_0,
"RealLiteral");
}
)
)
;
// Entry rule entryRuleDateTimeLiteralRule
entryRuleDateTimeLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getDateTimeLiteralRuleRule()); }
iv_ruleDateTimeLiteralRule=ruleDateTimeLiteralRule
{ $current=$iv_ruleDateTimeLiteralRule.current; }
EOF
;
// Rule DateTimeLiteralRule
ruleDateTimeLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
lv_value_0_0=RULE_DATETIMELITERAL
{
newLeafNode(lv_value_0_0, grammarAccess.getDateTimeLiteralRuleAccess().getValueDateTimeLiteralTerminalRuleCall_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDateTimeLiteralRuleRule());
}
setWithLastConsumed(
$current,
"value",
lv_value_0_0,
"DateTimeLiteral");
}
)
)
;
// Entry rule entryRuleBooleanLiteralRule
entryRuleBooleanLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getBooleanLiteralRuleRule()); }
iv_ruleBooleanLiteralRule=ruleBooleanLiteralRule
{ $current=$iv_ruleBooleanLiteralRule.current; }
EOF
;
// Rule BooleanLiteralRule
ruleBooleanLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
lv_value_0_0=RULE_BOOLEANLITERAL
{
newLeafNode(lv_value_0_0, grammarAccess.getBooleanLiteralRuleAccess().getValueBooleanLiteralTerminalRuleCall_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getBooleanLiteralRuleRule());
}
setWithLastConsumed(
$current,
"value",
lv_value_0_0,
"BooleanLiteral");
}
)
)
;
// Entry rule entryRuleNullLiteralRule
entryRuleNullLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getNullLiteralRuleRule()); }
iv_ruleNullLiteralRule=ruleNullLiteralRule
{ $current=$iv_ruleNullLiteralRule.current; }
EOF
;
// Rule NullLiteralRule
ruleNullLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
lv_value_0_0=RULE_NULLLITERAL
{
newLeafNode(lv_value_0_0, grammarAccess.getNullLiteralRuleAccess().getValueNullLiteralTerminalRuleCall_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getNullLiteralRuleRule());
}
setWithLastConsumed(
$current,
"value",
lv_value_0_0,
"NullLiteral");
}
)
)
;
// Entry rule entryRuleDefaultLiteralRule
entryRuleDefaultLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getDefaultLiteralRuleRule()); }
iv_ruleDefaultLiteralRule=ruleDefaultLiteralRule
{ $current=$iv_ruleDefaultLiteralRule.current; }
EOF
;
// Rule DefaultLiteralRule
ruleDefaultLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
lv_value_0_0= '/'
{
newLeafNode(lv_value_0_0, grammarAccess.getDefaultLiteralRuleAccess().getValueSolidusKeyword_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDefaultLiteralRuleRule());
}
setWithLastConsumed($current, "value", lv_value_0_0, "/");
}
)
)
;
// Entry rule entryRuleStringLiteralRule
entryRuleStringLiteralRule returns [EObject current=null]
:
{ newCompositeNode(grammarAccess.getStringLiteralRuleRule()); }
iv_ruleStringLiteralRule=ruleStringLiteralRule
{ $current=$iv_ruleStringLiteralRule.current; }
EOF
;
// Rule StringLiteralRule
ruleStringLiteralRule returns [EObject current=null]
@init { enterRule();
}
@after { leaveRule(); }:
(
(
lv_value_0_0=RULE_STRING
{
newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getStringLiteralRuleRule());
}
setWithLastConsumed(
$current,
"value",
lv_value_0_0,
"STRING");
}
)
)
;
RULE_INTEGERLITERAL : ('+'|'-')? (('0'..'9')+|'0x' ('0'..'9'|'A'..'F'|'a'..'f')+|'0b' ('0'..'1')+);
RULE_REALLITERAL : ('+'|'-')? ('0'..'9')+ '.' ('0'..'9')+ ('E' ('+'|'-')? ('0'..'9')+)?;
RULE_DATETIMELITERAL : (('0'..'1' '0'..'9'|'2' '0'..'3') ':' '0'..'5' '0'..'9' (':' '0'..'5' '0'..'9' (':' '0'..'9' '0'..'9')?)? (' ' '0'..'9' '0'..'9' '0'..'9' '0'..'9' '/' ('0' '0'..'9'|'1' '0'..'2') '/' ('0'..'2' '0'..'9'|'3' ('0'|'1')))? (' ' ('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'))?|'0'..'9' '0'..'9' '0'..'9' '0'..'9' '/' ('0' '0'..'9'|'1' '0'..'2') '/' ('0'..'2' '0'..'9'|'3' ('0'|'1')) (' ' ('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'))?|('Mon'|'Tue'|'Wed'|'Thr'|'Fri'|'Sat'|'Sun'));
RULE_BOOLEANLITERAL : ('true'|'false');
RULE_NULLLITERAL : 'null';
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
RULE_INT : ('0'..'9')+;
RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
RULE_WS : (' '|'\t'|'\r'|'\n')+;
RULE_ANY_OTHER : .;