blob: 2b0be7c4c67ada611ea0a13314c10e711a70c515 [file] [log] [blame]
/*
* generated by Xtext 2.9.1
*/
grammar InternalSensinact;
options {
superClass=AbstractInternalAntlrParser;
}
@lexer::header {
package org.eclipse.sensinact.studio.language.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.sensinact.studio.language.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.sensinact.studio.language.services.SensinactGrammarAccess;
}
@parser::members {
private SensinactGrammarAccess grammarAccess;
public InternalSensinactParser(TokenStream input, SensinactGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "Sensinact";
}
@Override
protected SensinactGrammarAccess getGrammarAccess() {
return grammarAccess;
}
}
@rulecatch {
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
}
// Entry rule entryRuleSensinact
entryRuleSensinact returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getSensinactRule()); }
iv_ruleSensinact=ruleSensinact
{ $current=$iv_ruleSensinact.current; }
EOF;
// Rule Sensinact
ruleSensinact returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
{
$current = forceCreateModelElement(
grammarAccess.getSensinactAccess().getSensinactAction_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getSensinactAccess().getEcaDSL_SENSINACTParserRuleCall_1_0());
}
lv_eca_1_0=ruleDSL_SENSINACT
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getSensinactRule());
}
set(
$current,
"eca",
lv_eca_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_SENSINACT");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleDSL_SENSINACT
entryRuleDSL_SENSINACT returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_SENSINACTRule()); }
iv_ruleDSL_SENSINACT=ruleDSL_SENSINACT
{ $current=$iv_ruleDSL_SENSINACT.current; }
EOF;
// Rule DSL_SENSINACT
ruleDSL_SENSINACT returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getResourcesDSL_ResourceParserRuleCall_0_0());
}
lv_resources_0_0=ruleDSL_Resource
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
}
add(
$current,
"resources",
lv_resources_0_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Resource");
afterParserOrEnumRuleCall();
}
)
)+
(
(
{
newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getCepDSL_CEP_STATEMENTParserRuleCall_1_0());
}
lv_cep_1_0=ruleDSL_CEP_STATEMENT
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
}
add(
$current,
"cep",
lv_cep_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_STATEMENT");
afterParserOrEnumRuleCall();
}
)
)*
(
(
{
newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getOnDSL_OnParserRuleCall_2_0());
}
lv_on_2_0=ruleDSL_On
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
}
set(
$current,
"on",
lv_on_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_On");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getEcaDSL_ECA_STATEMENTParserRuleCall_3_0());
}
lv_eca_3_0=ruleDSL_ECA_STATEMENT
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
}
set(
$current,
"eca",
lv_eca_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ECA_STATEMENT");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleDSL_Resource
entryRuleDSL_Resource returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_ResourceRule()); }
iv_ruleDSL_Resource=ruleDSL_Resource
{ $current=$iv_ruleDSL_Resource.current; }
EOF;
// Rule DSL_Resource
ruleDSL_Resource returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='resource'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_ResourceAccess().getResourceKeyword_0());
}
(
(
lv_name_1_0=RULE_ID
{
newLeafNode(lv_name_1_0, grammarAccess.getDSL_ResourceAccess().getNameIDTerminalRuleCall_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_ResourceRule());
}
setWithLastConsumed(
$current,
"name",
lv_name_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.ID");
}
)
)
otherlv_2='='
{
newLeafNode(otherlv_2, grammarAccess.getDSL_ResourceAccess().getEqualsSignKeyword_2());
}
otherlv_3='['
{
newLeafNode(otherlv_3, grammarAccess.getDSL_ResourceAccess().getLeftSquareBracketKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ResourceAccess().getGatewayIDEXTENDED_IDParserRuleCall_4_0());
}
lv_gatewayID_4_0=ruleEXTENDED_ID
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
}
set(
$current,
"gatewayID",
lv_gatewayID_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5='/'
{
newLeafNode(otherlv_5, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_5());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ResourceAccess().getDeviceIDEXTENDED_IDParserRuleCall_6_0());
}
lv_deviceID_6_0=ruleEXTENDED_ID
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
}
set(
$current,
"deviceID",
lv_deviceID_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7='/'
{
newLeafNode(otherlv_7, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_7());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ResourceAccess().getServiceIDEXTENDED_IDParserRuleCall_8_0());
}
lv_serviceID_8_0=ruleEXTENDED_ID
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
}
set(
$current,
"serviceID",
lv_serviceID_8_0,
"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9='/'
{
newLeafNode(otherlv_9, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_9());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ResourceAccess().getResourceIDEXTENDED_IDParserRuleCall_10_0());
}
lv_resourceID_10_0=ruleEXTENDED_ID
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
}
set(
$current,
"resourceID",
lv_resourceID_10_0,
"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
afterParserOrEnumRuleCall();
}
)
)
otherlv_11=']'
{
newLeafNode(otherlv_11, grammarAccess.getDSL_ResourceAccess().getRightSquareBracketKeyword_11());
}
)
;
// Entry rule entryRuleDSL_On
entryRuleDSL_On returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_OnRule()); }
iv_ruleDSL_On=ruleDSL_On
{ $current=$iv_ruleDSL_On.current; }
EOF;
// Rule DSL_On
ruleDSL_On returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='on'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_OnAccess().getOnKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_1_0());
}
lv_triggers_1_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_OnRule());
}
add(
$current,
"triggers",
lv_triggers_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_2=','
{
newLeafNode(otherlv_2, grammarAccess.getDSL_OnAccess().getCommaKeyword_2_0());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0());
}
lv_triggers_3_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_OnRule());
}
add(
$current,
"triggers",
lv_triggers_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleDSL_ECA_STATEMENT
entryRuleDSL_ECA_STATEMENT returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTRule()); }
iv_ruleDSL_ECA_STATEMENT=ruleDSL_ECA_STATEMENT
{ $current=$iv_ruleDSL_ECA_STATEMENT.current; }
EOF;
// Rule DSL_ECA_STATEMENT
ruleDSL_ECA_STATEMENT returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoDSL_IfDoParserRuleCall_0_0());
}
lv_ifdo_0_0=ruleDSL_IfDo
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
}
set(
$current,
"ifdo",
lv_ifdo_0_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_IfDo");
afterParserOrEnumRuleCall();
}
)
)
(
(
{
newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoDSL_ElseIfDoParserRuleCall_1_0());
}
lv_elseIfdo_1_0=ruleDSL_ElseIfDo
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
}
add(
$current,
"elseIfdo",
lv_elseIfdo_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ElseIfDo");
afterParserOrEnumRuleCall();
}
)
)*
(
(
{
newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoDSL_ElseDoParserRuleCall_2_0());
}
lv_elsedo_2_0=ruleDSL_ElseDo
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
}
set(
$current,
"elsedo",
lv_elsedo_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ElseDo");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_3='end if'
{
newLeafNode(otherlv_3, grammarAccess.getDSL_ECA_STATEMENTAccess().getEndIfKeyword_3());
}
)
;
// Entry rule entryRuleDSL_IfDo
entryRuleDSL_IfDo returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_IfDoRule()); }
iv_ruleDSL_IfDo=ruleDSL_IfDo
{ $current=$iv_ruleDSL_IfDo.current; }
EOF;
// Rule DSL_IfDo
ruleDSL_IfDo returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='if'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_IfDoAccess().getIfKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_IfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0());
}
lv_condition_1_0=ruleDSL_Expression_Or
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_IfDoRule());
}
set(
$current,
"condition",
lv_condition_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2='do'
{
newLeafNode(otherlv_2, grammarAccess.getDSL_IfDoAccess().getDoKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_IfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0());
}
lv_actions_3_0=ruleDSL_ListActions
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_IfDoRule());
}
set(
$current,
"actions",
lv_actions_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleDSL_ElseIfDo
entryRuleDSL_ElseIfDo returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_ElseIfDoRule()); }
iv_ruleDSL_ElseIfDo=ruleDSL_ElseIfDo
{ $current=$iv_ruleDSL_ElseIfDo.current; }
EOF;
// Rule DSL_ElseIfDo
ruleDSL_ElseIfDo returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='else if'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_ElseIfDoAccess().getElseIfKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ElseIfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0());
}
lv_condition_1_0=ruleDSL_Expression_Or
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ElseIfDoRule());
}
set(
$current,
"condition",
lv_condition_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
afterParserOrEnumRuleCall();
}
)
)
otherlv_2='do'
{
newLeafNode(otherlv_2, grammarAccess.getDSL_ElseIfDoAccess().getDoKeyword_2());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ElseIfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0());
}
lv_actions_3_0=ruleDSL_ListActions
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ElseIfDoRule());
}
set(
$current,
"actions",
lv_actions_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleDSL_ElseDo
entryRuleDSL_ElseDo returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_ElseDoRule()); }
iv_ruleDSL_ElseDo=ruleDSL_ElseDo
{ $current=$iv_ruleDSL_ElseDo.current; }
EOF;
// Rule DSL_ElseDo
ruleDSL_ElseDo returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='else do'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_ElseDoAccess().getElseDoKeyword_0());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ElseDoAccess().getActionsDSL_ListActionsParserRuleCall_1_0());
}
lv_actions_1_0=ruleDSL_ListActions
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ElseDoRule());
}
set(
$current,
"actions",
lv_actions_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
afterParserOrEnumRuleCall();
}
)
)
)
;
// Entry rule entryRuleNUMBER
entryRuleNUMBER returns [String current=null]:
{ newCompositeNode(grammarAccess.getNUMBERRule()); }
iv_ruleNUMBER=ruleNUMBER
{ $current=$iv_ruleNUMBER.current.getText(); }
EOF;
// Rule NUMBER
ruleNUMBER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
this_INT_0=RULE_INT
{
$current.merge(this_INT_0);
}
{
newLeafNode(this_INT_0, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_0());
}
|
(
this_INT_1=RULE_INT
{
$current.merge(this_INT_1);
}
{
newLeafNode(this_INT_1, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_0());
}
kw='.'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getNUMBERAccess().getFullStopKeyword_1_1());
}
this_INT_3=RULE_INT
{
$current.merge(this_INT_3);
}
{
newLeafNode(this_INT_3, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_2());
}
)
)
;
// Entry rule entryRuleEXTENDED_ID
entryRuleEXTENDED_ID returns [String current=null]:
{ newCompositeNode(grammarAccess.getEXTENDED_IDRule()); }
iv_ruleEXTENDED_ID=ruleEXTENDED_ID
{ $current=$iv_ruleEXTENDED_ID.current.getText(); }
EOF;
// Rule EXTENDED_ID
ruleEXTENDED_ID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
this_ID_0=RULE_ID
{
$current.merge(this_ID_0);
}
{
newLeafNode(this_ID_0, grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_0());
}
(
kw='.'
{
$current.merge(kw);
newLeafNode(kw, grammarAccess.getEXTENDED_IDAccess().getFullStopKeyword_1_0());
}
this_ID_2=RULE_ID
{
$current.merge(this_ID_2);
}
{
newLeafNode(this_ID_2, grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_1_1());
}
)*
)
;
// Entry rule entryRuleDSL_REF_CONDITION
entryRuleDSL_REF_CONDITION returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_REF_CONDITIONRule()); }
iv_ruleDSL_REF_CONDITION=ruleDSL_REF_CONDITION
{ $current=$iv_ruleDSL_REF_CONDITION.current; }
EOF;
// Rule DSL_REF_CONDITION
ruleDSL_REF_CONDITION returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_REF_CONDITIONRule());
}
}
otherlv_0=RULE_ID
{
newLeafNode(otherlv_0, grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFCrossReference_0_0());
}
)
)
otherlv_1='.'
{
newLeafNode(otherlv_1, grammarAccess.getDSL_REF_CONDITIONAccess().getFullStopKeyword_1());
}
otherlv_2='subscribe'
{
newLeafNode(otherlv_2, grammarAccess.getDSL_REF_CONDITIONAccess().getSubscribeKeyword_2());
}
otherlv_3='('
{
newLeafNode(otherlv_3, grammarAccess.getDSL_REF_CONDITIONAccess().getLeftParenthesisKeyword_3());
}
otherlv_4=')'
{
newLeafNode(otherlv_4, grammarAccess.getDSL_REF_CONDITIONAccess().getRightParenthesisKeyword_4());
}
)
;
// Entry rule entryRuleDSL_CEP_STATEMENT
entryRuleDSL_CEP_STATEMENT returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTRule()); }
iv_ruleDSL_CEP_STATEMENT=ruleDSL_CEP_STATEMENT
{ $current=$iv_ruleDSL_CEP_STATEMENT.current; }
EOF;
// Rule DSL_CEP_STATEMENT
ruleDSL_CEP_STATEMENT returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='define'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_STATEMENTAccess().getDefineKeyword_0());
}
(
(
lv_name_1_0=RULE_ID
{
newLeafNode(lv_name_1_0, grammarAccess.getDSL_CEP_STATEMENTAccess().getNameIDTerminalRuleCall_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_CEP_STATEMENTRule());
}
setWithLastConsumed(
$current,
"name",
lv_name_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.ID");
}
)
)
otherlv_2='='
{
newLeafNode(otherlv_2, grammarAccess.getDSL_CEP_STATEMENTAccess().getEqualsSignKeyword_2());
}
(
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AFTERParserRuleCall_3_0_0());
}
lv_operation_3_1=ruleDSL_CEP_AFTER
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
}
set(
$current,
"operation",
lv_operation_3_1,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_AFTER");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_BEFOREParserRuleCall_3_0_1());
}
lv_operation_3_2=ruleDSL_CEP_BEFORE
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
}
set(
$current,
"operation",
lv_operation_3_2,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_BEFORE");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2());
}
lv_operation_3_3=ruleDSL_CEP_COINCIDE
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
}
set(
$current,
"operation",
lv_operation_3_3,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_COINCIDE");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MINParserRuleCall_3_0_3());
}
lv_operation_3_4=ruleDSL_CEP_MIN
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
}
set(
$current,
"operation",
lv_operation_3_4,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_MIN");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MAXParserRuleCall_3_0_4());
}
lv_operation_3_5=ruleDSL_CEP_MAX
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
}
set(
$current,
"operation",
lv_operation_3_5,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_MAX");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AVGParserRuleCall_3_0_5());
}
lv_operation_3_6=ruleDSL_CEP_AVG
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
}
set(
$current,
"operation",
lv_operation_3_6,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_AVG");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_SUMParserRuleCall_3_0_6());
}
lv_operation_3_7=ruleDSL_CEP_SUM
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
}
set(
$current,
"operation",
lv_operation_3_7,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_SUM");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COUNTParserRuleCall_3_0_7());
}
lv_operation_3_8=ruleDSL_CEP_COUNT
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
}
set(
$current,
"operation",
lv_operation_3_8,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_COUNT");
afterParserOrEnumRuleCall();
}
)
)
)
)
;
// Entry rule entryRuleDSL_CEP_AFTER
entryRuleDSL_CEP_AFTER returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_AFTERRule()); }
iv_ruleDSL_CEP_AFTER=ruleDSL_CEP_AFTER
{ $current=$iv_ruleDSL_CEP_AFTER.current; }
EOF;
// Rule DSL_CEP_AFTER
ruleDSL_CEP_AFTER returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='after'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_AFTERAccess().getAfterKeyword_0());
}
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_AFTERAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
}
lv_ref1_2_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
}
set(
$current,
"ref1",
lv_ref1_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
}
lv_ref2_4_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
}
set(
$current,
"ref2",
lv_ref2_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=','
{
newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_5());
}
(
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0());
}
lv_start_6_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
}
set(
$current,
"start",
lv_start_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=','
{
newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_6_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0());
}
lv_end_8_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
}
set(
$current,
"end",
lv_end_8_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9=')'
{
newLeafNode(otherlv_9, grammarAccess.getDSL_CEP_AFTERAccess().getRightParenthesisKeyword_8());
}
)
;
// Entry rule entryRuleDSL_CEP_BEFORE
entryRuleDSL_CEP_BEFORE returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_BEFORERule()); }
iv_ruleDSL_CEP_BEFORE=ruleDSL_CEP_BEFORE
{ $current=$iv_ruleDSL_CEP_BEFORE.current; }
EOF;
// Rule DSL_CEP_BEFORE
ruleDSL_CEP_BEFORE returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='before'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_BEFOREAccess().getBeforeKeyword_0());
}
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_BEFOREAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
}
lv_ref1_2_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
}
set(
$current,
"ref1",
lv_ref1_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
}
lv_ref2_4_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
}
set(
$current,
"ref2",
lv_ref2_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=','
{
newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_5());
}
(
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0());
}
lv_start_6_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
}
set(
$current,
"start",
lv_start_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=','
{
newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_6_1());
}
)?
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0());
}
lv_end_8_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
}
set(
$current,
"end",
lv_end_8_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_9=')'
{
newLeafNode(otherlv_9, grammarAccess.getDSL_CEP_BEFOREAccess().getRightParenthesisKeyword_8());
}
)
;
// Entry rule entryRuleDSL_CEP_COINCIDE
entryRuleDSL_CEP_COINCIDE returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_COINCIDERule()); }
iv_ruleDSL_CEP_COINCIDE=ruleDSL_CEP_COINCIDE
{ $current=$iv_ruleDSL_CEP_COINCIDE.current; }
EOF;
// Rule DSL_CEP_COINCIDE
ruleDSL_CEP_COINCIDE returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='coincide'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_COINCIDEAccess().getCoincideKeyword_0());
}
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_COINCIDEAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
}
lv_ref1_2_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
}
set(
$current,
"ref1",
lv_ref1_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
}
lv_ref2_4_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
}
set(
$current,
"ref2",
lv_ref2_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=','
{
newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_5());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowDSL_CEP_DURATIONParserRuleCall_6_0());
}
lv_window_6_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
}
set(
$current,
"window",
lv_window_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_7=')'
{
newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_COINCIDEAccess().getRightParenthesisKeyword_7());
}
)
;
// Entry rule entryRuleDSL_CEP_MIN
entryRuleDSL_CEP_MIN returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_MINRule()); }
iv_ruleDSL_CEP_MIN=ruleDSL_CEP_MIN
{ $current=$iv_ruleDSL_CEP_MIN.current; }
EOF;
// Rule DSL_CEP_MIN
ruleDSL_CEP_MIN returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='min'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_MINAccess().getMinKeyword_0());
}
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_MINAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_MINAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
}
lv_ref_2_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_MINRule());
}
set(
$current,
"ref",
lv_ref_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_MINAccess().getCommaKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_MINAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
}
lv_window_4_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_MINRule());
}
set(
$current,
"window",
lv_window_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_MINAccess().getRightParenthesisKeyword_5());
}
)
;
// Entry rule entryRuleDSL_CEP_MAX
entryRuleDSL_CEP_MAX returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_MAXRule()); }
iv_ruleDSL_CEP_MAX=ruleDSL_CEP_MAX
{ $current=$iv_ruleDSL_CEP_MAX.current; }
EOF;
// Rule DSL_CEP_MAX
ruleDSL_CEP_MAX returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='max'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_MAXAccess().getMaxKeyword_0());
}
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_MAXAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_MAXAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
}
lv_ref_2_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_MAXRule());
}
set(
$current,
"ref",
lv_ref_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_MAXAccess().getCommaKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_MAXAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
}
lv_window_4_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_MAXRule());
}
set(
$current,
"window",
lv_window_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_MAXAccess().getRightParenthesisKeyword_5());
}
)
;
// Entry rule entryRuleDSL_CEP_AVG
entryRuleDSL_CEP_AVG returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_AVGRule()); }
iv_ruleDSL_CEP_AVG=ruleDSL_CEP_AVG
{ $current=$iv_ruleDSL_CEP_AVG.current; }
EOF;
// Rule DSL_CEP_AVG
ruleDSL_CEP_AVG returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='avg'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_AVGAccess().getAvgKeyword_0());
}
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_AVGAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_AVGAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
}
lv_ref_2_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_AVGRule());
}
set(
$current,
"ref",
lv_ref_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_AVGAccess().getCommaKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_AVGAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
}
lv_window_4_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_AVGRule());
}
set(
$current,
"window",
lv_window_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_AVGAccess().getRightParenthesisKeyword_5());
}
)
;
// Entry rule entryRuleDSL_CEP_SUM
entryRuleDSL_CEP_SUM returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_SUMRule()); }
iv_ruleDSL_CEP_SUM=ruleDSL_CEP_SUM
{ $current=$iv_ruleDSL_CEP_SUM.current; }
EOF;
// Rule DSL_CEP_SUM
ruleDSL_CEP_SUM returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='sum'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_SUMAccess().getSumKeyword_0());
}
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_SUMAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_SUMAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
}
lv_ref_2_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_SUMRule());
}
set(
$current,
"ref",
lv_ref_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_SUMAccess().getCommaKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_SUMAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
}
lv_window_4_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_SUMRule());
}
set(
$current,
"window",
lv_window_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_SUMAccess().getRightParenthesisKeyword_5());
}
)
;
// Entry rule entryRuleDSL_CEP_COUNT
entryRuleDSL_CEP_COUNT returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_COUNTRule()); }
iv_ruleDSL_CEP_COUNT=ruleDSL_CEP_COUNT
{ $current=$iv_ruleDSL_CEP_COUNT.current; }
EOF;
// Rule DSL_CEP_COUNT
ruleDSL_CEP_COUNT returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
otherlv_0='count'
{
newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_COUNTAccess().getCountKeyword_0());
}
otherlv_1='('
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_COUNTAccess().getLeftParenthesisKeyword_1());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_COUNTAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
}
lv_ref_2_0=ruleDSL_REF_CONDITION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_COUNTRule());
}
set(
$current,
"ref",
lv_ref_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3=','
{
newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_COUNTAccess().getCommaKeyword_3());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_COUNTAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
}
lv_window_4_0=ruleDSL_CEP_DURATION
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_COUNTRule());
}
set(
$current,
"window",
lv_window_4_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
afterParserOrEnumRuleCall();
}
)
)
otherlv_5=')'
{
newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_COUNTAccess().getRightParenthesisKeyword_5());
}
)
;
// Entry rule entryRuleDSL_CEP_DURATION
entryRuleDSL_CEP_DURATION returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_DURATIONRule()); }
iv_ruleDSL_CEP_DURATION=ruleDSL_CEP_DURATION
{ $current=$iv_ruleDSL_CEP_DURATION.current; }
EOF;
// Rule DSL_CEP_DURATION
ruleDSL_CEP_DURATION returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0());
}
lv_units_0_1=ruleDSL_CEP_DURATION_MIN
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATIONRule());
}
add(
$current,
"units",
lv_units_0_1,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION_MIN");
afterParserOrEnumRuleCall();
}
|
{
newCompositeNode(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1());
}
lv_units_0_2=ruleDSL_CEP_DURATION_SEC
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATIONRule());
}
add(
$current,
"units",
lv_units_0_2,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION_SEC");
afterParserOrEnumRuleCall();
}
)
)
)+
;
// Entry rule entryRuleDSL_CEP_DURATION_MIN
entryRuleDSL_CEP_DURATION_MIN returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_DURATION_MINRule()); }
iv_ruleDSL_CEP_DURATION_MIN=ruleDSL_CEP_DURATION_MIN
{ $current=$iv_ruleDSL_CEP_DURATION_MIN.current; }
EOF;
// Rule DSL_CEP_DURATION_MIN
ruleDSL_CEP_DURATION_MIN returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinNUMBERParserRuleCall_0_0());
}
lv_min_0_0=ruleNUMBER
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATION_MINRule());
}
set(
$current,
"min",
lv_min_0_0,
"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
afterParserOrEnumRuleCall();
}
)
)
otherlv_1='min'
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinKeyword_1());
}
)
;
// Entry rule entryRuleDSL_CEP_DURATION_SEC
entryRuleDSL_CEP_DURATION_SEC returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_CEP_DURATION_SECRule()); }
iv_ruleDSL_CEP_DURATION_SEC=ruleDSL_CEP_DURATION_SEC
{ $current=$iv_ruleDSL_CEP_DURATION_SEC.current; }
EOF;
// Rule DSL_CEP_DURATION_SEC
ruleDSL_CEP_DURATION_SEC returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecNUMBERParserRuleCall_0_0());
}
lv_sec_0_0=ruleNUMBER
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATION_SECRule());
}
set(
$current,
"sec",
lv_sec_0_0,
"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
afterParserOrEnumRuleCall();
}
)
)
otherlv_1='sec'
{
newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecKeyword_1());
}
)
;
// Entry rule entryRuleDSL_ListActions
entryRuleDSL_ListActions returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_ListActionsRule()); }
iv_ruleDSL_ListActions=ruleDSL_ListActions
{ $current=$iv_ruleDSL_ListActions.current; }
EOF;
// Rule DSL_ListActions
ruleDSL_ListActions returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_0_0());
}
lv_actionList_0_0=ruleDSL_ResourceAction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ListActionsRule());
}
add(
$current,
"actionList",
lv_actionList_0_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ResourceAction");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_1=','
{
newLeafNode(otherlv_1, grammarAccess.getDSL_ListActionsAccess().getCommaKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_1_1_0());
}
lv_actionList_2_0=ruleDSL_ResourceAction
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ListActionsRule());
}
add(
$current,
"actionList",
lv_actionList_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ResourceAction");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleDSL_ResourceAction
entryRuleDSL_ResourceAction returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_ResourceActionRule()); }
iv_ruleDSL_ResourceAction=ruleDSL_ResourceAction
{ $current=$iv_ruleDSL_ResourceAction.current; }
EOF;
// Rule DSL_ResourceAction
ruleDSL_ResourceAction returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
(
lv_variable_0_0=RULE_ID
{
newLeafNode(lv_variable_0_0, grammarAccess.getDSL_ResourceActionAccess().getVariableIDTerminalRuleCall_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
}
setWithLastConsumed(
$current,
"variable",
lv_variable_0_0,
"org.eclipse.sensinact.studio.language.Sensinact.ID");
}
)
)
otherlv_1='='
{
newLeafNode(otherlv_1, grammarAccess.getDSL_ResourceActionAccess().getEqualsSignKeyword_0_1());
}
)?
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
}
}
otherlv_2=RULE_ID
{
newLeafNode(otherlv_2, grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFCrossReference_1_0());
}
)
)
otherlv_3='.'
{
newLeafNode(otherlv_3, grammarAccess.getDSL_ResourceActionAccess().getFullStopKeyword_2());
}
(
(
(
lv_actiontype_4_1='act'
{
newLeafNode(lv_actiontype_4_1, grammarAccess.getDSL_ResourceActionAccess().getActiontypeActKeyword_3_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
}
setWithLastConsumed($current, "actiontype", lv_actiontype_4_1, null);
}
|
lv_actiontype_4_2='set'
{
newLeafNode(lv_actiontype_4_2, grammarAccess.getDSL_ResourceActionAccess().getActiontypeSetKeyword_3_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
}
setWithLastConsumed($current, "actiontype", lv_actiontype_4_2, null);
}
)
)
)
otherlv_5='('
{
newLeafNode(otherlv_5, grammarAccess.getDSL_ResourceActionAccess().getLeftParenthesisKeyword_4());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ResourceActionAccess().getListParamDSL_ListParamParserRuleCall_5_0());
}
lv_listParam_6_0=ruleDSL_ListParam
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ResourceActionRule());
}
set(
$current,
"listParam",
lv_listParam_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListParam");
afterParserOrEnumRuleCall();
}
)
)?
otherlv_7=')'
{
newLeafNode(otherlv_7, grammarAccess.getDSL_ResourceActionAccess().getRightParenthesisKeyword_6());
}
)
;
// Entry rule entryRuleDSL_ListParam
entryRuleDSL_ListParam returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_ListParamRule()); }
iv_ruleDSL_ListParam=ruleDSL_ListParam
{ $current=$iv_ruleDSL_ListParam.current; }
EOF;
// Rule DSL_ListParam
ruleDSL_ListParam returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
newCompositeNode(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_0_0());
}
lv_param_0_0=ruleDSL_Expression_Or
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ListParamRule());
}
add(
$current,
"param",
lv_param_0_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
afterParserOrEnumRuleCall();
}
)
)
(
otherlv_1=','
{
newLeafNode(otherlv_1, grammarAccess.getDSL_ListParamAccess().getCommaKeyword_1_0());
}
(
(
{
newCompositeNode(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_1_1_0());
}
lv_param_2_0=ruleDSL_Expression_Or
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_ListParamRule());
}
add(
$current,
"param",
lv_param_2_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleDSL_Expression_Or
entryRuleDSL_Expression_Or returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_Expression_OrRule()); }
iv_ruleDSL_Expression_Or=ruleDSL_Expression_Or
{ $current=$iv_ruleDSL_Expression_Or.current; }
EOF;
// Rule DSL_Expression_Or
ruleDSL_Expression_Or returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_AndParserRuleCall_0());
}
this_DSL_Expression_And_0=ruleDSL_Expression_And
{
$current = $this_DSL_Expression_And_0.current;
afterParserOrEnumRuleCall();
}
(
otherlv_1='or'
{
newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_OrAccess().getOrKeyword_1_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_OrLeftAction_1_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_OrAccess().getRightDSL_Expression_AndParserRuleCall_1_2_0());
}
lv_right_3_0=ruleDSL_Expression_And
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_OrRule());
}
set(
$current,
"right",
lv_right_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_And");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleDSL_Expression_And
entryRuleDSL_Expression_And returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_Expression_AndRule()); }
iv_ruleDSL_Expression_And=ruleDSL_Expression_And
{ $current=$iv_ruleDSL_Expression_And.current; }
EOF;
// Rule DSL_Expression_And
ruleDSL_Expression_And returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_DiffEqualParserRuleCall_0());
}
this_DSL_Expression_DiffEqual_0=ruleDSL_Expression_DiffEqual
{
$current = $this_DSL_Expression_DiffEqual_0.current;
afterParserOrEnumRuleCall();
}
(
otherlv_1='and'
{
newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_AndAccess().getAndKeyword_1_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_AndLeftAction_1_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_AndAccess().getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0());
}
lv_right_3_0=ruleDSL_Expression_DiffEqual
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_AndRule());
}
set(
$current,
"right",
lv_right_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_DiffEqual");
afterParserOrEnumRuleCall();
}
)
)
)*
)
;
// Entry rule entryRuleDSL_Expression_DiffEqual
entryRuleDSL_Expression_DiffEqual returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualRule()); }
iv_ruleDSL_Expression_DiffEqual=ruleDSL_Expression_DiffEqual
{ $current=$iv_ruleDSL_Expression_DiffEqual.current; }
EOF;
// Rule DSL_Expression_DiffEqual
ruleDSL_Expression_DiffEqual returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_CompareParserRuleCall_0());
}
this_DSL_Expression_Compare_0=ruleDSL_Expression_Compare
{
$current = $this_DSL_Expression_Compare_0.current;
afterParserOrEnumRuleCall();
}
(
(
otherlv_1='!='
{
newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_DiffEqualAccess().getExclamationMarkEqualsSignKeyword_1_0_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_DiffLeftAction_1_0_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_0_2_0());
}
lv_right_3_0=ruleDSL_Expression_Compare
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_DiffEqualRule());
}
set(
$current,
"right",
lv_right_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Compare");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_4='=='
{
newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_DiffEqualAccess().getEqualsSignEqualsSignKeyword_1_1_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_EqualLeftAction_1_1_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_1_2_0());
}
lv_right_6_0=ruleDSL_Expression_Compare
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_DiffEqualRule());
}
set(
$current,
"right",
lv_right_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Compare");
afterParserOrEnumRuleCall();
}
)
)
)
)*
)
;
// Entry rule entryRuleDSL_Expression_Compare
entryRuleDSL_Expression_Compare returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_Expression_CompareRule()); }
iv_ruleDSL_Expression_Compare=ruleDSL_Expression_Compare
{ $current=$iv_ruleDSL_Expression_Compare.current; }
EOF;
// Rule DSL_Expression_Compare
ruleDSL_Expression_Compare returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_PlusMinusParserRuleCall_0());
}
this_DSL_Expression_PlusMinus_0=ruleDSL_Expression_PlusMinus
{
$current = $this_DSL_Expression_PlusMinus_0.current;
afterParserOrEnumRuleCall();
}
(
(
otherlv_1='>'
{
newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignKeyword_1_0_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_LargerLeftAction_1_0_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0());
}
lv_right_3_0=ruleDSL_Expression_PlusMinus
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
}
set(
$current,
"right",
lv_right_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_4='>='
{
newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Larger_EqualLeftAction_1_1_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0());
}
lv_right_6_0=ruleDSL_Expression_PlusMinus
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
}
set(
$current,
"right",
lv_right_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_7='<'
{
newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignKeyword_1_2_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_SmallerLeftAction_1_2_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0());
}
lv_right_9_0=ruleDSL_Expression_PlusMinus
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
}
set(
$current,
"right",
lv_right_9_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_10='<='
{
newLeafNode(otherlv_10, grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Smaller_EqualLeftAction_1_3_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0());
}
lv_right_12_0=ruleDSL_Expression_PlusMinus
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
}
set(
$current,
"right",
lv_right_12_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
afterParserOrEnumRuleCall();
}
)
)
)
)*
)
;
// Entry rule entryRuleDSL_Expression_PlusMinus
entryRuleDSL_Expression_PlusMinus returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusRule()); }
iv_ruleDSL_Expression_PlusMinus=ruleDSL_Expression_PlusMinus
{ $current=$iv_ruleDSL_Expression_PlusMinus.current; }
EOF;
// Rule DSL_Expression_PlusMinus
ruleDSL_Expression_PlusMinus returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MultiplicationDivisionParserRuleCall_0());
}
this_DSL_Expression_MultiplicationDivision_0=ruleDSL_Expression_MultiplicationDivision
{
$current = $this_DSL_Expression_MultiplicationDivision_0.current;
afterParserOrEnumRuleCall();
}
(
(
otherlv_1='+'
{
newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_PlusMinusAccess().getPlusSignKeyword_1_0_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_PlusLeftAction_1_0_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0());
}
lv_right_3_0=ruleDSL_Expression_MultiplicationDivision
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_PlusMinusRule());
}
set(
$current,
"right",
lv_right_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_MultiplicationDivision");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_4='-'
{
newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MinusLeftAction_1_1_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0());
}
lv_right_6_0=ruleDSL_Expression_MultiplicationDivision
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_PlusMinusRule());
}
set(
$current,
"right",
lv_right_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_MultiplicationDivision");
afterParserOrEnumRuleCall();
}
)
)
)
)*
)
;
// Entry rule entryRuleDSL_Expression_MultiplicationDivision
entryRuleDSL_Expression_MultiplicationDivision returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionRule()); }
iv_ruleDSL_Expression_MultiplicationDivision=ruleDSL_Expression_MultiplicationDivision
{ $current=$iv_ruleDSL_Expression_MultiplicationDivision.current; }
EOF;
// Rule DSL_Expression_MultiplicationDivision
ruleDSL_Expression_MultiplicationDivision returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
{
newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_UnaryParserRuleCall_0());
}
this_DSL_Expression_Unary_0=ruleDSL_Expression_Unary
{
$current = $this_DSL_Expression_Unary_0.current;
afterParserOrEnumRuleCall();
}
(
(
otherlv_1='*'
{
newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAsteriskKeyword_1_0_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_MultiplicationLeftAction_1_0_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0());
}
lv_right_3_0=ruleDSL_Expression_Unary
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
}
set(
$current,
"right",
lv_right_3_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_4='/'
{
newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getSolidusKeyword_1_1_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_DivisionLeftAction_1_1_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0());
}
lv_right_6_0=ruleDSL_Expression_Unary
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
}
set(
$current,
"right",
lv_right_6_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
otherlv_7='%'
{
newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getPercentSignKeyword_1_2_0());
}
(
{
$current = forceCreateModelElementAndSet(
grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_ModuloLeftAction_1_2_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0());
}
lv_right_9_0=ruleDSL_Expression_Unary
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
}
set(
$current,
"right",
lv_right_9_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
afterParserOrEnumRuleCall();
}
)
)
)
)*
)
;
// Entry rule entryRuleDSL_Expression_Unary
entryRuleDSL_Expression_Unary returns [EObject current=null]:
{ newCompositeNode(grammarAccess.getDSL_Expression_UnaryRule()); }
iv_ruleDSL_Expression_Unary=ruleDSL_Expression_Unary
{ $current=$iv_ruleDSL_Expression_Unary.current; }
EOF;
// Rule DSL_Expression_Unary
ruleDSL_Expression_Unary returns [EObject current=null]
@init {
enterRule();
}
@after {
leaveRule();
}:
(
(
(
{
$current = forceCreateModelElement(
grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_NumberAction_0_0(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getValueNUMBERParserRuleCall_0_1_0());
}
lv_value_1_0=ruleNUMBER
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_UnaryRule());
}
set(
$current,
"value",
lv_value_1_0,
"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
afterParserOrEnumRuleCall();
}
)
)
)
|
(
(
{
$current = forceCreateModelElement(
grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_StringAction_1_0(),
$current);
}
)
(
(
lv_value_3_0=RULE_STRING
{
newLeafNode(lv_value_3_0, grammarAccess.getDSL_Expression_UnaryAccess().getValueSTRINGTerminalRuleCall_1_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
}
setWithLastConsumed(
$current,
"value",
lv_value_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
)
)
)
|
(
(
{
$current = forceCreateModelElement(
grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_BooleanAction_2_0(),
$current);
}
)
(
(
lv_value_5_0=RULE_BOOLEAN
{
newLeafNode(lv_value_5_0, grammarAccess.getDSL_Expression_UnaryAccess().getValueBOOLEANTerminalRuleCall_2_1_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
}
setWithLastConsumed(
$current,
"value",
lv_value_5_0,
"org.eclipse.sensinact.studio.language.Sensinact.BOOLEAN");
}
)
)
)
|
(
(
{
$current = forceCreateModelElement(
grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_RefAction_3_0(),
$current);
}
)
(
(
{
if ($current==null) {
$current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
}
}
otherlv_7=RULE_ID
{
newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFCrossReference_3_1_0());
}
)
)
otherlv_8='.get()'
{
newLeafNode(otherlv_8, grammarAccess.getDSL_Expression_UnaryAccess().getGetKeyword_3_2());
}
)
|
(
otherlv_9='('
{
newLeafNode(otherlv_9, grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0());
}
{
newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_OrParserRuleCall_4_1());
}
this_DSL_Expression_Or_10=ruleDSL_Expression_Or
{
$current = $this_DSL_Expression_Or_10.current;
afterParserOrEnumRuleCall();
}
otherlv_11=')'
{
newLeafNode(otherlv_11, grammarAccess.getDSL_Expression_UnaryAccess().getRightParenthesisKeyword_4_2());
}
)
|
(
otherlv_12='not'
{
newLeafNode(otherlv_12, grammarAccess.getDSL_Expression_UnaryAccess().getNotKeyword_5_0());
}
(
{
$current = forceCreateModelElement(
grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_NegateAction_5_1(),
$current);
}
)
(
(
{
newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getExpDSL_Expression_UnaryParserRuleCall_5_2_0());
}
lv_exp_14_0=ruleDSL_Expression_Unary
{
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getDSL_Expression_UnaryRule());
}
set(
$current,
"exp",
lv_exp_14_0,
"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
afterParserOrEnumRuleCall();
}
)
)
)
)
;
RULE_BOOLEAN : ('true'|'false');
RULE_INT : ('0'..'9')+;
RULE_ID : ('a'..'z'|'A'..'Z'|'_'|'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 : .;