| /* |
| * 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 : .; |