| /** |
| * |
| * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| * |
| * generated by Xtext 2.11.0 |
| * |
| */ |
| |
| grammar InternalChartDSL; |
| |
| options { |
| superClass=AbstractInternalAntlrParser; |
| } |
| |
| @lexer::header { |
| package org.eclipse.osbp.xtext.chart.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.osbp.xtext.chart.parser.antlr.internal; |
| |
| import org.eclipse.xtext.*; |
| import org.eclipse.xtext.parser.*; |
| import org.eclipse.xtext.parser.impl.*; |
| import org.eclipse.emf.ecore.util.EcoreUtil; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.emf.common.util.Enumerator; |
| import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; |
| import org.eclipse.xtext.parser.antlr.XtextTokenStream; |
| import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; |
| import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; |
| import org.eclipse.osbp.xtext.chart.services.ChartDSLGrammarAccess; |
| |
| } |
| |
| @parser::members { |
| |
| private ChartDSLGrammarAccess grammarAccess; |
| |
| public InternalChartDSLParser(TokenStream input, ChartDSLGrammarAccess grammarAccess) { |
| this(input); |
| this.grammarAccess = grammarAccess; |
| registerRules(grammarAccess.getGrammar()); |
| } |
| |
| @Override |
| protected String getFirstRuleName() { |
| return "ChartModel"; |
| } |
| |
| @Override |
| protected ChartDSLGrammarAccess getGrammarAccess() { |
| return grammarAccess; |
| } |
| |
| } |
| |
| @rulecatch { |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| } |
| |
| // Entry rule entryRuleChartModel |
| entryRuleChartModel returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartModelRule()); } |
| iv_ruleChartModel=ruleChartModel |
| { $current=$iv_ruleChartModel.current; } |
| EOF; |
| |
| // Rule ChartModel |
| ruleChartModel returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartModelAccess().getImportSectionXImportSectionParserRuleCall_0_0()); |
| } |
| lv_importSection_0_0=ruleXImportSection |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartModelRule()); |
| } |
| set( |
| $current, |
| "importSection", |
| lv_importSection_0_0, |
| "org.eclipse.xtext.xbase.Xtype.XImportSection"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )? |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartModelAccess().getPackagesChartPackageParserRuleCall_1_0()); |
| } |
| lv_packages_1_0=ruleChartPackage |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartModelRule()); |
| } |
| add( |
| $current, |
| "packages", |
| lv_packages_1_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.ChartPackage"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )* |
| ) |
| ; |
| |
| // Entry rule entryRuleChartPackage |
| entryRuleChartPackage returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartPackageRule()); } |
| iv_ruleChartPackage=ruleChartPackage |
| { $current=$iv_ruleChartPackage.current; } |
| EOF; |
| |
| // Rule ChartPackage |
| ruleChartPackage returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartPackageAccess().getChartPackageAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='package' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartPackageAccess().getPackageKeyword_1()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartPackageAccess().getNameQualifiedNameParserRuleCall_2_0()); |
| } |
| lv_name_2_0=ruleQualifiedName |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartPackageRule()); |
| } |
| set( |
| $current, |
| "name", |
| lv_name_2_0, |
| "org.eclipse.xtext.xbase.Xbase.QualifiedName"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_3='{' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getChartPackageAccess().getLeftCurlyBracketKeyword_3_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartPackageAccess().getChartsChartParserRuleCall_3_1_0()); |
| } |
| lv_charts_4_0=ruleChart |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartPackageRule()); |
| } |
| add( |
| $current, |
| "charts", |
| lv_charts_4_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.Chart"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )* |
| otherlv_5='}' |
| { |
| newLeafNode(otherlv_5, grammarAccess.getChartPackageAccess().getRightCurlyBracketKeyword_3_2()); |
| } |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleChart |
| entryRuleChart returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartRule()); } |
| iv_ruleChart=ruleChart |
| { $current=$iv_ruleChart.current; } |
| EOF; |
| |
| // Rule Chart |
| ruleChart returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartAccess().getChartAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='chart' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartAccess().getChartKeyword_1()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); |
| } |
| lv_name_2_0=ruleTRANSLATABLEID |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartRule()); |
| } |
| set( |
| $current, |
| "name", |
| lv_name_2_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.TRANSLATABLEID"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| ( |
| lv_description_3_0='describedBy' |
| { |
| newLeafNode(lv_description_3_0, grammarAccess.getChartAccess().getDescriptionDescribedByKeyword_3_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartRule()); |
| } |
| setWithLastConsumed($current, "description", true, "describedBy"); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartAccess().getDescriptionValueTRANSLATABLESTRINGParserRuleCall_3_1_0()); |
| } |
| lv_descriptionValue_4_0=ruleTRANSLATABLESTRING |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartRule()); |
| } |
| set( |
| $current, |
| "descriptionValue", |
| lv_descriptionValue_4_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.TRANSLATABLESTRING"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| otherlv_5='as' |
| { |
| newLeafNode(otherlv_5, grammarAccess.getChartAccess().getAsKeyword_4()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartAccess().getCharttypeChartOptionParserRuleCall_5_0()); |
| } |
| lv_charttype_6_0=ruleChartOption |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartRule()); |
| } |
| set( |
| $current, |
| "charttype", |
| lv_charttype_6_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.ChartOption"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| getUnorderedGroupHelper().enter(grammarAccess.getChartAccess().getUnorderedGroup_6()); |
| } |
| ( |
| ( |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartAccess().getUnorderedGroup_6(), 0)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartAccess().getUnorderedGroup_6(), 0); |
| } |
| ({true}?=>(( |
| lv_selectById_8_0='selectById' |
| { |
| newLeafNode(lv_selectById_8_0, grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartRule()); |
| } |
| setWithLastConsumed($current, "selectById", true, "selectById"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartAccess().getUnorderedGroup_6()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartAccess().getUnorderedGroup_6(), 1)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartAccess().getUnorderedGroup_6(), 1); |
| } |
| ({true}?=>(otherlv_9='toolbar' |
| { |
| newLeafNode(otherlv_9, grammarAccess.getChartAccess().getToolbarKeyword_6_1_0()); |
| } |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartRule()); |
| } |
| } |
| otherlv_10=RULE_ID |
| { |
| newLeafNode(otherlv_10, grammarAccess.getChartAccess().getToolbarActionToolbarCrossReference_6_1_1_0()); |
| } |
| ) |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartAccess().getUnorderedGroup_6()); |
| } |
| ) |
| ) |
| )* |
| ) |
| ) |
| { |
| getUnorderedGroupHelper().leave(grammarAccess.getChartAccess().getUnorderedGroup_6()); |
| } |
| ) |
| ( |
| otherlv_11='using' |
| { |
| newLeafNode(otherlv_11, grammarAccess.getChartAccess().getUsingKeyword_7_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartAccess().getSourceChartDatamartParserRuleCall_7_1_0()); |
| } |
| lv_source_12_0=ruleChartDatamart |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartRule()); |
| } |
| set( |
| $current, |
| "source", |
| lv_source_12_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.ChartDatamart"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleChartOption |
| entryRuleChartOption returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartOptionRule()); } |
| iv_ruleChartOption=ruleChartOption |
| { $current=$iv_ruleChartOption.current; } |
| EOF; |
| |
| // Rule ChartOption |
| ruleChartOption returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartOptionAccess().getChartBarParserRuleCall_0()); |
| } |
| this_ChartBar_0=ruleChartBar |
| { |
| $current = $this_ChartBar_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getChartOptionAccess().getChartLineParserRuleCall_1()); |
| } |
| this_ChartLine_1=ruleChartLine |
| { |
| $current = $this_ChartLine_1.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getChartOptionAccess().getChartPieParserRuleCall_2()); |
| } |
| this_ChartPie_2=ruleChartPie |
| { |
| $current = $this_ChartPie_2.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getChartOptionAccess().getChartDonutParserRuleCall_3()); |
| } |
| this_ChartDonut_3=ruleChartDonut |
| { |
| $current = $this_ChartDonut_3.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getChartOptionAccess().getChartBubbleParserRuleCall_4()); |
| } |
| this_ChartBubble_4=ruleChartBubble |
| { |
| $current = $this_ChartBubble_4.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getChartOptionAccess().getChartGaugeParserRuleCall_5()); |
| } |
| this_ChartGauge_5=ruleChartGauge |
| { |
| $current = $this_ChartGauge_5.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getChartOptionAccess().getChartTreeParserRuleCall_6()); |
| } |
| this_ChartTree_6=ruleChartTree |
| { |
| $current = $this_ChartTree_6.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleChartBar |
| entryRuleChartBar returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartBarRule()); } |
| iv_ruleChartBar=ruleChartBar |
| { $current=$iv_ruleChartBar.current; } |
| EOF; |
| |
| // Rule ChartBar |
| ruleChartBar returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartBarAccess().getChartBarAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='bar' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartBarAccess().getBarKeyword_1()); |
| } |
| ( |
| ( |
| { |
| getUnorderedGroupHelper().enter(grammarAccess.getChartBarAccess().getUnorderedGroup_2()); |
| } |
| ( |
| ( |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), 0)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), 0); |
| } |
| ({true}?=>(( |
| lv_shadow_3_0='shaded' |
| { |
| newLeafNode(lv_shadow_3_0, grammarAccess.getChartBarAccess().getShadowShadedKeyword_2_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartBarRule()); |
| } |
| setWithLastConsumed($current, "shadow", true, "shaded"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartBarAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), 1)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), 1); |
| } |
| ({true}?=>(( |
| lv_animated_4_0='animated' |
| { |
| newLeafNode(lv_animated_4_0, grammarAccess.getChartBarAccess().getAnimatedAnimatedKeyword_2_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartBarRule()); |
| } |
| setWithLastConsumed($current, "animated", true, "animated"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartBarAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), 2)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), 2); |
| } |
| ({true}?=>(( |
| lv_swapped_5_0='swapped' |
| { |
| newLeafNode(lv_swapped_5_0, grammarAccess.getChartBarAccess().getSwappedSwappedKeyword_2_2_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartBarRule()); |
| } |
| setWithLastConsumed($current, "swapped", true, "swapped"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartBarAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), 3)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), 3); |
| } |
| ({true}?=>(( |
| lv_stacked_6_0='stacked' |
| { |
| newLeafNode(lv_stacked_6_0, grammarAccess.getChartBarAccess().getStackedStackedKeyword_2_3_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartBarRule()); |
| } |
| setWithLastConsumed($current, "stacked", true, "stacked"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartBarAccess().getUnorderedGroup_2()); |
| } |
| ) |
| ) |
| )* |
| ) |
| ) |
| { |
| getUnorderedGroupHelper().leave(grammarAccess.getChartBarAccess().getUnorderedGroup_2()); |
| } |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleChartLine |
| entryRuleChartLine returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartLineRule()); } |
| iv_ruleChartLine=ruleChartLine |
| { $current=$iv_ruleChartLine.current; } |
| EOF; |
| |
| // Rule ChartLine |
| ruleChartLine returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartLineAccess().getChartLineAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='line' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartLineAccess().getLineKeyword_1()); |
| } |
| ( |
| ( |
| { |
| getUnorderedGroupHelper().enter(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); |
| } |
| ( |
| ( |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 0)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 0); |
| } |
| ({true}?=>(( |
| lv_animated_3_0='animated' |
| { |
| newLeafNode(lv_animated_3_0, grammarAccess.getChartLineAccess().getAnimatedAnimatedKeyword_2_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLineRule()); |
| } |
| setWithLastConsumed($current, "animated", true, "animated"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 1)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 1); |
| } |
| ({true}?=>(( |
| lv_showMarker_4_0='showMarker' |
| { |
| newLeafNode(lv_showMarker_4_0, grammarAccess.getChartLineAccess().getShowMarkerShowMarkerKeyword_2_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLineRule()); |
| } |
| setWithLastConsumed($current, "showMarker", true, "showMarker"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 2)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 2); |
| } |
| ({true}?=>(( |
| lv_trendLine_5_0='trendLine' |
| { |
| newLeafNode(lv_trendLine_5_0, grammarAccess.getChartLineAccess().getTrendLineTrendLineKeyword_2_2_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLineRule()); |
| } |
| setWithLastConsumed($current, "trendLine", true, "trendLine"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 3)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 3); |
| } |
| ({true}?=>(( |
| ( |
| lv_cursor_6_0='cursor' |
| { |
| newLeafNode(lv_cursor_6_0, grammarAccess.getChartLineAccess().getCursorCursorKeyword_2_3_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLineRule()); |
| } |
| setWithLastConsumed($current, "cursor", true, "cursor"); |
| } |
| ) |
| ) |
| ( |
| ( |
| lv_zoom_7_0='zoom' |
| { |
| newLeafNode(lv_zoom_7_0, grammarAccess.getChartLineAccess().getZoomZoomKeyword_2_3_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLineRule()); |
| } |
| setWithLastConsumed($current, "zoom", true, "zoom"); |
| } |
| ) |
| )? |
| ( |
| ( |
| lv_tooltip_8_0='tooltip' |
| { |
| newLeafNode(lv_tooltip_8_0, grammarAccess.getChartLineAccess().getTooltipTooltipKeyword_2_3_2_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLineRule()); |
| } |
| setWithLastConsumed($current, "tooltip", true, "tooltip"); |
| } |
| ) |
| )? |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 4)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 4); |
| } |
| ({true}?=>(( |
| lv_fillToZero_9_0='fillZero' |
| { |
| newLeafNode(lv_fillToZero_9_0, grammarAccess.getChartLineAccess().getFillToZeroFillZeroKeyword_2_4_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLineRule()); |
| } |
| setWithLastConsumed($current, "fillToZero", true, "fillZero"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 5)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), 5); |
| } |
| ({true}?=>(( |
| lv_fillArea_10_0='filled' |
| { |
| newLeafNode(lv_fillArea_10_0, grammarAccess.getChartLineAccess().getFillAreaFilledKeyword_2_5_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLineRule()); |
| } |
| setWithLastConsumed($current, "fillArea", true, "filled"); |
| } |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); |
| } |
| ) |
| ) |
| )* |
| ) |
| ) |
| { |
| getUnorderedGroupHelper().leave(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); |
| } |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleChartPie |
| entryRuleChartPie returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartPieRule()); } |
| iv_ruleChartPie=ruleChartPie |
| { $current=$iv_ruleChartPie.current; } |
| EOF; |
| |
| // Rule ChartPie |
| ruleChartPie returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartPieAccess().getChartPieAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='pie' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartPieAccess().getPieKeyword_1()); |
| } |
| ( |
| ( |
| lv_empty_2_0='empty' |
| { |
| newLeafNode(lv_empty_2_0, grammarAccess.getChartPieAccess().getEmptyEmptyKeyword_2_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartPieRule()); |
| } |
| setWithLastConsumed($current, "empty", true, "empty"); |
| } |
| ) |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleChartDonut |
| entryRuleChartDonut returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartDonutRule()); } |
| iv_ruleChartDonut=ruleChartDonut |
| { $current=$iv_ruleChartDonut.current; } |
| EOF; |
| |
| // Rule ChartDonut |
| ruleChartDonut returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartDonutAccess().getChartDonutAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='donut' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartDonutAccess().getDonutKeyword_1()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleChartBubble |
| entryRuleChartBubble returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartBubbleRule()); } |
| iv_ruleChartBubble=ruleChartBubble |
| { $current=$iv_ruleChartBubble.current; } |
| EOF; |
| |
| // Rule ChartBubble |
| ruleChartBubble returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartBubbleAccess().getChartBubbleAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='bubble' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartBubbleAccess().getBubbleKeyword_1()); |
| } |
| ( |
| ( |
| { |
| getUnorderedGroupHelper().enter(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2()); |
| } |
| ( |
| ( |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 0)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 0); |
| } |
| ({true}?=>(( |
| ( |
| lv_multiplier_3_0='multiplier' |
| { |
| newLeafNode(lv_multiplier_3_0, grammarAccess.getChartBubbleAccess().getMultiplierMultiplierKeyword_2_0_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartBubbleRule()); |
| } |
| setWithLastConsumed($current, "multiplier", true, "multiplier"); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartBubbleAccess().getMultiplierValueNumberParserRuleCall_2_0_1_0()); |
| } |
| lv_multiplierValue_4_0=ruleNumber |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartBubbleRule()); |
| } |
| set( |
| $current, |
| "multiplierValue", |
| lv_multiplierValue_4_0, |
| "org.eclipse.xtext.xbase.Xbase.Number"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 1)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 1); |
| } |
| ({true}?=>(( |
| ( |
| lv_gradient_5_0='gradient' |
| { |
| newLeafNode(lv_gradient_5_0, grammarAccess.getChartBubbleAccess().getGradientGradientKeyword_2_1_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartBubbleRule()); |
| } |
| setWithLastConsumed($current, "gradient", true, "gradient"); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| lv_transparent_6_0='transparent' |
| { |
| newLeafNode(lv_transparent_6_0, grammarAccess.getChartBubbleAccess().getTransparentTransparentKeyword_2_1_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartBubbleRule()); |
| } |
| setWithLastConsumed($current, "transparent", true, "transparent"); |
| } |
| ) |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2()); |
| } |
| ) |
| ) |
| )+ |
| {getUnorderedGroupHelper().canLeave(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2())}? |
| ) |
| ) |
| { |
| getUnorderedGroupHelper().leave(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2()); |
| } |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleChartGauge |
| entryRuleChartGauge returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartGaugeRule()); } |
| iv_ruleChartGauge=ruleChartGauge |
| { $current=$iv_ruleChartGauge.current; } |
| EOF; |
| |
| // Rule ChartGauge |
| ruleChartGauge returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartGaugeAccess().getChartGaugeAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='gauge' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartGaugeAccess().getGaugeKeyword_1()); |
| } |
| ( |
| ( |
| { |
| getUnorderedGroupHelper().enter(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2()); |
| } |
| ( |
| ( |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2(), 0)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2(), 0); |
| } |
| ({true}?=>(( |
| ( |
| lv_labeled_3_0='label' |
| { |
| newLeafNode(lv_labeled_3_0, grammarAccess.getChartGaugeAccess().getLabeledLabelKeyword_2_0_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartGaugeRule()); |
| } |
| setWithLastConsumed($current, "labeled", true, "label"); |
| } |
| ) |
| ) |
| ( |
| ( |
| lv_labelValue_4_0=RULE_STRING |
| { |
| newLeafNode(lv_labelValue_4_0, grammarAccess.getChartGaugeAccess().getLabelValueSTRINGTerminalRuleCall_2_0_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartGaugeRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "labelValue", |
| lv_labelValue_4_0, |
| "org.eclipse.xtext.xbase.Xtype.STRING"); |
| } |
| ) |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2(), 1)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2(), 1); |
| } |
| ({true}?=>(( |
| ( |
| lv_hasTicks_5_0='hasTicks' |
| { |
| newLeafNode(lv_hasTicks_5_0, grammarAccess.getChartGaugeAccess().getHasTicksHasTicksKeyword_2_1_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartGaugeRule()); |
| } |
| setWithLastConsumed($current, "hasTicks", true, "hasTicks"); |
| } |
| ) |
| ) |
| otherlv_6='minimum' |
| { |
| newLeafNode(otherlv_6, grammarAccess.getChartGaugeAccess().getMinimumKeyword_2_1_1()); |
| } |
| ( |
| ( |
| lv_minValue_7_0=RULE_INT |
| { |
| newLeafNode(lv_minValue_7_0, grammarAccess.getChartGaugeAccess().getMinValueINTTerminalRuleCall_2_1_2_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartGaugeRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "minValue", |
| lv_minValue_7_0, |
| "org.eclipse.xtext.xbase.Xbase.INT"); |
| } |
| ) |
| ) |
| otherlv_8='maximum' |
| { |
| newLeafNode(otherlv_8, grammarAccess.getChartGaugeAccess().getMaximumKeyword_2_1_3()); |
| } |
| ( |
| ( |
| lv_maxValue_9_0=RULE_INT |
| { |
| newLeafNode(lv_maxValue_9_0, grammarAccess.getChartGaugeAccess().getMaxValueINTTerminalRuleCall_2_1_4_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartGaugeRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "maxValue", |
| lv_maxValue_9_0, |
| "org.eclipse.xtext.xbase.Xbase.INT"); |
| } |
| ) |
| ) |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2()); |
| } |
| ) |
| )| |
| ( |
| {getUnorderedGroupHelper().canSelect(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2(), 2)}?=>( |
| { |
| getUnorderedGroupHelper().select(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2(), 2); |
| } |
| ({true}?=>(( |
| ( |
| lv_hasIntervals_10_0='intervals' |
| { |
| newLeafNode(lv_hasIntervals_10_0, grammarAccess.getChartGaugeAccess().getHasIntervalsIntervalsKeyword_2_2_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartGaugeRule()); |
| } |
| setWithLastConsumed($current, "hasIntervals", true, "intervals"); |
| } |
| ) |
| ) |
| otherlv_11='{' |
| { |
| newLeafNode(otherlv_11, grammarAccess.getChartGaugeAccess().getLeftCurlyBracketKeyword_2_2_1()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartGaugeAccess().getIntervalsChartIntervalParserRuleCall_2_2_2_0()); |
| } |
| lv_intervals_12_0=ruleChartInterval |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartGaugeRule()); |
| } |
| add( |
| $current, |
| "intervals", |
| lv_intervals_12_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.ChartInterval"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )* |
| otherlv_13='}' |
| { |
| newLeafNode(otherlv_13, grammarAccess.getChartGaugeAccess().getRightCurlyBracketKeyword_2_2_3()); |
| } |
| )) |
| { |
| getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2()); |
| } |
| ) |
| ) |
| )* |
| ) |
| ) |
| { |
| getUnorderedGroupHelper().leave(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2()); |
| } |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleChartTree |
| entryRuleChartTree returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartTreeRule()); } |
| iv_ruleChartTree=ruleChartTree |
| { $current=$iv_ruleChartTree.current; } |
| EOF; |
| |
| // Rule ChartTree |
| ruleChartTree returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartTreeAccess().getChartTreeAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='tree' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartTreeAccess().getTreeKeyword_1()); |
| } |
| ( |
| ( |
| ( |
| lv_map_2_0='map' |
| { |
| newLeafNode(lv_map_2_0, grammarAccess.getChartTreeAccess().getMapMapKeyword_2_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartTreeRule()); |
| } |
| setWithLastConsumed($current, "map", true, "map"); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| lv_collapsible_3_0='collapsible' |
| { |
| newLeafNode(lv_collapsible_3_0, grammarAccess.getChartTreeAccess().getCollapsibleCollapsibleKeyword_2_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartTreeRule()); |
| } |
| setWithLastConsumed($current, "collapsible", true, "collapsible"); |
| } |
| ) |
| ) |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleChartInterval |
| entryRuleChartInterval returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartIntervalRule()); } |
| iv_ruleChartInterval=ruleChartInterval |
| { $current=$iv_ruleChartInterval.current; } |
| EOF; |
| |
| // Rule ChartInterval |
| ruleChartInterval returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| { |
| newCompositeNode(grammarAccess.getChartIntervalAccess().getChartNumberIntervalParserRuleCall()); |
| } |
| this_ChartNumberInterval_0=ruleChartNumberInterval |
| { |
| $current = $this_ChartNumberInterval_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ; |
| |
| // Entry rule entryRuleChartNumberInterval |
| entryRuleChartNumberInterval returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartNumberIntervalRule()); } |
| iv_ruleChartNumberInterval=ruleChartNumberInterval |
| { $current=$iv_ruleChartNumberInterval.current; } |
| EOF; |
| |
| // Rule ChartNumberInterval |
| ruleChartNumberInterval returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getChartNumberIntervalAccess().getChartNumberIntervalAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='upTo' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartNumberIntervalAccess().getUpToKeyword_1()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartNumberIntervalAccess().getNumberIntervalValueSignedNumberParserRuleCall_2_0()); |
| } |
| lv_numberIntervalValue_2_0=ruleSignedNumber |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartNumberIntervalRule()); |
| } |
| set( |
| $current, |
| "numberIntervalValue", |
| lv_numberIntervalValue_2_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.SignedNumber"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartNumberIntervalAccess().getNumberRangeChartRangeElementParserRuleCall_3_0()); |
| } |
| lv_numberRange_3_0=ruleChartRangeElement |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartNumberIntervalRule()); |
| } |
| set( |
| $current, |
| "numberRange", |
| lv_numberRange_3_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.ChartRangeElement"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleChartDatamart |
| entryRuleChartDatamart returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartDatamartRule()); } |
| iv_ruleChartDatamart=ruleChartDatamart |
| { $current=$iv_ruleChartDatamart.current; } |
| EOF; |
| |
| // Rule ChartDatamart |
| ruleChartDatamart returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='datamart' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getChartDatamartAccess().getDatamartKeyword_0()); |
| } |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartDatamartRule()); |
| } |
| } |
| otherlv_1=RULE_ID |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartDatamartAccess().getDatamartRefDatamartDefinitionCrossReference_1_0()); |
| } |
| ) |
| ) |
| otherlv_2='{' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getChartDatamartAccess().getLeftCurlyBracketKeyword_2()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartDatamartAccess().getElementsChartElementParserRuleCall_3_0()); |
| } |
| lv_elements_3_0=ruleChartElement |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartDatamartRule()); |
| } |
| add( |
| $current, |
| "elements", |
| lv_elements_3_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.ChartElement"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| )* |
| otherlv_4='}' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getChartDatamartAccess().getRightCurlyBracketKeyword_4()); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleChartElement |
| entryRuleChartElement returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartElementRule()); } |
| iv_ruleChartElement=ruleChartElement |
| { $current=$iv_ruleChartElement.current; } |
| EOF; |
| |
| // Rule ChartElement |
| ruleChartElement returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartElementAccess().getChartAxisParserRuleCall_0()); |
| } |
| this_ChartAxis_0=ruleChartAxis |
| { |
| $current = $this_ChartAxis_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getChartElementAccess().getChartLegendParserRuleCall_1()); |
| } |
| this_ChartLegend_1=ruleChartLegend |
| { |
| $current = $this_ChartLegend_1.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getChartElementAccess().getChartHighlighterParserRuleCall_2()); |
| } |
| this_ChartHighlighter_2=ruleChartHighlighter |
| { |
| $current = $this_ChartHighlighter_2.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleChartLegend |
| entryRuleChartLegend returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartLegendRule()); } |
| iv_ruleChartLegend=ruleChartLegend |
| { $current=$iv_ruleChartLegend.current; } |
| EOF; |
| |
| // Rule ChartLegend |
| ruleChartLegend returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='legend' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getChartLegendAccess().getLegendKeyword_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartLegendAccess().getPlacementLegendPlacementEnumEnumRuleCall_1_0()); |
| } |
| lv_placement_1_0=ruleLegendPlacementEnum |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartLegendRule()); |
| } |
| set( |
| $current, |
| "placement", |
| lv_placement_1_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.LegendPlacementEnum"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| ( |
| lv_toggle_2_0='toggle' |
| { |
| newLeafNode(lv_toggle_2_0, grammarAccess.getChartLegendAccess().getToggleToggleKeyword_2_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLegendRule()); |
| } |
| setWithLastConsumed($current, "toggle", true, "toggle"); |
| } |
| ) |
| ) |
| ( |
| ( |
| lv_replot_3_0='replot' |
| { |
| newLeafNode(lv_replot_3_0, grammarAccess.getChartLegendAccess().getReplotReplotKeyword_2_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartLegendRule()); |
| } |
| setWithLastConsumed($current, "replot", true, "replot"); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartLegendAccess().getToggleTypeToggleTypeEnumEnumRuleCall_2_2_0()); |
| } |
| lv_toggleType_4_0=ruleToggleTypeEnum |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartLegendRule()); |
| } |
| set( |
| $current, |
| "toggleType", |
| lv_toggleType_4_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.ToggleTypeEnum"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleChartHighlighter |
| entryRuleChartHighlighter returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartHighlighterRule()); } |
| iv_ruleChartHighlighter=ruleChartHighlighter |
| { $current=$iv_ruleChartHighlighter.current; } |
| EOF; |
| |
| // Rule ChartHighlighter |
| ruleChartHighlighter returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='tooltip' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getChartHighlighterAccess().getTooltipKeyword_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartHighlighterAccess().getLocationTooltipLocationEnumEnumRuleCall_1_0()); |
| } |
| lv_location_1_0=ruleTooltipLocationEnum |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartHighlighterRule()); |
| } |
| set( |
| $current, |
| "location", |
| lv_location_1_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.TooltipLocationEnum"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| ( |
| lv_tooltipAlways_2_0='always' |
| { |
| newLeafNode(lv_tooltipAlways_2_0, grammarAccess.getChartHighlighterAccess().getTooltipAlwaysAlwaysKeyword_2_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartHighlighterRule()); |
| } |
| setWithLastConsumed($current, "tooltipAlways", true, "always"); |
| } |
| ) |
| )? |
| ( |
| ( |
| lv_insideChart_3_0='inside' |
| { |
| newLeafNode(lv_insideChart_3_0, grammarAccess.getChartHighlighterAccess().getInsideChartInsideKeyword_2_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartHighlighterRule()); |
| } |
| setWithLastConsumed($current, "insideChart", true, "inside"); |
| } |
| ) |
| )? |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleChartAxis |
| entryRuleChartAxis returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartAxisRule()); } |
| iv_ruleChartAxis=ruleChartAxis |
| { $current=$iv_ruleChartAxis.current; } |
| EOF; |
| |
| // Rule ChartAxis |
| ruleChartAxis returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='axis' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getChartAxisAccess().getAxisKeyword_0()); |
| } |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartAxisRule()); |
| } |
| } |
| otherlv_1=RULE_ID |
| { |
| newLeafNode(otherlv_1, grammarAccess.getChartAxisAccess().getAxisDatamartAxisCrossReference_1_0()); |
| } |
| ) |
| ) |
| otherlv_2='renders' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getChartAxisAccess().getRendersKeyword_2()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartAxisAccess().getRenderTypeRenderTypeEnumEnumRuleCall_3_0()); |
| } |
| lv_renderType_3_0=ruleRenderTypeEnum |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartAxisRule()); |
| } |
| set( |
| $current, |
| "renderType", |
| lv_renderType_3_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.RenderTypeEnum"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| lv_shortLabel_4_0='shortLabel' |
| { |
| newLeafNode(lv_shortLabel_4_0, grammarAccess.getChartAxisAccess().getShortLabelShortLabelKeyword_4_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartAxisRule()); |
| } |
| setWithLastConsumed($current, "shortLabel", true, "shortLabel"); |
| } |
| ) |
| )? |
| ( |
| otherlv_5='angle' |
| { |
| newLeafNode(otherlv_5, grammarAccess.getChartAxisAccess().getAngleKeyword_5_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getChartAxisAccess().getAngleSignedNumberParserRuleCall_5_1_0()); |
| } |
| lv_angle_6_0=ruleSignedNumber |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getChartAxisRule()); |
| } |
| set( |
| $current, |
| "angle", |
| lv_angle_6_0, |
| "org.eclipse.osbp.xtext.chart.ChartDSL.SignedNumber"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleChartRangeElement |
| entryRuleChartRangeElement returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartRangeElementRule()); } |
| iv_ruleChartRangeElement=ruleChartRangeElement |
| { $current=$iv_ruleChartRangeElement.current; } |
| EOF; |
| |
| // Rule ChartRangeElement |
| ruleChartRangeElement returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| { |
| newCompositeNode(grammarAccess.getChartRangeElementAccess().getChartSegmentColorParserRuleCall()); |
| } |
| this_ChartSegmentColor_0=ruleChartSegmentColor |
| { |
| $current = $this_ChartSegmentColor_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ; |
| |
| // Entry rule entryRuleChartSegmentColor |
| entryRuleChartSegmentColor returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getChartSegmentColorRule()); } |
| iv_ruleChartSegmentColor=ruleChartSegmentColor |
| { $current=$iv_ruleChartSegmentColor.current; } |
| EOF; |
| |
| // Rule ChartSegmentColor |
| ruleChartSegmentColor returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| otherlv_0='segmentcolor' |
| { |
| newLeafNode(otherlv_0, grammarAccess.getChartSegmentColorAccess().getSegmentcolorKeyword_0()); |
| } |
| ( |
| ( |
| lv_rgb_1_0=RULE_STRING |
| { |
| newLeafNode(lv_rgb_1_0, grammarAccess.getChartSegmentColorAccess().getRgbSTRINGTerminalRuleCall_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getChartSegmentColorRule()); |
| } |
| setWithLastConsumed( |
| $current, |
| "rgb", |
| lv_rgb_1_0, |
| "org.eclipse.xtext.xbase.Xtype.STRING"); |
| } |
| ) |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleSignedNumber |
| entryRuleSignedNumber returns [String current=null]: |
| { newCompositeNode(grammarAccess.getSignedNumberRule()); } |
| iv_ruleSignedNumber=ruleSignedNumber |
| { $current=$iv_ruleSignedNumber.current.getText(); } |
| EOF; |
| |
| // Rule SignedNumber |
| ruleSignedNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| kw='-' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getSignedNumberAccess().getHyphenMinusKeyword_0()); |
| } |
| )? |
| this_INT_1=RULE_INT |
| { |
| $current.merge(this_INT_1); |
| } |
| { |
| newLeafNode(this_INT_1, grammarAccess.getSignedNumberAccess().getINTTerminalRuleCall_1()); |
| } |
| )? |
| ; |
| |
| // Entry rule entryRuleTRANSLATABLESTRING |
| entryRuleTRANSLATABLESTRING returns [String current=null]: |
| { newCompositeNode(grammarAccess.getTRANSLATABLESTRINGRule()); } |
| iv_ruleTRANSLATABLESTRING=ruleTRANSLATABLESTRING |
| { $current=$iv_ruleTRANSLATABLESTRING.current.getText(); } |
| EOF; |
| |
| // Rule TRANSLATABLESTRING |
| ruleTRANSLATABLESTRING returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| this_STRING_0=RULE_STRING |
| { |
| $current.merge(this_STRING_0); |
| } |
| { |
| newLeafNode(this_STRING_0, grammarAccess.getTRANSLATABLESTRINGAccess().getSTRINGTerminalRuleCall()); |
| } |
| ; |
| |
| // Entry rule entryRuleTRANSLATABLEID |
| entryRuleTRANSLATABLEID returns [String current=null]: |
| { newCompositeNode(grammarAccess.getTRANSLATABLEIDRule()); } |
| iv_ruleTRANSLATABLEID=ruleTRANSLATABLEID |
| { $current=$iv_ruleTRANSLATABLEID.current.getText(); } |
| EOF; |
| |
| // Rule TRANSLATABLEID |
| ruleTRANSLATABLEID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| this_ID_0=RULE_ID |
| { |
| $current.merge(this_ID_0); |
| } |
| { |
| newLeafNode(this_ID_0, grammarAccess.getTRANSLATABLEIDAccess().getIDTerminalRuleCall()); |
| } |
| ; |
| |
| // Entry rule entryRuleXImportDeclaration |
| entryRuleXImportDeclaration returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXImportDeclarationRule()); } |
| iv_ruleXImportDeclaration=ruleXImportDeclaration |
| { $current=$iv_ruleXImportDeclaration.current; } |
| EOF; |
| |
| // Rule XImportDeclaration |
| ruleXImportDeclaration returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getXImportDeclarationAccess().getOXImportDeclarationAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='import' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getXImportDeclarationAccess().getImportKeyword_1()); |
| } |
| ( |
| ( |
| ( |
| ( |
| lv_static_2_0='static' |
| { |
| newLeafNode(lv_static_2_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_2_0_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXImportDeclarationRule()); |
| } |
| setWithLastConsumed($current, "static", true, "static"); |
| } |
| ) |
| ) |
| ( |
| ( |
| lv_extension_3_0='extension' |
| { |
| newLeafNode(lv_extension_3_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_2_0_1_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXImportDeclarationRule()); |
| } |
| setWithLastConsumed($current, "extension", true, "extension"); |
| } |
| ) |
| )? |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXImportDeclarationRule()); |
| } |
| } |
| { |
| newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_0_2_0()); |
| } |
| ruleQualifiedNameInStaticImport |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| ( |
| lv_wildcard_5_0='*' |
| { |
| newLeafNode(lv_wildcard_5_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_2_0_3_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXImportDeclarationRule()); |
| } |
| setWithLastConsumed($current, "wildcard", true, "*"); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_2_0_3_1_0()); |
| } |
| lv_memberName_6_0=ruleValidID |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); |
| } |
| set( |
| $current, |
| "memberName", |
| lv_memberName_6_0, |
| "org.eclipse.xtext.xbase.Xtype.ValidID"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ) |
| | |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXImportDeclarationRule()); |
| } |
| } |
| { |
| newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_1_0()); |
| } |
| ruleQualifiedName |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_2_2_0()); |
| } |
| lv_importedNamespace_8_0=ruleQualifiedNameWithWildcard |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); |
| } |
| set( |
| $current, |
| "importedNamespace", |
| lv_importedNamespace_8_0, |
| "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| | |
| ( |
| ( |
| ( |
| lv_fqnImport_9_0='ns' |
| { |
| newLeafNode(lv_fqnImport_9_0, grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0()); |
| } |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXImportDeclarationRule()); |
| } |
| setWithLastConsumed($current, "fqnImport", true, "ns"); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameQualifiedNameParserRuleCall_2_3_1_0()); |
| } |
| lv_importedFullyQualifiedName_10_0=ruleQualifiedName |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); |
| } |
| set( |
| $current, |
| "importedFullyQualifiedName", |
| lv_importedFullyQualifiedName_10_0, |
| "org.eclipse.xtext.xbase.Xbase.QualifiedName"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ) |
| ( |
| otherlv_11=';' |
| { |
| newLeafNode(otherlv_11, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_3()); |
| } |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleXAnnotation |
| entryRuleXAnnotation returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXAnnotationRule()); } |
| iv_ruleXAnnotation=ruleXAnnotation |
| { $current=$iv_ruleXAnnotation.current; } |
| EOF; |
| |
| // Rule XAnnotation |
| ruleXAnnotation returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getXAnnotationAccess().getXAnnotationAction_0(), |
| $current); |
| } |
| ) |
| otherlv_1='@' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); |
| } |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXAnnotationRule()); |
| } |
| } |
| { |
| newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0()); |
| } |
| ruleQualifiedName |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| ( |
| ('(')=> |
| otherlv_3='(' |
| { |
| newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()); |
| } |
| ) |
| ( |
| ( |
| ( |
| (( |
| ( |
| ( |
| ruleValidID |
| ) |
| ) |
| '=' |
| ) |
| )=> |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0()); |
| } |
| lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationRule()); |
| } |
| add( |
| $current, |
| "elementValuePairs", |
| lv_elementValuePairs_4_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValuePair"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_5=',' |
| { |
| newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); |
| } |
| ( |
| (( |
| ( |
| ( |
| ruleValidID |
| ) |
| ) |
| '=' |
| ) |
| )=> |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0()); |
| } |
| lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationRule()); |
| } |
| add( |
| $current, |
| "elementValuePairs", |
| lv_elementValuePairs_6_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValuePair"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| ) |
| | |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0()); |
| } |
| lv_value_7_0=ruleXAnnotationElementValueOrCommaList |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationRule()); |
| } |
| set( |
| $current, |
| "value", |
| lv_value_7_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValueOrCommaList"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| otherlv_8=')' |
| { |
| newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); |
| } |
| )? |
| ) |
| ; |
| |
| // Entry rule entryRuleXAnnotationElementValuePair |
| entryRuleXAnnotationElementValuePair returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule()); } |
| iv_ruleXAnnotationElementValuePair=ruleXAnnotationElementValuePair |
| { $current=$iv_ruleXAnnotationElementValuePair.current; } |
| EOF; |
| |
| // Rule XAnnotationElementValuePair |
| ruleXAnnotationElementValuePair returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| (( |
| ( |
| ( |
| ruleValidID |
| ) |
| ) |
| '=' |
| ) |
| )=> |
| ( |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXAnnotationElementValuePairRule()); |
| } |
| } |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0()); |
| } |
| ruleValidID |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| otherlv_1='=' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1()); |
| } |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0()); |
| } |
| lv_value_2_0=ruleXAnnotationElementValue |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationElementValuePairRule()); |
| } |
| set( |
| $current, |
| "value", |
| lv_value_2_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValue"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleXAnnotationElementValueOrCommaList |
| entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule()); } |
| iv_ruleXAnnotationElementValueOrCommaList=ruleXAnnotationElementValueOrCommaList |
| { $current=$iv_ruleXAnnotationElementValueOrCommaList.current; } |
| EOF; |
| |
| // Rule XAnnotationElementValueOrCommaList |
| ruleXAnnotationElementValueOrCommaList returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| (( |
| ( |
| ) |
| '#' |
| '[' |
| ) |
| )=> |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0(), |
| $current); |
| } |
| ) |
| otherlv_1='#' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); |
| } |
| otherlv_2='[' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); |
| } |
| ) |
| ) |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); |
| } |
| lv_elements_3_0=ruleXAnnotationOrExpression |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule()); |
| } |
| add( |
| $current, |
| "elements", |
| lv_elements_3_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_4=',' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); |
| } |
| lv_elements_5_0=ruleXAnnotationOrExpression |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule()); |
| } |
| add( |
| $current, |
| "elements", |
| lv_elements_5_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| )? |
| otherlv_6=']' |
| { |
| newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); |
| } |
| ) |
| | |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0()); |
| } |
| this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression |
| { |
| $current = $this_XAnnotationOrExpression_7.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ( |
| ( |
| { |
| $current = forceCreateModelElementAndAdd( |
| grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0(), |
| $current); |
| } |
| ) |
| ( |
| otherlv_9=',' |
| { |
| newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0()); |
| } |
| lv_elements_10_0=ruleXAnnotationOrExpression |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule()); |
| } |
| add( |
| $current, |
| "elements", |
| lv_elements_10_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )+ |
| )? |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleXAnnotationElementValue |
| entryRuleXAnnotationElementValue returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXAnnotationElementValueRule()); } |
| iv_ruleXAnnotationElementValue=ruleXAnnotationElementValue |
| { $current=$iv_ruleXAnnotationElementValue.current; } |
| EOF; |
| |
| // Rule XAnnotationElementValue |
| ruleXAnnotationElementValue returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| (( |
| ( |
| ) |
| '#' |
| '[' |
| ) |
| )=> |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0(), |
| $current); |
| } |
| ) |
| otherlv_1='#' |
| { |
| newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); |
| } |
| otherlv_2='[' |
| { |
| newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); |
| } |
| ) |
| ) |
| ( |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); |
| } |
| lv_elements_3_0=ruleXAnnotationOrExpression |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule()); |
| } |
| add( |
| $current, |
| "elements", |
| lv_elements_3_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ( |
| otherlv_4=',' |
| { |
| newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); |
| } |
| lv_elements_5_0=ruleXAnnotationOrExpression |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule()); |
| } |
| add( |
| $current, |
| "elements", |
| lv_elements_5_0, |
| "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| )? |
| otherlv_6=']' |
| { |
| newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); |
| } |
| ) |
| | |
| { |
| newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); |
| } |
| this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression |
| { |
| $current = $this_XAnnotationOrExpression_7.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleXAnnotationOrExpression |
| entryRuleXAnnotationOrExpression returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule()); } |
| iv_ruleXAnnotationOrExpression=ruleXAnnotationOrExpression |
| { $current=$iv_ruleXAnnotationOrExpression.current; } |
| EOF; |
| |
| // Rule XAnnotationOrExpression |
| ruleXAnnotationOrExpression returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); |
| } |
| this_XAnnotation_0=ruleXAnnotation |
| { |
| $current = $this_XAnnotation_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| | |
| { |
| newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); |
| } |
| this_XExpression_1=ruleXExpression |
| { |
| $current = $this_XExpression_1.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ; |
| |
| // Entry rule entryRuleXExpression |
| entryRuleXExpression returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXExpressionRule()); } |
| iv_ruleXExpression=ruleXExpression |
| { $current=$iv_ruleXExpression.current; } |
| EOF; |
| |
| // Rule XExpression |
| ruleXExpression returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| { |
| newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); |
| } |
| this_XAssignment_0=ruleXAssignment |
| { |
| $current = $this_XAssignment_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ; |
| |
| // Entry rule entryRuleXAssignment |
| entryRuleXAssignment returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXAssignmentRule()); } |
| iv_ruleXAssignment=ruleXAssignment |
| { $current=$iv_ruleXAssignment.current; } |
| EOF; |
| |
| // Rule XAssignment |
| ruleXAssignment returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| ( |
| ( |
| { |
| $current = forceCreateModelElement( |
| grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), |
| $current); |
| } |
| ) |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXAssignmentRule()); |
| } |
| } |
| { |
| newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); |
| } |
| ruleFeatureCallID |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| { |
| newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); |
| } |
| ruleOpSingleAssign |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); |
| } |
| lv_value_3_0=ruleXAssignment |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAssignmentRule()); |
| } |
| set( |
| $current, |
| "value", |
| lv_value_3_0, |
| "org.eclipse.xtext.xbase.Xbase.XAssignment"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| | |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); |
| } |
| this_XOrExpression_4=ruleXOrExpression |
| { |
| $current = $this_XOrExpression_4.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ( |
| ( |
| (( |
| ( |
| ) |
| ( |
| ( |
| ruleOpMultiAssign |
| ) |
| ) |
| ) |
| )=> |
| ( |
| ( |
| { |
| $current = forceCreateModelElementAndSet( |
| grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), |
| $current); |
| } |
| ) |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXAssignmentRule()); |
| } |
| } |
| { |
| newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); |
| } |
| ruleOpMultiAssign |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); |
| } |
| lv_rightOperand_7_0=ruleXAssignment |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXAssignmentRule()); |
| } |
| set( |
| $current, |
| "rightOperand", |
| lv_rightOperand_7_0, |
| "org.eclipse.xtext.xbase.Xbase.XAssignment"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )? |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleOpSingleAssign |
| entryRuleOpSingleAssign returns [String current=null]: |
| { newCompositeNode(grammarAccess.getOpSingleAssignRule()); } |
| iv_ruleOpSingleAssign=ruleOpSingleAssign |
| { $current=$iv_ruleOpSingleAssign.current.getText(); } |
| EOF; |
| |
| // Rule OpSingleAssign |
| ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| kw='=' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); |
| } |
| ; |
| |
| // Entry rule entryRuleOpMultiAssign |
| entryRuleOpMultiAssign returns [String current=null]: |
| { newCompositeNode(grammarAccess.getOpMultiAssignRule()); } |
| iv_ruleOpMultiAssign=ruleOpMultiAssign |
| { $current=$iv_ruleOpMultiAssign.current.getText(); } |
| EOF; |
| |
| // Rule OpMultiAssign |
| ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| kw='+=' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); |
| } |
| | |
| kw='-=' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); |
| } |
| | |
| kw='*=' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); |
| } |
| | |
| kw='/=' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); |
| } |
| | |
| kw='%=' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); |
| } |
| | |
| ( |
| kw='<' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); |
| } |
| kw='<' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); |
| } |
| kw='=' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); |
| } |
| ) |
| | |
| ( |
| kw='>' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); |
| } |
| ( |
| kw='>' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); |
| } |
| )? |
| kw='>=' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); |
| } |
| ) |
| ) |
| ; |
| |
| // Entry rule entryRuleXOrExpression |
| entryRuleXOrExpression returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXOrExpressionRule()); } |
| iv_ruleXOrExpression=ruleXOrExpression |
| { $current=$iv_ruleXOrExpression.current; } |
| EOF; |
| |
| // Rule XOrExpression |
| ruleXOrExpression returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); |
| } |
| this_XAndExpression_0=ruleXAndExpression |
| { |
| $current = $this_XAndExpression_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ( |
| ( |
| (( |
| ( |
| ) |
| ( |
| ( |
| ruleOpOr |
| ) |
| ) |
| ) |
| )=> |
| ( |
| ( |
| { |
| $current = forceCreateModelElementAndSet( |
| grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), |
| $current); |
| } |
| ) |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXOrExpressionRule()); |
| } |
| } |
| { |
| newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); |
| } |
| ruleOpOr |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); |
| } |
| lv_rightOperand_3_0=ruleXAndExpression |
| { |
| if ($current==null) { |
| $current = createModelElementForParent(grammarAccess.getXOrExpressionRule()); |
| } |
| set( |
| $current, |
| "rightOperand", |
| lv_rightOperand_3_0, |
| "org.eclipse.xtext.xbase.Xbase.XAndExpression"); |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| )* |
| ) |
| ; |
| |
| // Entry rule entryRuleOpOr |
| entryRuleOpOr returns [String current=null]: |
| { newCompositeNode(grammarAccess.getOpOrRule()); } |
| iv_ruleOpOr=ruleOpOr |
| { $current=$iv_ruleOpOr.current.getText(); } |
| EOF; |
| |
| // Rule OpOr |
| ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| kw='||' |
| { |
| $current.merge(kw); |
| newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); |
| } |
| ; |
| |
| // Entry rule entryRuleXAndExpression |
| entryRuleXAndExpression returns [EObject current=null]: |
| { newCompositeNode(grammarAccess.getXAndExpressionRule()); } |
| iv_ruleXAndExpression=ruleXAndExpression |
| { $current=$iv_ruleXAndExpression.current; } |
| EOF; |
| |
| // Rule XAndExpression |
| ruleXAndExpression returns [EObject current=null] |
| @init { |
| enterRule(); |
| } |
| @after { |
| leaveRule(); |
| }: |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); |
| } |
| this_XEqualityExpression_0=ruleXEqualityExpression |
| { |
| $current = $this_XEqualityExpression_0.current; |
| afterParserOrEnumRuleCall(); |
| } |
| ( |
| ( |
| (( |
| ( |
| ) |
| ( |
| ( |
| ruleOpAnd |
| ) |
| ) |
| ) |
| )=> |
| ( |
| ( |
| { |
| $current = forceCreateModelElementAndSet( |
| grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), |
| $current); |
| } |
| ) |
| ( |
| ( |
| { |
| if ($current==null) { |
| $current = createModelElement(grammarAccess.getXAndExpressionRule()); |
| } |
| } |
| { |
| newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); |
| } |
| ruleOpAnd |
| { |
| afterParserOrEnumRuleCall(); |
| } |
| ) |
| ) |
| ) |
| ) |
| ( |
| ( |
| { |
| newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); |
| } |
| lv_rightOperand_3_0=ruleXEqualityExpression |
| { |
| if ($current==null) { |
|