aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-05-19 21:18:06 +0200
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-05-19 21:18:06 +0200
commitb3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b (patch)
treead3222182065b8fac7d9b3d528c4efabf2aa0dd2 /Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr
parentMerge branch 'master' of github.com:viatra/VIATRA-Generator (diff)
downloadVIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.tar.gz
VIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.tar.zst
VIATRA-Generator-b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b.zip
Config language WIP
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr')
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g1071
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java5598
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens147
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g46
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java1673
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens147
6 files changed, 5217 insertions, 3465 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
index 6cd0341f..8ec69aaa 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
@@ -144,20 +144,20 @@ ruleStatement returns [EObject current=null]
144 } 144 }
145 | 145 |
146 { 146 {
147 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); 147 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
148 } 148 }
149 this_ExternPredicateDefinition_4=ruleExternPredicateDefinition 149 this_MetricDefinition_4=ruleMetricDefinition
150 { 150 {
151 $current = $this_ExternPredicateDefinition_4.current; 151 $current = $this_MetricDefinition_4.current;
152 afterParserOrEnumRuleCall(); 152 afterParserOrEnumRuleCall();
153 } 153 }
154 | 154 |
155 { 155 {
156 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); 156 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
157 } 157 }
158 this_MetricDefinition_5=ruleMetricDefinition 158 this_ExternPredicateDefinition_5=ruleExternPredicateDefinition
159 { 159 {
160 $current = $this_MetricDefinition_5.current; 160 $current = $this_ExternPredicateDefinition_5.current;
161 afterParserOrEnumRuleCall(); 161 afterParserOrEnumRuleCall();
162 } 162 }
163 | 163 |
@@ -171,35 +171,53 @@ ruleStatement returns [EObject current=null]
171 } 171 }
172 | 172 |
173 { 173 {
174 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); 174 newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
175 } 175 }
176 this_ClassDefinition_7=ruleClassDefinition 176 this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition
177 { 177 {
178 $current = $this_ClassDefinition_7.current; 178 $current = $this_ExternAggregatorDefinition_7.current;
179 afterParserOrEnumRuleCall(); 179 afterParserOrEnumRuleCall();
180 } 180 }
181 | 181 |
182 { 182 {
183 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); 183 newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
184 } 184 }
185 this_ScopeDefinition_8=ruleScopeDefinition 185 this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition
186 { 186 {
187 $current = $this_ScopeDefinition_8.current; 187 $current = $this_ExternDatatypeDefinition_8.current;
188 afterParserOrEnumRuleCall(); 188 afterParserOrEnumRuleCall();
189 } 189 }
190 | 190 |
191 { 191 {
192 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); 192 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
193 } 193 }
194 this_ObjectiveDefinition_9=ruleObjectiveDefinition 194 this_ClassDefinition_9=ruleClassDefinition
195 { 195 {
196 $current = $this_ObjectiveDefinition_9.current; 196 $current = $this_ClassDefinition_9.current;
197 afterParserOrEnumRuleCall();
198 }
199 |
200 {
201 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10());
202 }
203 this_ScopeDefinition_10=ruleScopeDefinition
204 {
205 $current = $this_ScopeDefinition_10.current;
206 afterParserOrEnumRuleCall();
207 }
208 |
209 {
210 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11());
211 }
212 this_ObjectiveDefinition_11=ruleObjectiveDefinition
213 {
214 $current = $this_ObjectiveDefinition_11.current;
197 afterParserOrEnumRuleCall(); 215 afterParserOrEnumRuleCall();
198 } 216 }
199 ) 217 )
200 this_FULL_STOP_10=RULE_FULL_STOP 218 this_FULL_STOP_12=RULE_FULL_STOP
201 { 219 {
202 newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 220 newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1());
203 } 221 }
204 ) 222 )
205; 223;
@@ -233,35 +251,33 @@ ruleAssertionOrDefinition returns [EObject current=null]
233 ( 251 (
234 { 252 {
235 $current = forceCreateModelElementAndSet( 253 $current = forceCreateModelElementAndSet(
236 grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), 254 grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(),
237 $current); 255 $current);
238 } 256 }
239 ) 257 )
258 otherlv_2=Colon
259 {
260 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
261 }
240 ( 262 (
241 otherlv_2=Colon
242 {
243 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
244 }
245 ( 263 (
246 ( 264 {
247 { 265 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0());
248 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); 266 }
249 } 267 lv_range_3_0=ruleExpression
250 lv_range_3_0=ruleExpression 268 {
251 { 269 if ($current==null) {
252 if ($current==null) { 270 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
253 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
254 }
255 set(
256 $current,
257 "range",
258 lv_range_3_0,
259 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
260 afterParserOrEnumRuleCall();
261 } 271 }
262 ) 272 set(
273 $current,
274 "range",
275 lv_range_3_0,
276 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
277 afterParserOrEnumRuleCall();
278 }
263 ) 279 )
264 )? 280 )
265 ) 281 )
266 | 282 |
267 ( 283 (
@@ -329,7 +345,7 @@ ruleAssertionOrDefinition returns [EObject current=null]
329 ) 345 )
330 ) 346 )
331 ) 347 )
332 ) 348 )?
333 ) 349 )
334; 350;
335 351
@@ -587,6 +603,83 @@ ruleDefaultDefinition returns [EObject current=null]
587 ) 603 )
588; 604;
589 605
606// Entry rule entryRuleMetricDefinition
607entryRuleMetricDefinition returns [EObject current=null]:
608 { newCompositeNode(grammarAccess.getMetricDefinitionRule()); }
609 iv_ruleMetricDefinition=ruleMetricDefinition
610 { $current=$iv_ruleMetricDefinition.current; }
611 EOF;
612
613// Rule MetricDefinition
614ruleMetricDefinition returns [EObject current=null]
615@init {
616 enterRule();
617}
618@after {
619 leaveRule();
620}:
621 (
622 (
623 (
624 {
625 if ($current==null) {
626 $current = createModelElement(grammarAccess.getMetricDefinitionRule());
627 }
628 }
629 {
630 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0());
631 }
632 ruleQualifiedName
633 {
634 afterParserOrEnumRuleCall();
635 }
636 )
637 )
638 (
639 (
640 {
641 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0());
642 }
643 lv_head_1_0=ruleCall
644 {
645 if ($current==null) {
646 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
647 }
648 set(
649 $current,
650 "head",
651 lv_head_1_0,
652 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
653 afterParserOrEnumRuleCall();
654 }
655 )
656 )
657 otherlv_2=EqualsSign
658 {
659 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
660 }
661 (
662 (
663 {
664 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
665 }
666 lv_body_3_0=ruleExpression
667 {
668 if ($current==null) {
669 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
670 }
671 set(
672 $current,
673 "body",
674 lv_body_3_0,
675 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
676 afterParserOrEnumRuleCall();
677 }
678 )
679 )
680 )
681;
682
590// Entry rule entryRuleExternPredicateDefinition 683// Entry rule entryRuleExternPredicateDefinition
591entryRuleExternPredicateDefinition returns [EObject current=null]: 684entryRuleExternPredicateDefinition returns [EObject current=null]:
592 { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } 685 { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); }
@@ -610,18 +703,37 @@ ruleExternPredicateDefinition returns [EObject current=null]
610 ( 703 (
611 ( 704 (
612 { 705 {
613 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 706 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0());
614 } 707 }
615 lv_head_1_0=ruleCall 708 lv_name_1_0=ruleQualifiedName
616 { 709 {
617 if ($current==null) { 710 if ($current==null) {
618 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); 711 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
619 } 712 }
620 set( 713 set(
621 $current, 714 $current,
622 "head", 715 "name",
623 lv_head_1_0, 716 lv_name_1_0,
624 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 717 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
718 afterParserOrEnumRuleCall();
719 }
720 )
721 )
722 (
723 (
724 {
725 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0());
726 }
727 lv_argumentList_2_0=ruleArgumentList
728 {
729 if ($current==null) {
730 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
731 }
732 set(
733 $current,
734 "argumentList",
735 lv_argumentList_2_0,
736 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
625 afterParserOrEnumRuleCall(); 737 afterParserOrEnumRuleCall();
626 } 738 }
627 ) 739 )
@@ -629,15 +741,15 @@ ruleExternPredicateDefinition returns [EObject current=null]
629 ) 741 )
630; 742;
631 743
632// Entry rule entryRuleMetricDefinition 744// Entry rule entryRuleExternMetricDefinition
633entryRuleMetricDefinition returns [EObject current=null]: 745entryRuleExternMetricDefinition returns [EObject current=null]:
634 { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } 746 { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); }
635 iv_ruleMetricDefinition=ruleMetricDefinition 747 iv_ruleExternMetricDefinition=ruleExternMetricDefinition
636 { $current=$iv_ruleMetricDefinition.current; } 748 { $current=$iv_ruleExternMetricDefinition.current; }
637 EOF; 749 EOF;
638 750
639// Rule MetricDefinition 751// Rule ExternMetricDefinition
640ruleMetricDefinition returns [EObject current=null] 752ruleExternMetricDefinition returns [EObject current=null]
641@init { 753@init {
642 enterRule(); 754 enterRule();
643} 755}
@@ -645,21 +757,41 @@ ruleMetricDefinition returns [EObject current=null]
645 leaveRule(); 757 leaveRule();
646}: 758}:
647 ( 759 (
760 otherlv_0=Extern
761 {
762 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
763 }
648 ( 764 (
649 ( 765 (
650 { 766 {
651 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); 767 if ($current==null) {
768 $current = createModelElement(grammarAccess.getExternMetricDefinitionRule());
769 }
652 } 770 }
653 lv_type_0_0=ruleMetricType 771 {
772 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0());
773 }
774 ruleQualifiedName
775 {
776 afterParserOrEnumRuleCall();
777 }
778 )
779 )
780 (
781 (
782 {
783 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
784 }
785 lv_name_2_0=ruleQualifiedName
654 { 786 {
655 if ($current==null) { 787 if ($current==null) {
656 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 788 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
657 } 789 }
658 set( 790 set(
659 $current, 791 $current,
660 "type", 792 "name",
661 lv_type_0_0, 793 lv_name_2_0,
662 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 794 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
663 afterParserOrEnumRuleCall(); 795 afterParserOrEnumRuleCall();
664 } 796 }
665 ) 797 )
@@ -667,57 +799,120 @@ ruleMetricDefinition returns [EObject current=null]
667 ( 799 (
668 ( 800 (
669 { 801 {
670 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); 802 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0());
671 } 803 }
672 lv_head_1_0=ruleExpression 804 lv_argumentList_3_0=ruleArgumentList
673 { 805 {
674 if ($current==null) { 806 if ($current==null) {
675 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 807 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
676 } 808 }
677 set( 809 set(
678 $current, 810 $current,
679 "head", 811 "argumentList",
680 lv_head_1_0, 812 lv_argumentList_3_0,
681 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 813 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
682 afterParserOrEnumRuleCall(); 814 afterParserOrEnumRuleCall();
683 } 815 }
684 ) 816 )
685 ) 817 )
686 otherlv_2=EqualsSign 818 )
819;
820
821// Entry rule entryRuleExternAggregatorDefinition
822entryRuleExternAggregatorDefinition returns [EObject current=null]:
823 { newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); }
824 iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition
825 { $current=$iv_ruleExternAggregatorDefinition.current; }
826 EOF;
827
828// Rule ExternAggregatorDefinition
829ruleExternAggregatorDefinition returns [EObject current=null]
830@init {
831 enterRule();
832}
833@after {
834 leaveRule();
835}:
836 (
837 otherlv_0=Extern
687 { 838 {
688 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 839 newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0());
689 } 840 }
690 ( 841 (
691 ( 842 (
692 { 843 {
693 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 844 if ($current==null) {
845 $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
846 }
694 } 847 }
695 lv_body_3_0=ruleExpression 848 {
849 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0());
850 }
851 ruleQualifiedName
852 {
853 afterParserOrEnumRuleCall();
854 }
855 )
856 )
857 (
858 (
859 {
860 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
861 }
862 lv_name_2_0=ruleQualifiedName
696 { 863 {
697 if ($current==null) { 864 if ($current==null) {
698 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 865 $current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule());
699 } 866 }
700 set( 867 set(
701 $current, 868 $current,
702 "body", 869 "name",
703 lv_body_3_0, 870 lv_name_2_0,
704 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 871 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
705 afterParserOrEnumRuleCall(); 872 afterParserOrEnumRuleCall();
706 } 873 }
707 ) 874 )
708 ) 875 )
876 otherlv_3=LeftCurlyBracket
877 {
878 newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
879 }
880 (
881 (
882 {
883 if ($current==null) {
884 $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
885 }
886 }
887 {
888 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
889 }
890 ruleQualifiedName
891 {
892 afterParserOrEnumRuleCall();
893 }
894 )
895 )
896 otherlv_5=FullStopFullStopFullStop
897 {
898 newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
899 }
900 otherlv_6=RightCurlyBracket
901 {
902 newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6());
903 }
709 ) 904 )
710; 905;
711 906
712// Entry rule entryRuleExternMetricDefinition 907// Entry rule entryRuleExternDatatypeDefinition
713entryRuleExternMetricDefinition returns [EObject current=null]: 908entryRuleExternDatatypeDefinition returns [EObject current=null]:
714 { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } 909 { newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); }
715 iv_ruleExternMetricDefinition=ruleExternMetricDefinition 910 iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition
716 { $current=$iv_ruleExternMetricDefinition.current; } 911 { $current=$iv_ruleExternDatatypeDefinition.current; }
717 EOF; 912 EOF;
718 913
719// Rule ExternMetricDefinition 914// Rule ExternDatatypeDefinition
720ruleExternMetricDefinition returns [EObject current=null] 915ruleExternDatatypeDefinition returns [EObject current=null]
721@init { 916@init {
722 enterRule(); 917 enterRule();
723} 918}
@@ -727,43 +922,125 @@ ruleExternMetricDefinition returns [EObject current=null]
727 ( 922 (
728 otherlv_0=Extern 923 otherlv_0=Extern
729 { 924 {
730 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 925 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0());
926 }
927 otherlv_1=Datatype
928 {
929 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1());
731 } 930 }
732 ( 931 (
733 ( 932 (
734 { 933 {
735 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); 934 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
736 } 935 }
737 lv_type_1_0=ruleMetricType 936 lv_name_2_0=ruleQualifiedName
738 { 937 {
739 if ($current==null) { 938 if ($current==null) {
740 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 939 $current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule());
741 } 940 }
742 set( 941 set(
743 $current, 942 $current,
744 "type", 943 "name",
745 lv_type_1_0, 944 lv_name_2_0,
746 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 945 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
747 afterParserOrEnumRuleCall(); 946 afterParserOrEnumRuleCall();
748 } 947 }
749 ) 948 )
750 ) 949 )
751 ( 950 (
951 otherlv_3=Extends
952 {
953 newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0());
954 }
955 (
956 (
957 {
958 if ($current==null) {
959 $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
960 }
961 }
962 {
963 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0());
964 }
965 ruleQualifiedName
966 {
967 afterParserOrEnumRuleCall();
968 }
969 )
970 )
971 (
972 otherlv_5=Comma
973 {
974 newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0());
975 }
976 (
977 (
978 {
979 if ($current==null) {
980 $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
981 }
982 }
983 {
984 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0());
985 }
986 ruleQualifiedName
987 {
988 afterParserOrEnumRuleCall();
989 }
990 )
991 )
992 )*
993 )
994 )
995;
996
997// Entry rule entryRuleVariable
998entryRuleVariable returns [EObject current=null]:
999 { newCompositeNode(grammarAccess.getVariableRule()); }
1000 iv_ruleVariable=ruleVariable
1001 { $current=$iv_ruleVariable.current; }
1002 EOF;
1003
1004// Rule Variable
1005ruleVariable returns [EObject current=null]
1006@init {
1007 enterRule();
1008}
1009@after {
1010 leaveRule();
1011}:
1012 (
1013 (
752 ( 1014 (
753 { 1015 {
754 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); 1016 if ($current==null) {
1017 $current = createModelElement(grammarAccess.getVariableRule());
1018 }
1019 }
1020 {
1021 newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0());
1022 }
1023 ruleQualifiedName
1024 {
1025 afterParserOrEnumRuleCall();
1026 }
1027 )
1028 )?
1029 (
1030 (
1031 lv_name_1_0=RULE_ID
1032 {
1033 newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0());
755 } 1034 }
756 lv_head_2_0=ruleCall
757 { 1035 {
758 if ($current==null) { 1036 if ($current==null) {
759 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 1037 $current = createModelElement(grammarAccess.getVariableRule());
760 } 1038 }
761 set( 1039 setWithLastConsumed(
762 $current, 1040 $current,
763 "head", 1041 "name",
764 lv_head_2_0, 1042 lv_name_1_0,
765 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 1043 "org.eclipse.xtext.common.Terminals.ID");
766 afterParserOrEnumRuleCall();
767 } 1044 }
768 ) 1045 )
769 ) 1046 )
@@ -796,11 +1073,20 @@ ruleExpression returns [EObject current=null]
796 } 1073 }
797 | 1074 |
798 { 1075 {
799 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); 1076 newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1());
800 } 1077 }
801 this_DisjunctiveExpression_1=ruleDisjunctiveExpression 1078 this_Let_1=ruleLet
802 { 1079 {
803 $current = $this_DisjunctiveExpression_1.current; 1080 $current = $this_Let_1.current;
1081 afterParserOrEnumRuleCall();
1082 }
1083 |
1084 {
1085 newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2());
1086 }
1087 this_ImplicationExpression_2=ruleImplicationExpression
1088 {
1089 $current = $this_ImplicationExpression_2.current;
804 afterParserOrEnumRuleCall(); 1090 afterParserOrEnumRuleCall();
805 } 1091 }
806 ) 1092 )
@@ -894,6 +1180,231 @@ ruleIfElse returns [EObject current=null]
894 ) 1180 )
895; 1181;
896 1182
1183// Entry rule entryRuleLet
1184entryRuleLet returns [EObject current=null]:
1185 { newCompositeNode(grammarAccess.getLetRule()); }
1186 iv_ruleLet=ruleLet
1187 { $current=$iv_ruleLet.current; }
1188 EOF;
1189
1190// Rule Let
1191ruleLet returns [EObject current=null]
1192@init {
1193 enterRule();
1194}
1195@after {
1196 leaveRule();
1197}:
1198 (
1199 otherlv_0=Let
1200 {
1201 newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0());
1202 }
1203 (
1204 (
1205 {
1206 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0());
1207 }
1208 lv_bindings_1_0=ruleLetBinding
1209 {
1210 if ($current==null) {
1211 $current = createModelElementForParent(grammarAccess.getLetRule());
1212 }
1213 add(
1214 $current,
1215 "bindings",
1216 lv_bindings_1_0,
1217 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
1218 afterParserOrEnumRuleCall();
1219 }
1220 )
1221 )
1222 (
1223 otherlv_2=Comma
1224 {
1225 newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0());
1226 }
1227 (
1228 (
1229 {
1230 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0());
1231 }
1232 lv_bindings_3_0=ruleLetBinding
1233 {
1234 if ($current==null) {
1235 $current = createModelElementForParent(grammarAccess.getLetRule());
1236 }
1237 add(
1238 $current,
1239 "bindings",
1240 lv_bindings_3_0,
1241 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
1242 afterParserOrEnumRuleCall();
1243 }
1244 )
1245 )
1246 )*
1247 otherlv_4=In
1248 {
1249 newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3());
1250 }
1251 (
1252 (
1253 {
1254 newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0());
1255 }
1256 lv_body_5_0=ruleExpression
1257 {
1258 if ($current==null) {
1259 $current = createModelElementForParent(grammarAccess.getLetRule());
1260 }
1261 set(
1262 $current,
1263 "body",
1264 lv_body_5_0,
1265 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1266 afterParserOrEnumRuleCall();
1267 }
1268 )
1269 )
1270 )
1271;
1272
1273// Entry rule entryRuleLetBinding
1274entryRuleLetBinding returns [EObject current=null]:
1275 { newCompositeNode(grammarAccess.getLetBindingRule()); }
1276 iv_ruleLetBinding=ruleLetBinding
1277 { $current=$iv_ruleLetBinding.current; }
1278 EOF;
1279
1280// Rule LetBinding
1281ruleLetBinding returns [EObject current=null]
1282@init {
1283 enterRule();
1284}
1285@after {
1286 leaveRule();
1287}:
1288 (
1289 (
1290 (
1291 {
1292 newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0());
1293 }
1294 lv_variable_0_0=ruleVariable
1295 {
1296 if ($current==null) {
1297 $current = createModelElementForParent(grammarAccess.getLetBindingRule());
1298 }
1299 set(
1300 $current,
1301 "variable",
1302 lv_variable_0_0,
1303 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
1304 afterParserOrEnumRuleCall();
1305 }
1306 )
1307 )
1308 otherlv_1=EqualsSign
1309 {
1310 newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1());
1311 }
1312 (
1313 (
1314 {
1315 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0());
1316 }
1317 lv_value_2_0=ruleAdditiveExpression
1318 {
1319 if ($current==null) {
1320 $current = createModelElementForParent(grammarAccess.getLetBindingRule());
1321 }
1322 set(
1323 $current,
1324 "value",
1325 lv_value_2_0,
1326 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
1327 afterParserOrEnumRuleCall();
1328 }
1329 )
1330 )
1331 )
1332;
1333
1334// Entry rule entryRuleImplicationExpression
1335entryRuleImplicationExpression returns [EObject current=null]:
1336 { newCompositeNode(grammarAccess.getImplicationExpressionRule()); }
1337 iv_ruleImplicationExpression=ruleImplicationExpression
1338 { $current=$iv_ruleImplicationExpression.current; }
1339 EOF;
1340
1341// Rule ImplicationExpression
1342ruleImplicationExpression returns [EObject current=null]
1343@init {
1344 enterRule();
1345}
1346@after {
1347 leaveRule();
1348}:
1349 (
1350 {
1351 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0());
1352 }
1353 this_DisjunctiveExpression_0=ruleDisjunctiveExpression
1354 {
1355 $current = $this_DisjunctiveExpression_0.current;
1356 afterParserOrEnumRuleCall();
1357 }
1358 (
1359 (
1360 {
1361 $current = forceCreateModelElementAndSet(
1362 grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(),
1363 $current);
1364 }
1365 )
1366 (
1367 (
1368 {
1369 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0());
1370 }
1371 lv_op_2_0=ruleImplicationOperator
1372 {
1373 if ($current==null) {
1374 $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
1375 }
1376 set(
1377 $current,
1378 "op",
1379 lv_op_2_0,
1380 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator");
1381 afterParserOrEnumRuleCall();
1382 }
1383 )
1384 )
1385 (
1386 (
1387 {
1388 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0());
1389 }
1390 lv_right_3_0=ruleImplicationExpression
1391 {
1392 if ($current==null) {
1393 $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
1394 }
1395 set(
1396 $current,
1397 "right",
1398 lv_right_3_0,
1399 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
1400 afterParserOrEnumRuleCall();
1401 }
1402 )
1403 )
1404 )?
1405 )
1406;
1407
897// Entry rule entryRuleDisjunctiveExpression 1408// Entry rule entryRuleDisjunctiveExpression
898entryRuleDisjunctiveExpression returns [EObject current=null]: 1409entryRuleDisjunctiveExpression returns [EObject current=null]:
899 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } 1410 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); }
@@ -1383,11 +1894,11 @@ ruleExponentialExpression returns [EObject current=null]
1383}: 1894}:
1384 ( 1895 (
1385 { 1896 {
1386 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); 1897 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
1387 } 1898 }
1388 this_UnaryExpression_0=ruleUnaryExpression 1899 this_CastExpression_0=ruleCastExpression
1389 { 1900 {
1390 $current = $this_UnaryExpression_0.current; 1901 $current = $this_CastExpression_0.current;
1391 afterParserOrEnumRuleCall(); 1902 afterParserOrEnumRuleCall();
1392 } 1903 }
1393 ( 1904 (
@@ -1420,9 +1931,9 @@ ruleExponentialExpression returns [EObject current=null]
1420 ( 1931 (
1421 ( 1932 (
1422 { 1933 {
1423 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 1934 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
1424 } 1935 }
1425 lv_right_3_0=ruleExponentialExpression 1936 lv_right_3_0=ruleCastExpression
1426 { 1937 {
1427 if ($current==null) { 1938 if ($current==null) {
1428 $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); 1939 $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule());
@@ -1431,7 +1942,63 @@ ruleExponentialExpression returns [EObject current=null]
1431 $current, 1942 $current,
1432 "right", 1943 "right",
1433 lv_right_3_0, 1944 lv_right_3_0,
1434 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); 1945 "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression");
1946 afterParserOrEnumRuleCall();
1947 }
1948 )
1949 )
1950 )?
1951 )
1952;
1953
1954// Entry rule entryRuleCastExpression
1955entryRuleCastExpression returns [EObject current=null]:
1956 { newCompositeNode(grammarAccess.getCastExpressionRule()); }
1957 iv_ruleCastExpression=ruleCastExpression
1958 { $current=$iv_ruleCastExpression.current; }
1959 EOF;
1960
1961// Rule CastExpression
1962ruleCastExpression returns [EObject current=null]
1963@init {
1964 enterRule();
1965}
1966@after {
1967 leaveRule();
1968}:
1969 (
1970 {
1971 newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
1972 }
1973 this_UnaryExpression_0=ruleUnaryExpression
1974 {
1975 $current = $this_UnaryExpression_0.current;
1976 afterParserOrEnumRuleCall();
1977 }
1978 (
1979 (
1980 {
1981 $current = forceCreateModelElementAndSet(
1982 grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(),
1983 $current);
1984 }
1985 )
1986 otherlv_2=As
1987 {
1988 newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
1989 }
1990 (
1991 (
1992 {
1993 if ($current==null) {
1994 $current = createModelElement(grammarAccess.getCastExpressionRule());
1995 }
1996 }
1997 {
1998 newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0());
1999 }
2000 ruleQualifiedName
2001 {
1435 afterParserOrEnumRuleCall(); 2002 afterParserOrEnumRuleCall();
1436 } 2003 }
1437 ) 2004 )
@@ -1541,11 +2108,11 @@ ruleAggregationExpression returns [EObject current=null]
1541 } 2108 }
1542 | 2109 |
1543 { 2110 {
1544 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); 2111 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1());
1545 } 2112 }
1546 this_Count_1=ruleCount 2113 this_QuantifiedExpression_1=ruleQuantifiedExpression
1547 { 2114 {
1548 $current = $this_Count_1.current; 2115 $current = $this_QuantifiedExpression_1.current;
1549 afterParserOrEnumRuleCall(); 2116 afterParserOrEnumRuleCall();
1550 } 2117 }
1551 | 2118 |
@@ -1560,15 +2127,15 @@ ruleAggregationExpression returns [EObject current=null]
1560 ) 2127 )
1561; 2128;
1562 2129
1563// Entry rule entryRuleCount 2130// Entry rule entryRuleLocalVariables
1564entryRuleCount returns [EObject current=null]: 2131entryRuleLocalVariables returns [EObject current=null]:
1565 { newCompositeNode(grammarAccess.getCountRule()); } 2132 { newCompositeNode(grammarAccess.getLocalVariablesRule()); }
1566 iv_ruleCount=ruleCount 2133 iv_ruleLocalVariables=ruleLocalVariables
1567 { $current=$iv_ruleCount.current; } 2134 { $current=$iv_ruleLocalVariables.current; }
1568 EOF; 2135 EOF;
1569 2136
1570// Rule Count 2137// Rule LocalVariables
1571ruleCount returns [EObject current=null] 2138ruleLocalVariables returns [EObject current=null]
1572@init { 2139@init {
1573 enterRule(); 2140 enterRule();
1574} 2141}
@@ -1576,36 +2143,150 @@ ruleCount returns [EObject current=null]
1576 leaveRule(); 2143 leaveRule();
1577}: 2144}:
1578 ( 2145 (
1579 otherlv_0=Count 2146 (
2147 {
2148 $current = forceCreateModelElement(
2149 grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(),
2150 $current);
2151 }
2152 )
2153 otherlv_1=LeftSquareBracket
1580 { 2154 {
1581 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); 2155 newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
1582 } 2156 }
1583 otherlv_1=LeftCurlyBracket 2157 (
2158 (
2159 (
2160 {
2161 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0());
2162 }
2163 lv_variables_2_0=ruleVariable
2164 {
2165 if ($current==null) {
2166 $current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
2167 }
2168 add(
2169 $current,
2170 "variables",
2171 lv_variables_2_0,
2172 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
2173 afterParserOrEnumRuleCall();
2174 }
2175 )
2176 )
2177 (
2178 otherlv_3=Comma
2179 {
2180 newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0());
2181 }
2182 (
2183 (
2184 {
2185 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0());
2186 }
2187 lv_variables_4_0=ruleVariable
2188 {
2189 if ($current==null) {
2190 $current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
2191 }
2192 add(
2193 $current,
2194 "variables",
2195 lv_variables_4_0,
2196 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
2197 afterParserOrEnumRuleCall();
2198 }
2199 )
2200 )
2201 )*
2202 )?
2203 otherlv_5=RightSquareBracket
1584 { 2204 {
1585 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); 2205 newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
1586 } 2206 }
2207 )
2208;
2209
2210// Entry rule entryRuleQuantifiedExpression
2211entryRuleQuantifiedExpression returns [EObject current=null]:
2212 { newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); }
2213 iv_ruleQuantifiedExpression=ruleQuantifiedExpression
2214 { $current=$iv_ruleQuantifiedExpression.current; }
2215 EOF;
2216
2217// Rule QuantifiedExpression
2218ruleQuantifiedExpression returns [EObject current=null]
2219@init {
2220 enterRule();
2221}
2222@after {
2223 leaveRule();
2224}:
2225 (
1587 ( 2226 (
1588 ( 2227 (
1589 { 2228 {
1590 newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); 2229 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0());
1591 } 2230 }
1592 lv_body_2_0=ruleExpression 2231 lv_quantifier_0_0=ruleQuantifier
1593 { 2232 {
1594 if ($current==null) { 2233 if ($current==null) {
1595 $current = createModelElementForParent(grammarAccess.getCountRule()); 2234 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
2235 }
2236 set(
2237 $current,
2238 "quantifier",
2239 lv_quantifier_0_0,
2240 "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
2241 afterParserOrEnumRuleCall();
2242 }
2243 )
2244 )
2245 (
2246 (
2247 {
2248 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
2249 }
2250 lv_localVariables_1_0=ruleLocalVariables
2251 {
2252 if ($current==null) {
2253 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
2254 }
2255 set(
2256 $current,
2257 "localVariables",
2258 lv_localVariables_1_0,
2259 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
2260 afterParserOrEnumRuleCall();
2261 }
2262 )
2263 )?
2264 otherlv_2=LeftCurlyBracket
2265 {
2266 newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2());
2267 }
2268 (
2269 (
2270 {
2271 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0());
2272 }
2273 lv_body_3_0=ruleExpression
2274 {
2275 if ($current==null) {
2276 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
1596 } 2277 }
1597 set( 2278 set(
1598 $current, 2279 $current,
1599 "body", 2280 "body",
1600 lv_body_2_0, 2281 lv_body_3_0,
1601 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2282 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1602 afterParserOrEnumRuleCall(); 2283 afterParserOrEnumRuleCall();
1603 } 2284 }
1604 ) 2285 )
1605 ) 2286 )
1606 otherlv_3=RightCurlyBracket 2287 otherlv_4=RightCurlyBracket
1607 { 2288 {
1608 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); 2289 newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4());
1609 } 2290 }
1610 ) 2291 )
1611; 2292;
@@ -1629,71 +2310,89 @@ ruleAggregation returns [EObject current=null]
1629 ( 2310 (
1630 ( 2311 (
1631 { 2312 {
1632 newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0());
1633 }
1634 lv_op_0_0=ruleAggregationOp
1635 {
1636 if ($current==null) { 2313 if ($current==null) {
1637 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2314 $current = createModelElement(grammarAccess.getAggregationRule());
1638 } 2315 }
1639 set( 2316 }
1640 $current, 2317 {
1641 "op", 2318 newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
1642 lv_op_0_0, 2319 }
1643 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); 2320 ruleQualifiedName
2321 {
1644 afterParserOrEnumRuleCall(); 2322 afterParserOrEnumRuleCall();
1645 } 2323 }
1646 ) 2324 )
1647 ) 2325 )
1648 otherlv_1=LeftCurlyBracket
1649 {
1650 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
1651 }
1652 ( 2326 (
1653 ( 2327 (
1654 { 2328 {
1655 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); 2329 newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
1656 } 2330 }
1657 lv_body_2_0=ruleExpression 2331 lv_localVariables_1_0=ruleLocalVariables
1658 { 2332 {
1659 if ($current==null) { 2333 if ($current==null) {
1660 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2334 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1661 } 2335 }
1662 set( 2336 set(
1663 $current, 2337 $current,
1664 "body", 2338 "localVariables",
1665 lv_body_2_0, 2339 lv_localVariables_1_0,
1666 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2340 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
1667 afterParserOrEnumRuleCall(); 2341 afterParserOrEnumRuleCall();
1668 } 2342 }
1669 ) 2343 )
1670 ) 2344 )?
1671 otherlv_3=VerticalLine 2345 otherlv_2=LeftCurlyBracket
1672 { 2346 {
1673 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); 2347 newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2());
1674 } 2348 }
1675 ( 2349 (
1676 ( 2350 (
1677 { 2351 {
1678 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); 2352 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0());
1679 } 2353 }
1680 lv_condition_4_0=ruleExpression 2354 lv_body_3_0=ruleExpression
1681 { 2355 {
1682 if ($current==null) { 2356 if ($current==null) {
1683 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2357 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1684 } 2358 }
1685 set( 2359 set(
1686 $current, 2360 $current,
1687 "condition", 2361 "body",
1688 lv_condition_4_0, 2362 lv_body_3_0,
1689 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2363 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1690 afterParserOrEnumRuleCall(); 2364 afterParserOrEnumRuleCall();
1691 } 2365 }
1692 ) 2366 )
1693 ) 2367 )
1694 otherlv_5=RightCurlyBracket 2368 (
2369 otherlv_4=VerticalLine
2370 {
2371 newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
2372 }
2373 (
2374 (
2375 {
2376 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
2377 }
2378 lv_condition_5_0=ruleExpression
2379 {
2380 if ($current==null) {
2381 $current = createModelElementForParent(grammarAccess.getAggregationRule());
2382 }
2383 set(
2384 $current,
2385 "condition",
2386 lv_condition_5_0,
2387 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2388 afterParserOrEnumRuleCall();
2389 }
2390 )
2391 )
2392 )?
2393 otherlv_6=RightCurlyBracket
1695 { 2394 {
1696 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 2395 newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
1697 } 2396 }
1698 ) 2397 )
1699; 2398;
@@ -3485,8 +4184,8 @@ finally {
3485 myHiddenTokenState.restore(); 4184 myHiddenTokenState.restore();
3486} 4185}
3487 4186
3488// Rule MetricType 4187// Rule ImplicationOperator
3489ruleMetricType returns [Enumerator current=null] 4188ruleImplicationOperator returns [Enumerator current=null]
3490@init { 4189@init {
3491 enterRule(); 4190 enterRule();
3492} 4191}
@@ -3494,21 +4193,11 @@ ruleMetricType returns [Enumerator current=null]
3494 leaveRule(); 4193 leaveRule();
3495}: 4194}:
3496 ( 4195 (
3497 ( 4196 enumLiteral_0=EqualsSignGreaterThanSign
3498 enumLiteral_0=Int 4197 {
3499 { 4198 $current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance();
3500 $current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4199 newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration());
3501 newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); 4200 }
3502 }
3503 )
3504 |
3505 (
3506 enumLiteral_1=Real
3507 {
3508 $current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3509 newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
3510 }
3511 )
3512 ) 4201 )
3513; 4202;
3514 4203
@@ -3709,8 +4398,8 @@ ruleUnaryOp returns [Enumerator current=null]
3709 ) 4398 )
3710; 4399;
3711 4400
3712// Rule AggregationOp 4401// Rule Quantifier
3713ruleAggregationOp returns [Enumerator current=null] 4402ruleQuantifier returns [Enumerator current=null]
3714@init { 4403@init {
3715 enterRule(); 4404 enterRule();
3716} 4405}
@@ -3719,50 +4408,26 @@ ruleAggregationOp returns [Enumerator current=null]
3719}: 4408}:
3720 ( 4409 (
3721 ( 4410 (
3722 enumLiteral_0=Only 4411 enumLiteral_0=Exists
3723 {
3724 $current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3725 newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0());
3726 }
3727 )
3728 |
3729 (
3730 enumLiteral_1=Sum
3731 {
3732 $current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3733 newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1());
3734 }
3735 )
3736 |
3737 (
3738 enumLiteral_2=Prod
3739 {
3740 $current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3741 newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
3742 }
3743 )
3744 |
3745 (
3746 enumLiteral_3=Avg
3747 { 4412 {
3748 $current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 4413 $current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3749 newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); 4414 newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
3750 } 4415 }
3751 ) 4416 )
3752 | 4417 |
3753 ( 4418 (
3754 enumLiteral_4=Min 4419 enumLiteral_1=Forall
3755 { 4420 {
3756 $current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); 4421 $current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3757 newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); 4422 newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
3758 } 4423 }
3759 ) 4424 )
3760 | 4425 |
3761 ( 4426 (
3762 enumLiteral_5=Max 4427 enumLiteral_2=Count
3763 { 4428 {
3764 $current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); 4429 $current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3765 newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); 4430 newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
3766 } 4431 }
3767 ) 4432 )
3768 ) 4433 )
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
index 7dbfa002..3e25746c 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
@@ -22,92 +22,79 @@ import java.util.ArrayList;
22@SuppressWarnings("all") 22@SuppressWarnings("all")
23public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { 23public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
24 public static final String[] tokenNames = new String[] { 24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "GREATER_EQ", "Functional", "Abstract", "Contains", "Maximize", "Minimize", "Opposite", "GREATER", "LESS_EQ", "Current", "Default", "Extends", "Unknown", "NOT_EQ", "Extern", "Class", "Count", "Empty", "Error", "False", "Scope", "LESS", "Else", "Must", "Only", "Prod", "Real", "Then", "True", "ADD", "DIV", "MUL", "POW", "SUB", "Avg", "Inf", "Int", "Max", "May", "Min", "Sum", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "FullStopFullStop", "ColonHyphenMinus", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "GreaterThanSignEqualsSign", "EQ", "IN", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "RULE_STRING", "RULE_QUOTED_ID", "RULE_SL_COMMENT", "RULE_TRANSITIVE_CLOSURE", "RULE_REFLEXIVE_TRANSITIVE_CLOSURE", "RULE_FULL_STOP", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER" 25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Functional", "Abstract", "Contains", "Datatype", "Maximize", "Minimize", "Opposite", "Current", "Default", "Extends", "Unknown", "Exists", "Extern", "Forall", "Class", "Count", "Empty", "Error", "False", "Scope", "Else", "Must", "Then", "True", "FullStopFullStopFullStop", "Inf", "Let", "May", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "FullStopFullStop", "ColonHyphenMinus", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "EqualsSignGreaterThanSign", "GreaterThanSignEqualsSign", "As", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "RULE_STRING", "RULE_QUOTED_ID", "RULE_SL_COMMENT", "RULE_TRANSITIVE_CLOSURE", "RULE_REFLEXIVE_TRANSITIVE_CLOSURE", "RULE_FULL_STOP", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER"
26 }; 26 };
27 public static final int ADD=33; 27 public static final int EqualsSignGreaterThanSign=38;
28 public static final int True=32; 28 public static final int True=27;
29 public static final int GREATER_EQ=4; 29 public static final int Count=19;
30 public static final int Count=20; 30 public static final int False=22;
31 public static final int False=23; 31 public static final int Must=25;
32 public static final int Must=27; 32 public static final int FullStopFullStopFullStop=28;
33 public static final int LessThanSign=67; 33 public static final int LessThanSign=54;
34 public static final int LeftParenthesis=57; 34 public static final int Datatype=7;
35 public static final int Unknown=16; 35 public static final int LeftParenthesis=44;
36 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; 36 public static final int Unknown=14;
37 public static final int FullStopFullStop=47; 37 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67;
38 public static final int Real=30; 38 public static final int FullStopFullStop=34;
39 public static final int Then=31; 39 public static final int Then=26;
40 public static final int Extends=15; 40 public static final int Extends=13;
41 public static final int RightSquareBracket=71; 41 public static final int Forall=17;
42 public static final int ExclamationMark=56; 42 public static final int RightSquareBracket=58;
43 public static final int ExclamationMark=43;
43 public static final int Opposite=10; 44 public static final int Opposite=10;
44 public static final int SUB=37; 45 public static final int GreaterThanSign=56;
45 public static final int GreaterThanSign=69; 46 public static final int RULE_ID=69;
46 public static final int NOT_EQ=17; 47 public static final int RULE_QUOTED_ID=64;
47 public static final int RULE_ID=82; 48 public static final int RightParenthesis=45;
48 public static final int MUL=35; 49 public static final int GreaterThanSignEqualsSign=39;
49 public static final int IN=53; 50 public static final int Functional=4;
50 public static final int RULE_QUOTED_ID=77; 51 public static final int EqualsSignEqualsSign=37;
51 public static final int RightParenthesis=58; 52 public static final int VerticalLine=61;
52 public static final int Sum=44; 53 public static final int PlusSign=47;
53 public static final int EQ=52; 54 public static final int RULE_INT=70;
54 public static final int GreaterThanSignEqualsSign=51; 55 public static final int Contains=6;
55 public static final int Functional=5; 56 public static final int RULE_ML_COMMENT=71;
56 public static final int EqualsSignEqualsSign=50; 57 public static final int RULE_TRANSITIVE_CLOSURE=66;
57 public static final int Avg=38; 58 public static final int Class=18;
58 public static final int Min=43; 59 public static final int LeftSquareBracket=57;
59 public static final int VerticalLine=74; 60 public static final int RULE_FULL_STOP=68;
60 public static final int PlusSign=60; 61 public static final int Current=11;
61 public static final int RULE_INT=83; 62 public static final int If=41;
62 public static final int Contains=7; 63 public static final int Inf=29;
63 public static final int RULE_ML_COMMENT=84; 64 public static final int May=31;
64 public static final int POW=36; 65 public static final int In=42;
65 public static final int RULE_TRANSITIVE_CLOSURE=79; 66 public static final int RULE_STRING=63;
66 public static final int Class=19; 67 public static final int Extern=16;
67 public static final int LESS=25; 68 public static final int RULE_SL_COMMENT=65;
68 public static final int LeftSquareBracket=70; 69 public static final int Comma=48;
69 public static final int RULE_FULL_STOP=81; 70 public static final int EqualsSign=55;
70 public static final int Current=13; 71 public static final int Empty=20;
71 public static final int If=54; 72 public static final int As=40;
72 public static final int Inf=39; 73 public static final int HyphenMinus=49;
73 public static final int LESS_EQ=12;
74 public static final int May=42;
75 public static final int Max=41;
76 public static final int In=55;
77 public static final int RULE_STRING=76;
78 public static final int Int=40;
79 public static final int Extern=18;
80 public static final int RULE_SL_COMMENT=78;
81 public static final int Prod=29;
82 public static final int Comma=61;
83 public static final int EqualsSign=68;
84 public static final int Empty=21;
85 public static final int HyphenMinus=62;
86 public static final int Maximize=8; 74 public static final int Maximize=8;
87 public static final int LessThanSignEqualsSign=49; 75 public static final int LessThanSignEqualsSign=36;
88 public static final int Solidus=64; 76 public static final int Solidus=51;
89 public static final int Colon=65; 77 public static final int Colon=52;
90 public static final int RightCurlyBracket=75; 78 public static final int RightCurlyBracket=62;
91 public static final int EOF=-1; 79 public static final int EOF=-1;
92 public static final int Asterisk=59; 80 public static final int Asterisk=46;
93 public static final int FullStop=63; 81 public static final int FullStop=50;
94 public static final int RULE_WS=85; 82 public static final int RULE_WS=72;
95 public static final int Abstract=6; 83 public static final int Abstract=5;
96 public static final int Minimize=9; 84 public static final int Minimize=9;
97 public static final int GREATER=11; 85 public static final int LeftCurlyBracket=60;
98 public static final int LeftCurlyBracket=73; 86 public static final int Error=21;
99 public static final int Error=22; 87 public static final int RULE_ANY_OTHER=73;
100 public static final int Only=28; 88 public static final int Default=12;
101 public static final int RULE_ANY_OTHER=86; 89 public static final int ColonHyphenMinus=35;
102 public static final int Default=14; 90 public static final int CircumflexAccent=59;
103 public static final int ColonHyphenMinus=48; 91 public static final int Semicolon=53;
104 public static final int CircumflexAccent=72; 92 public static final int Scope=23;
105 public static final int DIV=34; 93 public static final int Exists=15;
106 public static final int Semicolon=66; 94 public static final int Else=24;
107 public static final int Scope=24; 95 public static final int Let=30;
108 public static final int Else=26; 96 public static final int ExclamationMarkEqualsSign=32;
109 public static final int ExclamationMarkEqualsSign=45; 97 public static final int HyphenMinusGreaterThanSign=33;
110 public static final int HyphenMinusGreaterThanSign=46;
111 98
112 // delegates 99 // delegates
113 // delegators 100 // delegators
@@ -205,7 +192,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
205 int alt1=2; 192 int alt1=2;
206 int LA1_0 = input.LA(1); 193 int LA1_0 = input.LA(1);
207 194
208 if ( ((LA1_0>=Functional && LA1_0<=Abstract)||(LA1_0>=Maximize && LA1_0<=Minimize)||(LA1_0>=Current && LA1_0<=Default)||LA1_0==Unknown||(LA1_0>=Extern && LA1_0<=False)||LA1_0==Scope||(LA1_0>=Must && LA1_0<=Real)||LA1_0==True||(LA1_0>=Avg && LA1_0<=Sum)||LA1_0==If||(LA1_0>=ExclamationMark && LA1_0<=LeftParenthesis)||LA1_0==PlusSign||LA1_0==HyphenMinus||LA1_0==LeftSquareBracket||(LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=RULE_ID && LA1_0<=RULE_INT)) ) { 195 if ( ((LA1_0>=Functional && LA1_0<=Abstract)||(LA1_0>=Maximize && LA1_0<=Minimize)||(LA1_0>=Current && LA1_0<=Default)||(LA1_0>=Unknown && LA1_0<=False)||LA1_0==Scope||LA1_0==Must||LA1_0==True||(LA1_0>=Inf && LA1_0<=May)||LA1_0==If||(LA1_0>=ExclamationMark && LA1_0<=LeftParenthesis)||LA1_0==PlusSign||LA1_0==HyphenMinus||LA1_0==LeftSquareBracket||(LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=RULE_ID && LA1_0<=RULE_INT)) ) {
209 alt1=1; 196 alt1=1;
210 } 197 }
211 198
@@ -304,11 +291,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
304 291
305 292
306 // $ANTLR start "ruleStatement" 293 // $ANTLR start "ruleStatement"
307 // InternalSolverLanguageParser.g:101:1: ruleStatement returns [EObject current=null] : ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) ; 294 // InternalSolverLanguageParser.g:101:1: ruleStatement returns [EObject current=null] : ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) ;
308 public final EObject ruleStatement() throws RecognitionException { 295 public final EObject ruleStatement() throws RecognitionException {
309 EObject current = null; 296 EObject current = null;
310 297
311 Token this_FULL_STOP_10=null; 298 Token this_FULL_STOP_12=null;
312 EObject this_AssertionOrDefinition_0 = null; 299 EObject this_AssertionOrDefinition_0 = null;
313 300
314 EObject this_PredicateDefinition_1 = null; 301 EObject this_PredicateDefinition_1 = null;
@@ -317,31 +304,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
317 304
318 EObject this_DefaultDefinition_3 = null; 305 EObject this_DefaultDefinition_3 = null;
319 306
320 EObject this_ExternPredicateDefinition_4 = null; 307 EObject this_MetricDefinition_4 = null;
321 308
322 EObject this_MetricDefinition_5 = null; 309 EObject this_ExternPredicateDefinition_5 = null;
323 310
324 EObject this_ExternMetricDefinition_6 = null; 311 EObject this_ExternMetricDefinition_6 = null;
325 312
326 EObject this_ClassDefinition_7 = null; 313 EObject this_ExternAggregatorDefinition_7 = null;
327 314
328 EObject this_ScopeDefinition_8 = null; 315 EObject this_ExternDatatypeDefinition_8 = null;
329 316
330 EObject this_ObjectiveDefinition_9 = null; 317 EObject this_ClassDefinition_9 = null;
318
319 EObject this_ScopeDefinition_10 = null;
320
321 EObject this_ObjectiveDefinition_11 = null;
331 322
332 323
333 324
334 enterRule(); 325 enterRule();
335 326
336 try { 327 try {
337 // InternalSolverLanguageParser.g:107:2: ( ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) ) 328 // InternalSolverLanguageParser.g:107:2: ( ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) )
338 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) 329 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP )
339 { 330 {
340 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) 331 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP )
341 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP 332 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP
342 { 333 {
343 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) 334 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition )
344 int alt2=10; 335 int alt2=12;
345 alt2 = dfa2.predict(input); 336 alt2 = dfa2.predict(input);
346 switch (alt2) { 337 switch (alt2) {
347 case 1 : 338 case 1 :
@@ -417,36 +408,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
417 } 408 }
418 break; 409 break;
419 case 5 : 410 case 5 :
420 // InternalSolverLanguageParser.g:146:4: this_ExternPredicateDefinition_4= ruleExternPredicateDefinition 411 // InternalSolverLanguageParser.g:146:4: this_MetricDefinition_4= ruleMetricDefinition
421 { 412 {
422 413
423 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); 414 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
424 415
425 pushFollow(FOLLOW_4); 416 pushFollow(FOLLOW_4);
426 this_ExternPredicateDefinition_4=ruleExternPredicateDefinition(); 417 this_MetricDefinition_4=ruleMetricDefinition();
427 418
428 state._fsp--; 419 state._fsp--;
429 420
430 421
431 current = this_ExternPredicateDefinition_4; 422 current = this_MetricDefinition_4;
432 afterParserOrEnumRuleCall(); 423 afterParserOrEnumRuleCall();
433 424
434 425
435 } 426 }
436 break; 427 break;
437 case 6 : 428 case 6 :
438 // InternalSolverLanguageParser.g:155:4: this_MetricDefinition_5= ruleMetricDefinition 429 // InternalSolverLanguageParser.g:155:4: this_ExternPredicateDefinition_5= ruleExternPredicateDefinition
439 { 430 {
440 431
441 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); 432 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
442 433
443 pushFollow(FOLLOW_4); 434 pushFollow(FOLLOW_4);
444 this_MetricDefinition_5=ruleMetricDefinition(); 435 this_ExternPredicateDefinition_5=ruleExternPredicateDefinition();
445 436
446 state._fsp--; 437 state._fsp--;
447 438
448 439
449 current = this_MetricDefinition_5; 440 current = this_ExternPredicateDefinition_5;
450 afterParserOrEnumRuleCall(); 441 afterParserOrEnumRuleCall();
451 442
452 443
@@ -471,54 +462,90 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
471 } 462 }
472 break; 463 break;
473 case 8 : 464 case 8 :
474 // InternalSolverLanguageParser.g:173:4: this_ClassDefinition_7= ruleClassDefinition 465 // InternalSolverLanguageParser.g:173:4: this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition
475 { 466 {
476 467
477 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); 468 newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
478 469
479 pushFollow(FOLLOW_4); 470 pushFollow(FOLLOW_4);
480 this_ClassDefinition_7=ruleClassDefinition(); 471 this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition();
481 472
482 state._fsp--; 473 state._fsp--;
483 474
484 475
485 current = this_ClassDefinition_7; 476 current = this_ExternAggregatorDefinition_7;
486 afterParserOrEnumRuleCall(); 477 afterParserOrEnumRuleCall();
487 478
488 479
489 } 480 }
490 break; 481 break;
491 case 9 : 482 case 9 :
492 // InternalSolverLanguageParser.g:182:4: this_ScopeDefinition_8= ruleScopeDefinition 483 // InternalSolverLanguageParser.g:182:4: this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition
493 { 484 {
494 485
495 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); 486 newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
496 487
497 pushFollow(FOLLOW_4); 488 pushFollow(FOLLOW_4);
498 this_ScopeDefinition_8=ruleScopeDefinition(); 489 this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition();
499 490
500 state._fsp--; 491 state._fsp--;
501 492
502 493
503 current = this_ScopeDefinition_8; 494 current = this_ExternDatatypeDefinition_8;
504 afterParserOrEnumRuleCall(); 495 afterParserOrEnumRuleCall();
505 496
506 497
507 } 498 }
508 break; 499 break;
509 case 10 : 500 case 10 :
510 // InternalSolverLanguageParser.g:191:4: this_ObjectiveDefinition_9= ruleObjectiveDefinition 501 // InternalSolverLanguageParser.g:191:4: this_ClassDefinition_9= ruleClassDefinition
502 {
503
504 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
505
506 pushFollow(FOLLOW_4);
507 this_ClassDefinition_9=ruleClassDefinition();
508
509 state._fsp--;
510
511
512 current = this_ClassDefinition_9;
513 afterParserOrEnumRuleCall();
514
515
516 }
517 break;
518 case 11 :
519 // InternalSolverLanguageParser.g:200:4: this_ScopeDefinition_10= ruleScopeDefinition
520 {
521
522 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10());
523
524 pushFollow(FOLLOW_4);
525 this_ScopeDefinition_10=ruleScopeDefinition();
526
527 state._fsp--;
528
529
530 current = this_ScopeDefinition_10;
531 afterParserOrEnumRuleCall();
532
533
534 }
535 break;
536 case 12 :
537 // InternalSolverLanguageParser.g:209:4: this_ObjectiveDefinition_11= ruleObjectiveDefinition
511 { 538 {
512 539
513 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); 540 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11());
514 541
515 pushFollow(FOLLOW_4); 542 pushFollow(FOLLOW_4);
516 this_ObjectiveDefinition_9=ruleObjectiveDefinition(); 543 this_ObjectiveDefinition_11=ruleObjectiveDefinition();
517 544
518 state._fsp--; 545 state._fsp--;
519 546
520 547
521 current = this_ObjectiveDefinition_9; 548 current = this_ObjectiveDefinition_11;
522 afterParserOrEnumRuleCall(); 549 afterParserOrEnumRuleCall();
523 550
524 551
@@ -527,9 +554,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
527 554
528 } 555 }
529 556
530 this_FULL_STOP_10=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); 557 this_FULL_STOP_12=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
531 558
532 newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 559 newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1());
533 560
534 561
535 } 562 }
@@ -554,7 +581,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
554 581
555 582
556 // $ANTLR start "entryRuleAssertionOrDefinition" 583 // $ANTLR start "entryRuleAssertionOrDefinition"
557 // InternalSolverLanguageParser.g:208:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; 584 // InternalSolverLanguageParser.g:226:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ;
558 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { 585 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException {
559 EObject current = null; 586 EObject current = null;
560 587
@@ -562,8 +589,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
562 589
563 590
564 try { 591 try {
565 // InternalSolverLanguageParser.g:208:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) 592 // InternalSolverLanguageParser.g:226:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF )
566 // InternalSolverLanguageParser.g:209:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF 593 // InternalSolverLanguageParser.g:227:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF
567 { 594 {
568 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); 595 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule());
569 pushFollow(FOLLOW_1); 596 pushFollow(FOLLOW_1);
@@ -590,7 +617,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
590 617
591 618
592 // $ANTLR start "ruleAssertionOrDefinition" 619 // $ANTLR start "ruleAssertionOrDefinition"
593 // InternalSolverLanguageParser.g:215:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) ; 620 // InternalSolverLanguageParser.g:233:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) ;
594 public final EObject ruleAssertionOrDefinition() throws RecognitionException { 621 public final EObject ruleAssertionOrDefinition() throws RecognitionException {
595 EObject current = null; 622 EObject current = null;
596 623
@@ -610,11 +637,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
610 enterRule(); 637 enterRule();
611 638
612 try { 639 try {
613 // InternalSolverLanguageParser.g:221:2: ( (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) ) 640 // InternalSolverLanguageParser.g:239:2: ( (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) )
614 // InternalSolverLanguageParser.g:222:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) 641 // InternalSolverLanguageParser.g:240:2: (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? )
615 { 642 {
616 // InternalSolverLanguageParser.g:222:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) 643 // InternalSolverLanguageParser.g:240:2: (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? )
617 // InternalSolverLanguageParser.g:223:3: this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) 644 // InternalSolverLanguageParser.g:241:3: this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )?
618 { 645 {
619 646
620 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); 647 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
@@ -628,100 +655,76 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
628 current = this_Expression_0; 655 current = this_Expression_0;
629 afterParserOrEnumRuleCall(); 656 afterParserOrEnumRuleCall();
630 657
631 // InternalSolverLanguageParser.g:231:3: ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) 658 // InternalSolverLanguageParser.g:249:3: ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )?
632 int alt4=3; 659 int alt3=4;
633 switch ( input.LA(1) ) { 660 switch ( input.LA(1) ) {
634 case EOF: 661 case Colon:
635 case Colon: 662 {
636 case RULE_FULL_STOP: 663 alt3=1;
637 { 664 }
638 alt4=1; 665 break;
639 } 666 case ColonHyphenMinus:
640 break; 667 {
641 case ColonHyphenMinus: 668 alt3=2;
642 { 669 }
643 alt4=2; 670 break;
644 } 671 case EqualsSign:
645 break; 672 {
646 case EqualsSign: 673 alt3=3;
647 { 674 }
648 alt4=3; 675 break;
649 }
650 break;
651 default:
652 NoViableAltException nvae =
653 new NoViableAltException("", 4, 0, input);
654
655 throw nvae;
656 } 676 }
657 677
658 switch (alt4) { 678 switch (alt3) {
659 case 1 : 679 case 1 :
660 // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) 680 // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
661 { 681 {
662 // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) 682 // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
663 // InternalSolverLanguageParser.g:233:5: () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? 683 // InternalSolverLanguageParser.g:251:5: () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
664 { 684 {
665 // InternalSolverLanguageParser.g:233:5: () 685 // InternalSolverLanguageParser.g:251:5: ()
666 // InternalSolverLanguageParser.g:234:6: 686 // InternalSolverLanguageParser.g:252:6:
667 { 687 {
668 688
669 current = forceCreateModelElementAndSet( 689 current = forceCreateModelElementAndSet(
670 grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), 690 grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(),
671 current); 691 current);
672 692
673 693
674 } 694 }
675 695
676 // InternalSolverLanguageParser.g:240:5: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? 696 otherlv_2=(Token)match(input,Colon,FOLLOW_6);
677 int alt3=2;
678 int LA3_0 = input.LA(1);
679
680 if ( (LA3_0==Colon) ) {
681 alt3=1;
682 }
683 switch (alt3) {
684 case 1 :
685 // InternalSolverLanguageParser.g:241:6: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
686 {
687 otherlv_2=(Token)match(input,Colon,FOLLOW_6);
688
689 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
690
691 // InternalSolverLanguageParser.g:245:6: ( (lv_range_3_0= ruleExpression ) )
692 // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression )
693 {
694 // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression )
695 // InternalSolverLanguageParser.g:247:8: lv_range_3_0= ruleExpression
696 {
697
698 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
699
700 pushFollow(FOLLOW_2);
701 lv_range_3_0=ruleExpression();
702
703 state._fsp--;
704 697
698 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
699
700 // InternalSolverLanguageParser.g:262:5: ( (lv_range_3_0= ruleExpression ) )
701 // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression )
702 {
703 // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression )
704 // InternalSolverLanguageParser.g:264:7: lv_range_3_0= ruleExpression
705 {
705 706
706 if (current==null) { 707 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0());
707 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); 708
708 } 709 pushFollow(FOLLOW_2);
709 set( 710 lv_range_3_0=ruleExpression();
710 current,
711 "range",
712 lv_range_3_0,
713 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
714 afterParserOrEnumRuleCall();
715
716 711
717 } 712 state._fsp--;
718 713
719 714
720 } 715 if (current==null) {
716 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
717 }
718 set(
719 current,
720 "range",
721 lv_range_3_0,
722 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
723 afterParserOrEnumRuleCall();
724
721 725
726 }
722 727
723 }
724 break;
725 728
726 } 729 }
727 730
@@ -732,13 +735,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
732 } 735 }
733 break; 736 break;
734 case 2 : 737 case 2 :
735 // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 738 // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
736 { 739 {
737 // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 740 // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
738 // InternalSolverLanguageParser.g:268:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) 741 // InternalSolverLanguageParser.g:284:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) )
739 { 742 {
740 // InternalSolverLanguageParser.g:268:5: () 743 // InternalSolverLanguageParser.g:284:5: ()
741 // InternalSolverLanguageParser.g:269:6: 744 // InternalSolverLanguageParser.g:285:6:
742 { 745 {
743 746
744 current = forceCreateModelElementAndSet( 747 current = forceCreateModelElementAndSet(
@@ -752,11 +755,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
752 755
753 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); 756 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
754 757
755 // InternalSolverLanguageParser.g:279:5: ( (lv_body_6_0= ruleExpression ) ) 758 // InternalSolverLanguageParser.g:295:5: ( (lv_body_6_0= ruleExpression ) )
756 // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) 759 // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression )
757 { 760 {
758 // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) 761 // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression )
759 // InternalSolverLanguageParser.g:281:7: lv_body_6_0= ruleExpression 762 // InternalSolverLanguageParser.g:297:7: lv_body_6_0= ruleExpression
760 { 763 {
761 764
762 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); 765 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
@@ -790,13 +793,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
790 } 793 }
791 break; 794 break;
792 case 3 : 795 case 3 :
793 // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) 796 // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) )
794 { 797 {
795 // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) 798 // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) )
796 // InternalSolverLanguageParser.g:301:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) 799 // InternalSolverLanguageParser.g:317:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) )
797 { 800 {
798 // InternalSolverLanguageParser.g:301:5: () 801 // InternalSolverLanguageParser.g:317:5: ()
799 // InternalSolverLanguageParser.g:302:6: 802 // InternalSolverLanguageParser.g:318:6:
800 { 803 {
801 804
802 current = forceCreateModelElementAndSet( 805 current = forceCreateModelElementAndSet(
@@ -810,11 +813,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
810 813
811 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); 814 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1());
812 815
813 // InternalSolverLanguageParser.g:312:5: ( (lv_body_9_0= ruleExpression ) ) 816 // InternalSolverLanguageParser.g:328:5: ( (lv_body_9_0= ruleExpression ) )
814 // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) 817 // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression )
815 { 818 {
816 // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) 819 // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression )
817 // InternalSolverLanguageParser.g:314:7: lv_body_9_0= ruleExpression 820 // InternalSolverLanguageParser.g:330:7: lv_body_9_0= ruleExpression
818 { 821 {
819 822
820 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); 823 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
@@ -873,7 +876,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
873 876
874 877
875 // $ANTLR start "entryRulePredicateDefinition" 878 // $ANTLR start "entryRulePredicateDefinition"
876 // InternalSolverLanguageParser.g:337:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; 879 // InternalSolverLanguageParser.g:353:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
877 public final EObject entryRulePredicateDefinition() throws RecognitionException { 880 public final EObject entryRulePredicateDefinition() throws RecognitionException {
878 EObject current = null; 881 EObject current = null;
879 882
@@ -881,8 +884,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
881 884
882 885
883 try { 886 try {
884 // InternalSolverLanguageParser.g:337:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) 887 // InternalSolverLanguageParser.g:353:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
885 // InternalSolverLanguageParser.g:338:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF 888 // InternalSolverLanguageParser.g:354:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
886 { 889 {
887 newCompositeNode(grammarAccess.getPredicateDefinitionRule()); 890 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
888 pushFollow(FOLLOW_1); 891 pushFollow(FOLLOW_1);
@@ -909,7 +912,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
909 912
910 913
911 // $ANTLR start "rulePredicateDefinition" 914 // $ANTLR start "rulePredicateDefinition"
912 // InternalSolverLanguageParser.g:344:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ; 915 // InternalSolverLanguageParser.g:360:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ;
913 public final EObject rulePredicateDefinition() throws RecognitionException { 916 public final EObject rulePredicateDefinition() throws RecognitionException {
914 EObject current = null; 917 EObject current = null;
915 918
@@ -927,40 +930,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
927 enterRule(); 930 enterRule();
928 931
929 try { 932 try {
930 // InternalSolverLanguageParser.g:350:2: ( ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ) 933 // InternalSolverLanguageParser.g:366:2: ( ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) )
931 // InternalSolverLanguageParser.g:351:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 934 // InternalSolverLanguageParser.g:367:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
932 { 935 {
933 // InternalSolverLanguageParser.g:351:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 936 // InternalSolverLanguageParser.g:367:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
934 // InternalSolverLanguageParser.g:352:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) 937 // InternalSolverLanguageParser.g:368:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) )
935 { 938 {
936 // InternalSolverLanguageParser.g:352:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) 939 // InternalSolverLanguageParser.g:368:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) )
937 int alt7=2; 940 int alt6=2;
938 int LA7_0 = input.LA(1); 941 int LA6_0 = input.LA(1);
939 942
940 if ( (LA7_0==Functional) ) { 943 if ( (LA6_0==Functional) ) {
941 alt7=1; 944 alt6=1;
942 } 945 }
943 else if ( (LA7_0==Error) ) { 946 else if ( (LA6_0==Error) ) {
944 alt7=2; 947 alt6=2;
945 } 948 }
946 else { 949 else {
947 NoViableAltException nvae = 950 NoViableAltException nvae =
948 new NoViableAltException("", 7, 0, input); 951 new NoViableAltException("", 6, 0, input);
949 952
950 throw nvae; 953 throw nvae;
951 } 954 }
952 switch (alt7) { 955 switch (alt6) {
953 case 1 : 956 case 1 :
954 // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) 957 // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? )
955 { 958 {
956 // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) 959 // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? )
957 // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? 960 // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )?
958 { 961 {
959 // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) 962 // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) )
960 // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) 963 // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional )
961 { 964 {
962 // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) 965 // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional )
963 // InternalSolverLanguageParser.g:356:7: lv_functional_0_0= Functional 966 // InternalSolverLanguageParser.g:372:7: lv_functional_0_0= Functional
964 { 967 {
965 lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7); 968 lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7);
966 969
@@ -978,19 +981,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
978 981
979 } 982 }
980 983
981 // InternalSolverLanguageParser.g:368:5: ( (lv_error_1_0= Error ) )? 984 // InternalSolverLanguageParser.g:384:5: ( (lv_error_1_0= Error ) )?
982 int alt5=2; 985 int alt4=2;
983 int LA5_0 = input.LA(1); 986 int LA4_0 = input.LA(1);
984 987
985 if ( (LA5_0==Error) ) { 988 if ( (LA4_0==Error) ) {
986 alt5=1; 989 alt4=1;
987 } 990 }
988 switch (alt5) { 991 switch (alt4) {
989 case 1 : 992 case 1 :
990 // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) 993 // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error )
991 { 994 {
992 // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) 995 // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error )
993 // InternalSolverLanguageParser.g:370:7: lv_error_1_0= Error 996 // InternalSolverLanguageParser.g:386:7: lv_error_1_0= Error
994 { 997 {
995 lv_error_1_0=(Token)match(input,Error,FOLLOW_8); 998 lv_error_1_0=(Token)match(input,Error,FOLLOW_8);
996 999
@@ -1018,16 +1021,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1018 } 1021 }
1019 break; 1022 break;
1020 case 2 : 1023 case 2 :
1021 // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) 1024 // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? )
1022 { 1025 {
1023 // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) 1026 // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? )
1024 // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? 1027 // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )?
1025 { 1028 {
1026 // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) 1029 // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) )
1027 // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) 1030 // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error )
1028 { 1031 {
1029 // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) 1032 // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error )
1030 // InternalSolverLanguageParser.g:387:7: lv_error_2_0= Error 1033 // InternalSolverLanguageParser.g:403:7: lv_error_2_0= Error
1031 { 1034 {
1032 lv_error_2_0=(Token)match(input,Error,FOLLOW_9); 1035 lv_error_2_0=(Token)match(input,Error,FOLLOW_9);
1033 1036
@@ -1045,19 +1048,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1045 1048
1046 } 1049 }
1047 1050
1048 // InternalSolverLanguageParser.g:399:5: ( (lv_functional_3_0= Functional ) )? 1051 // InternalSolverLanguageParser.g:415:5: ( (lv_functional_3_0= Functional ) )?
1049 int alt6=2; 1052 int alt5=2;
1050 int LA6_0 = input.LA(1); 1053 int LA5_0 = input.LA(1);
1051 1054
1052 if ( (LA6_0==Functional) ) { 1055 if ( (LA5_0==Functional) ) {
1053 alt6=1; 1056 alt5=1;
1054 } 1057 }
1055 switch (alt6) { 1058 switch (alt5) {
1056 case 1 : 1059 case 1 :
1057 // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) 1060 // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional )
1058 { 1061 {
1059 // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) 1062 // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional )
1060 // InternalSolverLanguageParser.g:401:7: lv_functional_3_0= Functional 1063 // InternalSolverLanguageParser.g:417:7: lv_functional_3_0= Functional
1061 { 1064 {
1062 lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8); 1065 lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8);
1063 1066
@@ -1087,11 +1090,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1087 1090
1088 } 1091 }
1089 1092
1090 // InternalSolverLanguageParser.g:415:3: ( (lv_head_4_0= ruleCall ) ) 1093 // InternalSolverLanguageParser.g:431:3: ( (lv_head_4_0= ruleCall ) )
1091 // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) 1094 // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall )
1092 { 1095 {
1093 // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) 1096 // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall )
1094 // InternalSolverLanguageParser.g:417:5: lv_head_4_0= ruleCall 1097 // InternalSolverLanguageParser.g:433:5: lv_head_4_0= ruleCall
1095 { 1098 {
1096 1099
1097 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1100 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
@@ -1122,11 +1125,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1122 1125
1123 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); 1126 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
1124 1127
1125 // InternalSolverLanguageParser.g:438:3: ( (lv_body_6_0= ruleExpression ) ) 1128 // InternalSolverLanguageParser.g:454:3: ( (lv_body_6_0= ruleExpression ) )
1126 // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) 1129 // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression )
1127 { 1130 {
1128 // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) 1131 // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression )
1129 // InternalSolverLanguageParser.g:440:5: lv_body_6_0= ruleExpression 1132 // InternalSolverLanguageParser.g:456:5: lv_body_6_0= ruleExpression
1130 { 1133 {
1131 1134
1132 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 1135 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
@@ -1176,7 +1179,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1176 1179
1177 1180
1178 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" 1181 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition"
1179 // InternalSolverLanguageParser.g:461:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; 1182 // InternalSolverLanguageParser.g:477:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ;
1180 public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { 1183 public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException {
1181 EObject current = null; 1184 EObject current = null;
1182 1185
@@ -1184,8 +1187,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1184 1187
1185 1188
1186 try { 1189 try {
1187 // InternalSolverLanguageParser.g:461:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) 1190 // InternalSolverLanguageParser.g:477:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF )
1188 // InternalSolverLanguageParser.g:462:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF 1191 // InternalSolverLanguageParser.g:478:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF
1189 { 1192 {
1190 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 1193 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
1191 pushFollow(FOLLOW_1); 1194 pushFollow(FOLLOW_1);
@@ -1212,7 +1215,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1212 1215
1213 1216
1214 // $ANTLR start "ruleUnnamedErrorPrediateDefinition" 1217 // $ANTLR start "ruleUnnamedErrorPrediateDefinition"
1215 // InternalSolverLanguageParser.g:468:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ; 1218 // InternalSolverLanguageParser.g:484:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ;
1216 public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException { 1219 public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException {
1217 EObject current = null; 1220 EObject current = null;
1218 1221
@@ -1227,21 +1230,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1227 enterRule(); 1230 enterRule();
1228 1231
1229 try { 1232 try {
1230 // InternalSolverLanguageParser.g:474:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ) 1233 // InternalSolverLanguageParser.g:490:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) )
1231 // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) 1234 // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) )
1232 { 1235 {
1233 // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) 1236 // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) )
1234 // InternalSolverLanguageParser.g:476:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) 1237 // InternalSolverLanguageParser.g:492:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) )
1235 { 1238 {
1236 otherlv_0=(Token)match(input,Error,FOLLOW_11); 1239 otherlv_0=(Token)match(input,Error,FOLLOW_11);
1237 1240
1238 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); 1241 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0());
1239 1242
1240 // InternalSolverLanguageParser.g:480:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) 1243 // InternalSolverLanguageParser.g:496:3: ( (lv_argumentList_1_0= ruleArgumentList ) )
1241 // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) 1244 // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList )
1242 { 1245 {
1243 // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) 1246 // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList )
1244 // InternalSolverLanguageParser.g:482:5: lv_argumentList_1_0= ruleArgumentList 1247 // InternalSolverLanguageParser.g:498:5: lv_argumentList_1_0= ruleArgumentList
1245 { 1248 {
1246 1249
1247 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); 1250 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0());
@@ -1272,11 +1275,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1272 1275
1273 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); 1276 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2());
1274 1277
1275 // InternalSolverLanguageParser.g:503:3: ( (lv_body_3_0= ruleExpression ) ) 1278 // InternalSolverLanguageParser.g:519:3: ( (lv_body_3_0= ruleExpression ) )
1276 // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) 1279 // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression )
1277 { 1280 {
1278 // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) 1281 // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression )
1279 // InternalSolverLanguageParser.g:505:5: lv_body_3_0= ruleExpression 1282 // InternalSolverLanguageParser.g:521:5: lv_body_3_0= ruleExpression
1280 { 1283 {
1281 1284
1282 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 1285 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
@@ -1326,7 +1329,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1326 1329
1327 1330
1328 // $ANTLR start "entryRuleDefaultDefinition" 1331 // $ANTLR start "entryRuleDefaultDefinition"
1329 // InternalSolverLanguageParser.g:526:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; 1332 // InternalSolverLanguageParser.g:542:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ;
1330 public final EObject entryRuleDefaultDefinition() throws RecognitionException { 1333 public final EObject entryRuleDefaultDefinition() throws RecognitionException {
1331 EObject current = null; 1334 EObject current = null;
1332 1335
@@ -1334,8 +1337,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1334 1337
1335 1338
1336 try { 1339 try {
1337 // InternalSolverLanguageParser.g:526:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) 1340 // InternalSolverLanguageParser.g:542:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF )
1338 // InternalSolverLanguageParser.g:527:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF 1341 // InternalSolverLanguageParser.g:543:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF
1339 { 1342 {
1340 newCompositeNode(grammarAccess.getDefaultDefinitionRule()); 1343 newCompositeNode(grammarAccess.getDefaultDefinitionRule());
1341 pushFollow(FOLLOW_1); 1344 pushFollow(FOLLOW_1);
@@ -1362,7 +1365,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1362 1365
1363 1366
1364 // $ANTLR start "ruleDefaultDefinition" 1367 // $ANTLR start "ruleDefaultDefinition"
1365 // InternalSolverLanguageParser.g:533:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ; 1368 // InternalSolverLanguageParser.g:549:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ;
1366 public final EObject ruleDefaultDefinition() throws RecognitionException { 1369 public final EObject ruleDefaultDefinition() throws RecognitionException {
1367 EObject current = null; 1370 EObject current = null;
1368 1371
@@ -1377,21 +1380,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1377 enterRule(); 1380 enterRule();
1378 1381
1379 try { 1382 try {
1380 // InternalSolverLanguageParser.g:539:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ) 1383 // InternalSolverLanguageParser.g:555:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) )
1381 // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1384 // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
1382 { 1385 {
1383 // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1386 // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
1384 // InternalSolverLanguageParser.g:541:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) 1387 // InternalSolverLanguageParser.g:557:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
1385 { 1388 {
1386 otherlv_0=(Token)match(input,Default,FOLLOW_8); 1389 otherlv_0=(Token)match(input,Default,FOLLOW_8);
1387 1390
1388 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); 1391 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0());
1389 1392
1390 // InternalSolverLanguageParser.g:545:3: ( (lv_head_1_0= ruleCall ) ) 1393 // InternalSolverLanguageParser.g:561:3: ( (lv_head_1_0= ruleCall ) )
1391 // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) 1394 // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall )
1392 { 1395 {
1393 // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) 1396 // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall )
1394 // InternalSolverLanguageParser.g:547:5: lv_head_1_0= ruleCall 1397 // InternalSolverLanguageParser.g:563:5: lv_head_1_0= ruleCall
1395 { 1398 {
1396 1399
1397 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1400 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0());
@@ -1422,11 +1425,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1422 1425
1423 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); 1426 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2());
1424 1427
1425 // InternalSolverLanguageParser.g:568:3: ( (lv_range_3_0= ruleExpression ) ) 1428 // InternalSolverLanguageParser.g:584:3: ( (lv_range_3_0= ruleExpression ) )
1426 // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) 1429 // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression )
1427 { 1430 {
1428 // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) 1431 // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression )
1429 // InternalSolverLanguageParser.g:570:5: lv_range_3_0= ruleExpression 1432 // InternalSolverLanguageParser.g:586:5: lv_range_3_0= ruleExpression
1430 { 1433 {
1431 1434
1432 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); 1435 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0());
@@ -1475,8 +1478,181 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1475 // $ANTLR end "ruleDefaultDefinition" 1478 // $ANTLR end "ruleDefaultDefinition"
1476 1479
1477 1480
1481 // $ANTLR start "entryRuleMetricDefinition"
1482 // InternalSolverLanguageParser.g:607:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ;
1483 public final EObject entryRuleMetricDefinition() throws RecognitionException {
1484 EObject current = null;
1485
1486 EObject iv_ruleMetricDefinition = null;
1487
1488
1489 try {
1490 // InternalSolverLanguageParser.g:607:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF )
1491 // InternalSolverLanguageParser.g:608:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF
1492 {
1493 newCompositeNode(grammarAccess.getMetricDefinitionRule());
1494 pushFollow(FOLLOW_1);
1495 iv_ruleMetricDefinition=ruleMetricDefinition();
1496
1497 state._fsp--;
1498
1499 current =iv_ruleMetricDefinition;
1500 match(input,EOF,FOLLOW_2);
1501
1502 }
1503
1504 }
1505
1506 catch (RecognitionException re) {
1507 recover(input,re);
1508 appendSkippedTokens();
1509 }
1510 finally {
1511 }
1512 return current;
1513 }
1514 // $ANTLR end "entryRuleMetricDefinition"
1515
1516
1517 // $ANTLR start "ruleMetricDefinition"
1518 // InternalSolverLanguageParser.g:614:1: ruleMetricDefinition returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ;
1519 public final EObject ruleMetricDefinition() throws RecognitionException {
1520 EObject current = null;
1521
1522 Token otherlv_2=null;
1523 EObject lv_head_1_0 = null;
1524
1525 EObject lv_body_3_0 = null;
1526
1527
1528
1529 enterRule();
1530
1531 try {
1532 // InternalSolverLanguageParser.g:620:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) )
1533 // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) )
1534 {
1535 // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) )
1536 // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) )
1537 {
1538 // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) )
1539 // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName )
1540 {
1541 // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName )
1542 // InternalSolverLanguageParser.g:624:5: ruleQualifiedName
1543 {
1544
1545 if (current==null) {
1546 current = createModelElement(grammarAccess.getMetricDefinitionRule());
1547 }
1548
1549
1550 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0());
1551
1552 pushFollow(FOLLOW_8);
1553 ruleQualifiedName();
1554
1555 state._fsp--;
1556
1557
1558 afterParserOrEnumRuleCall();
1559
1560
1561 }
1562
1563
1564 }
1565
1566 // InternalSolverLanguageParser.g:638:3: ( (lv_head_1_0= ruleCall ) )
1567 // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall )
1568 {
1569 // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall )
1570 // InternalSolverLanguageParser.g:640:5: lv_head_1_0= ruleCall
1571 {
1572
1573 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0());
1574
1575 pushFollow(FOLLOW_13);
1576 lv_head_1_0=ruleCall();
1577
1578 state._fsp--;
1579
1580
1581 if (current==null) {
1582 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1583 }
1584 set(
1585 current,
1586 "head",
1587 lv_head_1_0,
1588 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
1589 afterParserOrEnumRuleCall();
1590
1591
1592 }
1593
1594
1595 }
1596
1597 otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6);
1598
1599 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
1600
1601 // InternalSolverLanguageParser.g:661:3: ( (lv_body_3_0= ruleExpression ) )
1602 // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression )
1603 {
1604 // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression )
1605 // InternalSolverLanguageParser.g:663:5: lv_body_3_0= ruleExpression
1606 {
1607
1608 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
1609
1610 pushFollow(FOLLOW_2);
1611 lv_body_3_0=ruleExpression();
1612
1613 state._fsp--;
1614
1615
1616 if (current==null) {
1617 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1618 }
1619 set(
1620 current,
1621 "body",
1622 lv_body_3_0,
1623 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1624 afterParserOrEnumRuleCall();
1625
1626
1627 }
1628
1629
1630 }
1631
1632
1633 }
1634
1635
1636 }
1637
1638
1639 leaveRule();
1640
1641 }
1642
1643 catch (RecognitionException re) {
1644 recover(input,re);
1645 appendSkippedTokens();
1646 }
1647 finally {
1648 }
1649 return current;
1650 }
1651 // $ANTLR end "ruleMetricDefinition"
1652
1653
1478 // $ANTLR start "entryRuleExternPredicateDefinition" 1654 // $ANTLR start "entryRuleExternPredicateDefinition"
1479 // InternalSolverLanguageParser.g:591:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; 1655 // InternalSolverLanguageParser.g:684:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ;
1480 public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { 1656 public final EObject entryRuleExternPredicateDefinition() throws RecognitionException {
1481 EObject current = null; 1657 EObject current = null;
1482 1658
@@ -1484,8 +1660,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1484 1660
1485 1661
1486 try { 1662 try {
1487 // InternalSolverLanguageParser.g:591:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) 1663 // InternalSolverLanguageParser.g:684:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF )
1488 // InternalSolverLanguageParser.g:592:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF 1664 // InternalSolverLanguageParser.g:685:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF
1489 { 1665 {
1490 newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); 1666 newCompositeNode(grammarAccess.getExternPredicateDefinitionRule());
1491 pushFollow(FOLLOW_1); 1667 pushFollow(FOLLOW_1);
@@ -1512,39 +1688,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1512 1688
1513 1689
1514 // $ANTLR start "ruleExternPredicateDefinition" 1690 // $ANTLR start "ruleExternPredicateDefinition"
1515 // InternalSolverLanguageParser.g:598:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ; 1691 // InternalSolverLanguageParser.g:691:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) ;
1516 public final EObject ruleExternPredicateDefinition() throws RecognitionException { 1692 public final EObject ruleExternPredicateDefinition() throws RecognitionException {
1517 EObject current = null; 1693 EObject current = null;
1518 1694
1519 Token otherlv_0=null; 1695 Token otherlv_0=null;
1520 EObject lv_head_1_0 = null; 1696 AntlrDatatypeRuleToken lv_name_1_0 = null;
1697
1698 EObject lv_argumentList_2_0 = null;
1521 1699
1522 1700
1523 1701
1524 enterRule(); 1702 enterRule();
1525 1703
1526 try { 1704 try {
1527 // InternalSolverLanguageParser.g:604:2: ( (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ) 1705 // InternalSolverLanguageParser.g:697:2: ( (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) )
1528 // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) 1706 // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) )
1529 { 1707 {
1530 // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) 1708 // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) )
1531 // InternalSolverLanguageParser.g:606:3: otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) 1709 // InternalSolverLanguageParser.g:699:3: otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) )
1532 { 1710 {
1533 otherlv_0=(Token)match(input,Extern,FOLLOW_8); 1711 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
1534 1712
1535 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); 1713 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
1536 1714
1537 // InternalSolverLanguageParser.g:610:3: ( (lv_head_1_0= ruleCall ) ) 1715 // InternalSolverLanguageParser.g:703:3: ( (lv_name_1_0= ruleQualifiedName ) )
1538 // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) 1716 // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName )
1717 {
1718 // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName )
1719 // InternalSolverLanguageParser.g:705:5: lv_name_1_0= ruleQualifiedName
1720 {
1721
1722 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0());
1723
1724 pushFollow(FOLLOW_11);
1725 lv_name_1_0=ruleQualifiedName();
1726
1727 state._fsp--;
1728
1729
1730 if (current==null) {
1731 current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
1732 }
1733 set(
1734 current,
1735 "name",
1736 lv_name_1_0,
1737 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1738 afterParserOrEnumRuleCall();
1739
1740
1741 }
1742
1743
1744 }
1745
1746 // InternalSolverLanguageParser.g:722:3: ( (lv_argumentList_2_0= ruleArgumentList ) )
1747 // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList )
1539 { 1748 {
1540 // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) 1749 // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList )
1541 // InternalSolverLanguageParser.g:612:5: lv_head_1_0= ruleCall 1750 // InternalSolverLanguageParser.g:724:5: lv_argumentList_2_0= ruleArgumentList
1542 { 1751 {
1543 1752
1544 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1753 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0());
1545 1754
1546 pushFollow(FOLLOW_2); 1755 pushFollow(FOLLOW_2);
1547 lv_head_1_0=ruleCall(); 1756 lv_argumentList_2_0=ruleArgumentList();
1548 1757
1549 state._fsp--; 1758 state._fsp--;
1550 1759
@@ -1554,9 +1763,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1554 } 1763 }
1555 set( 1764 set(
1556 current, 1765 current,
1557 "head", 1766 "argumentList",
1558 lv_head_1_0, 1767 lv_argumentList_2_0,
1559 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 1768 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1560 afterParserOrEnumRuleCall(); 1769 afterParserOrEnumRuleCall();
1561 1770
1562 1771
@@ -1587,25 +1796,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1587 // $ANTLR end "ruleExternPredicateDefinition" 1796 // $ANTLR end "ruleExternPredicateDefinition"
1588 1797
1589 1798
1590 // $ANTLR start "entryRuleMetricDefinition" 1799 // $ANTLR start "entryRuleExternMetricDefinition"
1591 // InternalSolverLanguageParser.g:633:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; 1800 // InternalSolverLanguageParser.g:745:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ;
1592 public final EObject entryRuleMetricDefinition() throws RecognitionException { 1801 public final EObject entryRuleExternMetricDefinition() throws RecognitionException {
1593 EObject current = null; 1802 EObject current = null;
1594 1803
1595 EObject iv_ruleMetricDefinition = null; 1804 EObject iv_ruleExternMetricDefinition = null;
1596 1805
1597 1806
1598 try { 1807 try {
1599 // InternalSolverLanguageParser.g:633:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) 1808 // InternalSolverLanguageParser.g:745:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF )
1600 // InternalSolverLanguageParser.g:634:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF 1809 // InternalSolverLanguageParser.g:746:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF
1601 { 1810 {
1602 newCompositeNode(grammarAccess.getMetricDefinitionRule()); 1811 newCompositeNode(grammarAccess.getExternMetricDefinitionRule());
1603 pushFollow(FOLLOW_1); 1812 pushFollow(FOLLOW_1);
1604 iv_ruleMetricDefinition=ruleMetricDefinition(); 1813 iv_ruleExternMetricDefinition=ruleExternMetricDefinition();
1605 1814
1606 state._fsp--; 1815 state._fsp--;
1607 1816
1608 current =iv_ruleMetricDefinition; 1817 current =iv_ruleExternMetricDefinition;
1609 match(input,EOF,FOLLOW_2); 1818 match(input,EOF,FOLLOW_2);
1610 1819
1611 } 1820 }
@@ -1620,55 +1829,85 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1620 } 1829 }
1621 return current; 1830 return current;
1622 } 1831 }
1623 // $ANTLR end "entryRuleMetricDefinition" 1832 // $ANTLR end "entryRuleExternMetricDefinition"
1624 1833
1625 1834
1626 // $ANTLR start "ruleMetricDefinition" 1835 // $ANTLR start "ruleExternMetricDefinition"
1627 // InternalSolverLanguageParser.g:640:1: ruleMetricDefinition returns [EObject current=null] : ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ; 1836 // InternalSolverLanguageParser.g:752:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ;
1628 public final EObject ruleMetricDefinition() throws RecognitionException { 1837 public final EObject ruleExternMetricDefinition() throws RecognitionException {
1629 EObject current = null; 1838 EObject current = null;
1630 1839
1631 Token otherlv_2=null; 1840 Token otherlv_0=null;
1632 Enumerator lv_type_0_0 = null; 1841 AntlrDatatypeRuleToken lv_name_2_0 = null;
1633
1634 EObject lv_head_1_0 = null;
1635 1842
1636 EObject lv_body_3_0 = null; 1843 EObject lv_argumentList_3_0 = null;
1637 1844
1638 1845
1639 1846
1640 enterRule(); 1847 enterRule();
1641 1848
1642 try { 1849 try {
1643 // InternalSolverLanguageParser.g:646:2: ( ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ) 1850 // InternalSolverLanguageParser.g:758:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) )
1644 // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) 1851 // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) )
1645 { 1852 {
1646 // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) 1853 // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) )
1647 // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) 1854 // InternalSolverLanguageParser.g:760:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) )
1648 { 1855 {
1649 // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) 1856 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
1650 // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) 1857
1858 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
1859
1860 // InternalSolverLanguageParser.g:764:3: ( ( ruleQualifiedName ) )
1861 // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName )
1651 { 1862 {
1652 // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) 1863 // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName )
1653 // InternalSolverLanguageParser.g:650:5: lv_type_0_0= ruleMetricType 1864 // InternalSolverLanguageParser.g:766:5: ruleQualifiedName
1654 { 1865 {
1655 1866
1656 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); 1867 if (current==null) {
1868 current = createModelElement(grammarAccess.getExternMetricDefinitionRule());
1869 }
1870
1871
1872 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0());
1657 1873
1658 pushFollow(FOLLOW_6); 1874 pushFollow(FOLLOW_8);
1659 lv_type_0_0=ruleMetricType(); 1875 ruleQualifiedName();
1876
1877 state._fsp--;
1878
1879
1880 afterParserOrEnumRuleCall();
1881
1882
1883 }
1884
1885
1886 }
1887
1888 // InternalSolverLanguageParser.g:780:3: ( (lv_name_2_0= ruleQualifiedName ) )
1889 // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName )
1890 {
1891 // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName )
1892 // InternalSolverLanguageParser.g:782:5: lv_name_2_0= ruleQualifiedName
1893 {
1894
1895 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
1896
1897 pushFollow(FOLLOW_11);
1898 lv_name_2_0=ruleQualifiedName();
1660 1899
1661 state._fsp--; 1900 state._fsp--;
1662 1901
1663 1902
1664 if (current==null) { 1903 if (current==null) {
1665 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 1904 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
1666 } 1905 }
1667 set( 1906 set(
1668 current, 1907 current,
1669 "type", 1908 "name",
1670 lv_type_0_0, 1909 lv_name_2_0,
1671 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 1910 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1672 afterParserOrEnumRuleCall(); 1911 afterParserOrEnumRuleCall();
1673 1912
1674 1913
@@ -1677,29 +1916,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1677 1916
1678 } 1917 }
1679 1918
1680 // InternalSolverLanguageParser.g:667:3: ( (lv_head_1_0= ruleExpression ) ) 1919 // InternalSolverLanguageParser.g:799:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
1681 // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) 1920 // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList )
1682 { 1921 {
1683 // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) 1922 // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList )
1684 // InternalSolverLanguageParser.g:669:5: lv_head_1_0= ruleExpression 1923 // InternalSolverLanguageParser.g:801:5: lv_argumentList_3_0= ruleArgumentList
1685 { 1924 {
1686 1925
1687 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); 1926 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0());
1688 1927
1689 pushFollow(FOLLOW_13); 1928 pushFollow(FOLLOW_2);
1690 lv_head_1_0=ruleExpression(); 1929 lv_argumentList_3_0=ruleArgumentList();
1691 1930
1692 state._fsp--; 1931 state._fsp--;
1693 1932
1694 1933
1695 if (current==null) { 1934 if (current==null) {
1696 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 1935 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
1697 } 1936 }
1698 set( 1937 set(
1699 current, 1938 current,
1700 "head", 1939 "argumentList",
1701 lv_head_1_0, 1940 lv_argumentList_3_0,
1702 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 1941 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1703 afterParserOrEnumRuleCall(); 1942 afterParserOrEnumRuleCall();
1704 1943
1705 1944
@@ -1708,33 +1947,141 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1708 1947
1709 } 1948 }
1710 1949
1711 otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6);
1712 1950
1713 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 1951 }
1952
1953
1954 }
1955
1956
1957 leaveRule();
1958
1959 }
1960
1961 catch (RecognitionException re) {
1962 recover(input,re);
1963 appendSkippedTokens();
1964 }
1965 finally {
1966 }
1967 return current;
1968 }
1969 // $ANTLR end "ruleExternMetricDefinition"
1970
1971
1972 // $ANTLR start "entryRuleExternAggregatorDefinition"
1973 // InternalSolverLanguageParser.g:822:1: entryRuleExternAggregatorDefinition returns [EObject current=null] : iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ;
1974 public final EObject entryRuleExternAggregatorDefinition() throws RecognitionException {
1975 EObject current = null;
1976
1977 EObject iv_ruleExternAggregatorDefinition = null;
1978
1979
1980 try {
1981 // InternalSolverLanguageParser.g:822:67: (iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF )
1982 // InternalSolverLanguageParser.g:823:2: iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF
1983 {
1984 newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule());
1985 pushFollow(FOLLOW_1);
1986 iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition();
1987
1988 state._fsp--;
1989
1990 current =iv_ruleExternAggregatorDefinition;
1991 match(input,EOF,FOLLOW_2);
1992
1993 }
1994
1995 }
1996
1997 catch (RecognitionException re) {
1998 recover(input,re);
1999 appendSkippedTokens();
2000 }
2001 finally {
2002 }
2003 return current;
2004 }
2005 // $ANTLR end "entryRuleExternAggregatorDefinition"
2006
2007
2008 // $ANTLR start "ruleExternAggregatorDefinition"
2009 // InternalSolverLanguageParser.g:829:1: ruleExternAggregatorDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) ;
2010 public final EObject ruleExternAggregatorDefinition() throws RecognitionException {
2011 EObject current = null;
2012
2013 Token otherlv_0=null;
2014 Token otherlv_3=null;
2015 Token otherlv_5=null;
2016 Token otherlv_6=null;
2017 AntlrDatatypeRuleToken lv_name_2_0 = null;
2018
2019
2020
2021 enterRule();
2022
2023 try {
2024 // InternalSolverLanguageParser.g:835:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) )
2025 // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket )
2026 {
2027 // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket )
2028 // InternalSolverLanguageParser.g:837:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket
2029 {
2030 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
2031
2032 newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0());
1714 2033
1715 // InternalSolverLanguageParser.g:690:3: ( (lv_body_3_0= ruleExpression ) ) 2034 // InternalSolverLanguageParser.g:841:3: ( ( ruleQualifiedName ) )
1716 // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) 2035 // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName )
1717 { 2036 {
1718 // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) 2037 // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName )
1719 // InternalSolverLanguageParser.g:692:5: lv_body_3_0= ruleExpression 2038 // InternalSolverLanguageParser.g:843:5: ruleQualifiedName
1720 { 2039 {
1721 2040
1722 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 2041 if (current==null) {
2042 current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
2043 }
1723 2044
1724 pushFollow(FOLLOW_2); 2045
1725 lv_body_3_0=ruleExpression(); 2046 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0());
2047
2048 pushFollow(FOLLOW_8);
2049 ruleQualifiedName();
2050
2051 state._fsp--;
2052
2053
2054 afterParserOrEnumRuleCall();
2055
2056
2057 }
2058
2059
2060 }
2061
2062 // InternalSolverLanguageParser.g:857:3: ( (lv_name_2_0= ruleQualifiedName ) )
2063 // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName )
2064 {
2065 // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName )
2066 // InternalSolverLanguageParser.g:859:5: lv_name_2_0= ruleQualifiedName
2067 {
2068
2069 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
2070
2071 pushFollow(FOLLOW_14);
2072 lv_name_2_0=ruleQualifiedName();
1726 2073
1727 state._fsp--; 2074 state._fsp--;
1728 2075
1729 2076
1730 if (current==null) { 2077 if (current==null) {
1731 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 2078 current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule());
1732 } 2079 }
1733 set( 2080 set(
1734 current, 2081 current,
1735 "body", 2082 "name",
1736 lv_body_3_0, 2083 lv_name_2_0,
1737 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2084 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1738 afterParserOrEnumRuleCall(); 2085 afterParserOrEnumRuleCall();
1739 2086
1740 2087
@@ -1743,6 +2090,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1743 2090
1744 } 2091 }
1745 2092
2093 otherlv_3=(Token)match(input,LeftCurlyBracket,FOLLOW_8);
2094
2095 newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
2096
2097 // InternalSolverLanguageParser.g:880:3: ( ( ruleQualifiedName ) )
2098 // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName )
2099 {
2100 // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName )
2101 // InternalSolverLanguageParser.g:882:5: ruleQualifiedName
2102 {
2103
2104 if (current==null) {
2105 current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
2106 }
2107
2108
2109 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
2110
2111 pushFollow(FOLLOW_15);
2112 ruleQualifiedName();
2113
2114 state._fsp--;
2115
2116
2117 afterParserOrEnumRuleCall();
2118
2119
2120 }
2121
2122
2123 }
2124
2125 otherlv_5=(Token)match(input,FullStopFullStopFullStop,FOLLOW_16);
2126
2127 newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
2128
2129 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
2130
2131 newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6());
2132
1746 2133
1747 } 2134 }
1748 2135
@@ -1762,28 +2149,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1762 } 2149 }
1763 return current; 2150 return current;
1764 } 2151 }
1765 // $ANTLR end "ruleMetricDefinition" 2152 // $ANTLR end "ruleExternAggregatorDefinition"
1766 2153
1767 2154
1768 // $ANTLR start "entryRuleExternMetricDefinition" 2155 // $ANTLR start "entryRuleExternDatatypeDefinition"
1769 // InternalSolverLanguageParser.g:713:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; 2156 // InternalSolverLanguageParser.g:908:1: entryRuleExternDatatypeDefinition returns [EObject current=null] : iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ;
1770 public final EObject entryRuleExternMetricDefinition() throws RecognitionException { 2157 public final EObject entryRuleExternDatatypeDefinition() throws RecognitionException {
1771 EObject current = null; 2158 EObject current = null;
1772 2159
1773 EObject iv_ruleExternMetricDefinition = null; 2160 EObject iv_ruleExternDatatypeDefinition = null;
1774 2161
1775 2162
1776 try { 2163 try {
1777 // InternalSolverLanguageParser.g:713:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) 2164 // InternalSolverLanguageParser.g:908:65: (iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF )
1778 // InternalSolverLanguageParser.g:714:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF 2165 // InternalSolverLanguageParser.g:909:2: iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF
1779 { 2166 {
1780 newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); 2167 newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule());
1781 pushFollow(FOLLOW_1); 2168 pushFollow(FOLLOW_1);
1782 iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); 2169 iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition();
1783 2170
1784 state._fsp--; 2171 state._fsp--;
1785 2172
1786 current =iv_ruleExternMetricDefinition; 2173 current =iv_ruleExternDatatypeDefinition;
1787 match(input,EOF,FOLLOW_2); 2174 match(input,EOF,FOLLOW_2);
1788 2175
1789 } 2176 }
@@ -1798,57 +2185,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1798 } 2185 }
1799 return current; 2186 return current;
1800 } 2187 }
1801 // $ANTLR end "entryRuleExternMetricDefinition" 2188 // $ANTLR end "entryRuleExternDatatypeDefinition"
1802 2189
1803 2190
1804 // $ANTLR start "ruleExternMetricDefinition" 2191 // $ANTLR start "ruleExternDatatypeDefinition"
1805 // InternalSolverLanguageParser.g:720:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ; 2192 // InternalSolverLanguageParser.g:915:1: ruleExternDatatypeDefinition returns [EObject current=null] : (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) ;
1806 public final EObject ruleExternMetricDefinition() throws RecognitionException { 2193 public final EObject ruleExternDatatypeDefinition() throws RecognitionException {
1807 EObject current = null; 2194 EObject current = null;
1808 2195
1809 Token otherlv_0=null; 2196 Token otherlv_0=null;
1810 Enumerator lv_type_1_0 = null; 2197 Token otherlv_1=null;
1811 2198 Token otherlv_3=null;
1812 EObject lv_head_2_0 = null; 2199 Token otherlv_5=null;
2200 AntlrDatatypeRuleToken lv_name_2_0 = null;
1813 2201
1814 2202
1815 2203
1816 enterRule(); 2204 enterRule();
1817 2205
1818 try { 2206 try {
1819 // InternalSolverLanguageParser.g:726:2: ( (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ) 2207 // InternalSolverLanguageParser.g:921:2: ( (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) )
1820 // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) 2208 // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) )
1821 { 2209 {
1822 // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) 2210 // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) )
1823 // InternalSolverLanguageParser.g:728:3: otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) 2211 // InternalSolverLanguageParser.g:923:3: otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )
1824 { 2212 {
1825 otherlv_0=(Token)match(input,Extern,FOLLOW_14); 2213 otherlv_0=(Token)match(input,Extern,FOLLOW_17);
1826 2214
1827 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 2215 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0());
2216
2217 otherlv_1=(Token)match(input,Datatype,FOLLOW_8);
2218
2219 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1());
1828 2220
1829 // InternalSolverLanguageParser.g:732:3: ( (lv_type_1_0= ruleMetricType ) ) 2221 // InternalSolverLanguageParser.g:931:3: ( (lv_name_2_0= ruleQualifiedName ) )
1830 // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) 2222 // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName )
1831 { 2223 {
1832 // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) 2224 // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName )
1833 // InternalSolverLanguageParser.g:734:5: lv_type_1_0= ruleMetricType 2225 // InternalSolverLanguageParser.g:933:5: lv_name_2_0= ruleQualifiedName
1834 { 2226 {
1835 2227
1836 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); 2228 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
1837 2229
1838 pushFollow(FOLLOW_8); 2230 pushFollow(FOLLOW_18);
1839 lv_type_1_0=ruleMetricType(); 2231 lv_name_2_0=ruleQualifiedName();
1840 2232
1841 state._fsp--; 2233 state._fsp--;
1842 2234
1843 2235
1844 if (current==null) { 2236 if (current==null) {
1845 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 2237 current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule());
1846 } 2238 }
1847 set( 2239 set(
1848 current, 2240 current,
1849 "type", 2241 "name",
1850 lv_type_1_0, 2242 lv_name_2_0,
1851 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 2243 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1852 afterParserOrEnumRuleCall(); 2244 afterParserOrEnumRuleCall();
1853 2245
1854 2246
@@ -1857,30 +2249,240 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1857 2249
1858 } 2250 }
1859 2251
1860 // InternalSolverLanguageParser.g:751:3: ( (lv_head_2_0= ruleCall ) ) 2252 // InternalSolverLanguageParser.g:950:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )
1861 // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) 2253 // InternalSolverLanguageParser.g:951:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
1862 { 2254 {
1863 // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) 2255 otherlv_3=(Token)match(input,Extends,FOLLOW_8);
1864 // InternalSolverLanguageParser.g:753:5: lv_head_2_0= ruleCall 2256
2257 newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0());
2258
2259 // InternalSolverLanguageParser.g:955:4: ( ( ruleQualifiedName ) )
2260 // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName )
2261 {
2262 // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName )
2263 // InternalSolverLanguageParser.g:957:6: ruleQualifiedName
1865 { 2264 {
1866 2265
1867 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); 2266 if (current==null) {
1868 2267 current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
1869 pushFollow(FOLLOW_2); 2268 }
1870 lv_head_2_0=ruleCall(); 2269
2270
2271 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0());
2272
2273 pushFollow(FOLLOW_19);
2274 ruleQualifiedName();
2275
2276 state._fsp--;
2277
2278
2279 afterParserOrEnumRuleCall();
2280
2281
2282 }
2283
2284
2285 }
2286
2287 // InternalSolverLanguageParser.g:971:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
2288 loop7:
2289 do {
2290 int alt7=2;
2291 int LA7_0 = input.LA(1);
2292
2293 if ( (LA7_0==Comma) ) {
2294 alt7=1;
2295 }
2296
2297
2298 switch (alt7) {
2299 case 1 :
2300 // InternalSolverLanguageParser.g:972:5: otherlv_5= Comma ( ( ruleQualifiedName ) )
2301 {
2302 otherlv_5=(Token)match(input,Comma,FOLLOW_8);
2303
2304 newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0());
2305
2306 // InternalSolverLanguageParser.g:976:5: ( ( ruleQualifiedName ) )
2307 // InternalSolverLanguageParser.g:977:6: ( ruleQualifiedName )
2308 {
2309 // InternalSolverLanguageParser.g:977:6: ( ruleQualifiedName )
2310 // InternalSolverLanguageParser.g:978:7: ruleQualifiedName
2311 {
2312
2313 if (current==null) {
2314 current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
2315 }
2316
2317
2318 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0());
2319
2320 pushFollow(FOLLOW_19);
2321 ruleQualifiedName();
2322
2323 state._fsp--;
2324
2325
2326 afterParserOrEnumRuleCall();
2327
2328
2329 }
2330
2331
2332 }
2333
2334
2335 }
2336 break;
2337
2338 default :
2339 break loop7;
2340 }
2341 } while (true);
2342
2343
2344 }
2345
2346
2347 }
2348
2349
2350 }
2351
2352
2353 leaveRule();
2354
2355 }
2356
2357 catch (RecognitionException re) {
2358 recover(input,re);
2359 appendSkippedTokens();
2360 }
2361 finally {
2362 }
2363 return current;
2364 }
2365 // $ANTLR end "ruleExternDatatypeDefinition"
2366
2367
2368 // $ANTLR start "entryRuleVariable"
2369 // InternalSolverLanguageParser.g:998:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ;
2370 public final EObject entryRuleVariable() throws RecognitionException {
2371 EObject current = null;
2372
2373 EObject iv_ruleVariable = null;
2374
2375
2376 try {
2377 // InternalSolverLanguageParser.g:998:49: (iv_ruleVariable= ruleVariable EOF )
2378 // InternalSolverLanguageParser.g:999:2: iv_ruleVariable= ruleVariable EOF
2379 {
2380 newCompositeNode(grammarAccess.getVariableRule());
2381 pushFollow(FOLLOW_1);
2382 iv_ruleVariable=ruleVariable();
1871 2383
1872 state._fsp--; 2384 state._fsp--;
1873 2385
2386 current =iv_ruleVariable;
2387 match(input,EOF,FOLLOW_2);
2388
2389 }
2390
2391 }
2392
2393 catch (RecognitionException re) {
2394 recover(input,re);
2395 appendSkippedTokens();
2396 }
2397 finally {
2398 }
2399 return current;
2400 }
2401 // $ANTLR end "entryRuleVariable"
2402
2403
2404 // $ANTLR start "ruleVariable"
2405 // InternalSolverLanguageParser.g:1005:1: ruleVariable returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) ;
2406 public final EObject ruleVariable() throws RecognitionException {
2407 EObject current = null;
2408
2409 Token lv_name_1_0=null;
2410
2411
2412 enterRule();
2413
2414 try {
2415 // InternalSolverLanguageParser.g:1011:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) )
2416 // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) )
2417 {
2418 // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) )
2419 // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) )
2420 {
2421 // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )?
2422 int alt8=2;
2423 int LA8_0 = input.LA(1);
2424
2425 if ( (LA8_0==RULE_ID) ) {
2426 int LA8_1 = input.LA(2);
2427
2428 if ( (LA8_1==FullStop||LA8_1==RULE_ID) ) {
2429 alt8=1;
2430 }
2431 }
2432 else if ( (LA8_0==RULE_QUOTED_ID) ) {
2433 alt8=1;
2434 }
2435 switch (alt8) {
2436 case 1 :
2437 // InternalSolverLanguageParser.g:1014:4: ( ruleQualifiedName )
2438 {
2439 // InternalSolverLanguageParser.g:1014:4: ( ruleQualifiedName )
2440 // InternalSolverLanguageParser.g:1015:5: ruleQualifiedName
2441 {
2442
2443 if (current==null) {
2444 current = createModelElement(grammarAccess.getVariableRule());
2445 }
2446
2447
2448 newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0());
2449
2450 pushFollow(FOLLOW_20);
2451 ruleQualifiedName();
2452
2453 state._fsp--;
2454
2455
2456 afterParserOrEnumRuleCall();
2457
2458
2459 }
2460
2461
2462 }
2463 break;
2464
2465 }
2466
2467 // InternalSolverLanguageParser.g:1029:3: ( (lv_name_1_0= RULE_ID ) )
2468 // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID )
2469 {
2470 // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID )
2471 // InternalSolverLanguageParser.g:1031:5: lv_name_1_0= RULE_ID
2472 {
2473 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
2474
2475 newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0());
2476
1874 2477
1875 if (current==null) { 2478 if (current==null) {
1876 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 2479 current = createModelElement(grammarAccess.getVariableRule());
1877 } 2480 }
1878 set( 2481 setWithLastConsumed(
1879 current, 2482 current,
1880 "head", 2483 "name",
1881 lv_head_2_0, 2484 lv_name_1_0,
1882 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 2485 "org.eclipse.xtext.common.Terminals.ID");
1883 afterParserOrEnumRuleCall();
1884 2486
1885 2487
1886 } 2488 }
@@ -1907,11 +2509,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1907 } 2509 }
1908 return current; 2510 return current;
1909 } 2511 }
1910 // $ANTLR end "ruleExternMetricDefinition" 2512 // $ANTLR end "ruleVariable"
1911 2513
1912 2514
1913 // $ANTLR start "entryRuleExpression" 2515 // $ANTLR start "entryRuleExpression"
1914 // InternalSolverLanguageParser.g:774:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; 2516 // InternalSolverLanguageParser.g:1051:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
1915 public final EObject entryRuleExpression() throws RecognitionException { 2517 public final EObject entryRuleExpression() throws RecognitionException {
1916 EObject current = null; 2518 EObject current = null;
1917 2519
@@ -1919,8 +2521,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1919 2521
1920 2522
1921 try { 2523 try {
1922 // InternalSolverLanguageParser.g:774:51: (iv_ruleExpression= ruleExpression EOF ) 2524 // InternalSolverLanguageParser.g:1051:51: (iv_ruleExpression= ruleExpression EOF )
1923 // InternalSolverLanguageParser.g:775:2: iv_ruleExpression= ruleExpression EOF 2525 // InternalSolverLanguageParser.g:1052:2: iv_ruleExpression= ruleExpression EOF
1924 { 2526 {
1925 newCompositeNode(grammarAccess.getExpressionRule()); 2527 newCompositeNode(grammarAccess.getExpressionRule());
1926 pushFollow(FOLLOW_1); 2528 pushFollow(FOLLOW_1);
@@ -1947,41 +2549,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1947 2549
1948 2550
1949 // $ANTLR start "ruleExpression" 2551 // $ANTLR start "ruleExpression"
1950 // InternalSolverLanguageParser.g:781:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ; 2552 // InternalSolverLanguageParser.g:1058:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) ;
1951 public final EObject ruleExpression() throws RecognitionException { 2553 public final EObject ruleExpression() throws RecognitionException {
1952 EObject current = null; 2554 EObject current = null;
1953 2555
1954 EObject this_IfElse_0 = null; 2556 EObject this_IfElse_0 = null;
1955 2557
1956 EObject this_DisjunctiveExpression_1 = null; 2558 EObject this_Let_1 = null;
2559
2560 EObject this_ImplicationExpression_2 = null;
1957 2561
1958 2562
1959 2563
1960 enterRule(); 2564 enterRule();
1961 2565
1962 try { 2566 try {
1963 // InternalSolverLanguageParser.g:787:2: ( (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ) 2567 // InternalSolverLanguageParser.g:1064:2: ( (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) )
1964 // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) 2568 // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression )
1965 { 2569 {
1966 // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) 2570 // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression )
1967 int alt8=2; 2571 int alt9=3;
1968 int LA8_0 = input.LA(1); 2572 switch ( input.LA(1) ) {
1969 2573 case If:
1970 if ( (LA8_0==If) ) { 2574 {
1971 alt8=1; 2575 alt9=1;
1972 } 2576 }
1973 else if ( (LA8_0==Current||LA8_0==Unknown||(LA8_0>=Count && LA8_0<=False)||(LA8_0>=Must && LA8_0<=Prod)||LA8_0==True||(LA8_0>=Avg && LA8_0<=Inf)||(LA8_0>=Max && LA8_0<=Sum)||(LA8_0>=ExclamationMark && LA8_0<=LeftParenthesis)||LA8_0==PlusSign||LA8_0==HyphenMinus||LA8_0==LeftSquareBracket||(LA8_0>=RULE_STRING && LA8_0<=RULE_QUOTED_ID)||(LA8_0>=RULE_ID && LA8_0<=RULE_INT)) ) { 2577 break;
1974 alt8=2; 2578 case Let:
1975 } 2579 {
1976 else { 2580 alt9=2;
2581 }
2582 break;
2583 case Current:
2584 case Unknown:
2585 case Exists:
2586 case Forall:
2587 case Count:
2588 case Empty:
2589 case Error:
2590 case False:
2591 case Must:
2592 case True:
2593 case Inf:
2594 case May:
2595 case ExclamationMark:
2596 case LeftParenthesis:
2597 case PlusSign:
2598 case HyphenMinus:
2599 case LeftSquareBracket:
2600 case RULE_STRING:
2601 case RULE_QUOTED_ID:
2602 case RULE_ID:
2603 case RULE_INT:
2604 {
2605 alt9=3;
2606 }
2607 break;
2608 default:
1977 NoViableAltException nvae = 2609 NoViableAltException nvae =
1978 new NoViableAltException("", 8, 0, input); 2610 new NoViableAltException("", 9, 0, input);
1979 2611
1980 throw nvae; 2612 throw nvae;
1981 } 2613 }
1982 switch (alt8) { 2614
2615 switch (alt9) {
1983 case 1 : 2616 case 1 :
1984 // InternalSolverLanguageParser.g:789:3: this_IfElse_0= ruleIfElse 2617 // InternalSolverLanguageParser.g:1066:3: this_IfElse_0= ruleIfElse
1985 { 2618 {
1986 2619
1987 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); 2620 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0());
@@ -1999,18 +2632,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1999 } 2632 }
2000 break; 2633 break;
2001 case 2 : 2634 case 2 :
2002 // InternalSolverLanguageParser.g:798:3: this_DisjunctiveExpression_1= ruleDisjunctiveExpression 2635 // InternalSolverLanguageParser.g:1075:3: this_Let_1= ruleLet
2636 {
2637
2638 newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1());
2639
2640 pushFollow(FOLLOW_2);
2641 this_Let_1=ruleLet();
2642
2643 state._fsp--;
2644
2645
2646 current = this_Let_1;
2647 afterParserOrEnumRuleCall();
2648
2649
2650 }
2651 break;
2652 case 3 :
2653 // InternalSolverLanguageParser.g:1084:3: this_ImplicationExpression_2= ruleImplicationExpression
2003 { 2654 {
2004 2655
2005 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); 2656 newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2());
2006 2657
2007 pushFollow(FOLLOW_2); 2658 pushFollow(FOLLOW_2);
2008 this_DisjunctiveExpression_1=ruleDisjunctiveExpression(); 2659 this_ImplicationExpression_2=ruleImplicationExpression();
2009 2660
2010 state._fsp--; 2661 state._fsp--;
2011 2662
2012 2663
2013 current = this_DisjunctiveExpression_1; 2664 current = this_ImplicationExpression_2;
2014 afterParserOrEnumRuleCall(); 2665 afterParserOrEnumRuleCall();
2015 2666
2016 2667
@@ -2039,7 +2690,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2039 2690
2040 2691
2041 // $ANTLR start "entryRuleIfElse" 2692 // $ANTLR start "entryRuleIfElse"
2042 // InternalSolverLanguageParser.g:810:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; 2693 // InternalSolverLanguageParser.g:1096:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ;
2043 public final EObject entryRuleIfElse() throws RecognitionException { 2694 public final EObject entryRuleIfElse() throws RecognitionException {
2044 EObject current = null; 2695 EObject current = null;
2045 2696
@@ -2047,8 +2698,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2047 2698
2048 2699
2049 try { 2700 try {
2050 // InternalSolverLanguageParser.g:810:47: (iv_ruleIfElse= ruleIfElse EOF ) 2701 // InternalSolverLanguageParser.g:1096:47: (iv_ruleIfElse= ruleIfElse EOF )
2051 // InternalSolverLanguageParser.g:811:2: iv_ruleIfElse= ruleIfElse EOF 2702 // InternalSolverLanguageParser.g:1097:2: iv_ruleIfElse= ruleIfElse EOF
2052 { 2703 {
2053 newCompositeNode(grammarAccess.getIfElseRule()); 2704 newCompositeNode(grammarAccess.getIfElseRule());
2054 pushFollow(FOLLOW_1); 2705 pushFollow(FOLLOW_1);
@@ -2075,7 +2726,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2075 2726
2076 2727
2077 // $ANTLR start "ruleIfElse" 2728 // $ANTLR start "ruleIfElse"
2078 // InternalSolverLanguageParser.g:817:1: ruleIfElse returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ; 2729 // InternalSolverLanguageParser.g:1103:1: ruleIfElse returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ;
2079 public final EObject ruleIfElse() throws RecognitionException { 2730 public final EObject ruleIfElse() throws RecognitionException {
2080 EObject current = null; 2731 EObject current = null;
2081 2732
@@ -2093,26 +2744,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2093 enterRule(); 2744 enterRule();
2094 2745
2095 try { 2746 try {
2096 // InternalSolverLanguageParser.g:823:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ) 2747 // InternalSolverLanguageParser.g:1109:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) )
2097 // InternalSolverLanguageParser.g:824:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) 2748 // InternalSolverLanguageParser.g:1110:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) )
2098 { 2749 {
2099 // InternalSolverLanguageParser.g:824:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) 2750 // InternalSolverLanguageParser.g:1110:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) )
2100 // InternalSolverLanguageParser.g:825:3: otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) 2751 // InternalSolverLanguageParser.g:1111:3: otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) )
2101 { 2752 {
2102 otherlv_0=(Token)match(input,If,FOLLOW_6); 2753 otherlv_0=(Token)match(input,If,FOLLOW_6);
2103 2754
2104 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); 2755 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0());
2105 2756
2106 // InternalSolverLanguageParser.g:829:3: ( (lv_condition_1_0= ruleExpression ) ) 2757 // InternalSolverLanguageParser.g:1115:3: ( (lv_condition_1_0= ruleExpression ) )
2107 // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) 2758 // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression )
2108 { 2759 {
2109 // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) 2760 // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression )
2110 // InternalSolverLanguageParser.g:831:5: lv_condition_1_0= ruleExpression 2761 // InternalSolverLanguageParser.g:1117:5: lv_condition_1_0= ruleExpression
2111 { 2762 {
2112 2763
2113 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); 2764 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0());
2114 2765
2115 pushFollow(FOLLOW_15); 2766 pushFollow(FOLLOW_21);
2116 lv_condition_1_0=ruleExpression(); 2767 lv_condition_1_0=ruleExpression();
2117 2768
2118 state._fsp--; 2769 state._fsp--;
@@ -2138,16 +2789,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2138 2789
2139 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); 2790 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2());
2140 2791
2141 // InternalSolverLanguageParser.g:852:3: ( (lv_then_3_0= ruleExpression ) ) 2792 // InternalSolverLanguageParser.g:1138:3: ( (lv_then_3_0= ruleExpression ) )
2142 // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) 2793 // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression )
2143 { 2794 {
2144 // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) 2795 // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression )
2145 // InternalSolverLanguageParser.g:854:5: lv_then_3_0= ruleExpression 2796 // InternalSolverLanguageParser.g:1140:5: lv_then_3_0= ruleExpression
2146 { 2797 {
2147 2798
2148 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); 2799 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0());
2149 2800
2150 pushFollow(FOLLOW_16); 2801 pushFollow(FOLLOW_22);
2151 lv_then_3_0=ruleExpression(); 2802 lv_then_3_0=ruleExpression();
2152 2803
2153 state._fsp--; 2804 state._fsp--;
@@ -2173,11 +2824,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2173 2824
2174 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); 2825 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4());
2175 2826
2176 // InternalSolverLanguageParser.g:875:3: ( (lv_else_5_0= ruleExpression ) ) 2827 // InternalSolverLanguageParser.g:1161:3: ( (lv_else_5_0= ruleExpression ) )
2177 // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) 2828 // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression )
2178 { 2829 {
2179 // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) 2830 // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression )
2180 // InternalSolverLanguageParser.g:877:5: lv_else_5_0= ruleExpression 2831 // InternalSolverLanguageParser.g:1163:5: lv_else_5_0= ruleExpression
2181 { 2832 {
2182 2833
2183 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); 2834 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0());
@@ -2226,8 +2877,547 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2226 // $ANTLR end "ruleIfElse" 2877 // $ANTLR end "ruleIfElse"
2227 2878
2228 2879
2880 // $ANTLR start "entryRuleLet"
2881 // InternalSolverLanguageParser.g:1184:1: entryRuleLet returns [EObject current=null] : iv_ruleLet= ruleLet EOF ;
2882 public final EObject entryRuleLet() throws RecognitionException {
2883 EObject current = null;
2884
2885 EObject iv_ruleLet = null;
2886
2887
2888 try {
2889 // InternalSolverLanguageParser.g:1184:44: (iv_ruleLet= ruleLet EOF )
2890 // InternalSolverLanguageParser.g:1185:2: iv_ruleLet= ruleLet EOF
2891 {
2892 newCompositeNode(grammarAccess.getLetRule());
2893 pushFollow(FOLLOW_1);
2894 iv_ruleLet=ruleLet();
2895
2896 state._fsp--;
2897
2898 current =iv_ruleLet;
2899 match(input,EOF,FOLLOW_2);
2900
2901 }
2902
2903 }
2904
2905 catch (RecognitionException re) {
2906 recover(input,re);
2907 appendSkippedTokens();
2908 }
2909 finally {
2910 }
2911 return current;
2912 }
2913 // $ANTLR end "entryRuleLet"
2914
2915
2916 // $ANTLR start "ruleLet"
2917 // InternalSolverLanguageParser.g:1191:1: ruleLet returns [EObject current=null] : (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) ;
2918 public final EObject ruleLet() throws RecognitionException {
2919 EObject current = null;
2920
2921 Token otherlv_0=null;
2922 Token otherlv_2=null;
2923 Token otherlv_4=null;
2924 EObject lv_bindings_1_0 = null;
2925
2926 EObject lv_bindings_3_0 = null;
2927
2928 EObject lv_body_5_0 = null;
2929
2930
2931
2932 enterRule();
2933
2934 try {
2935 // InternalSolverLanguageParser.g:1197:2: ( (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) )
2936 // InternalSolverLanguageParser.g:1198:2: (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) )
2937 {
2938 // InternalSolverLanguageParser.g:1198:2: (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) )
2939 // InternalSolverLanguageParser.g:1199:3: otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) )
2940 {
2941 otherlv_0=(Token)match(input,Let,FOLLOW_8);
2942
2943 newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0());
2944
2945 // InternalSolverLanguageParser.g:1203:3: ( (lv_bindings_1_0= ruleLetBinding ) )
2946 // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding )
2947 {
2948 // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding )
2949 // InternalSolverLanguageParser.g:1205:5: lv_bindings_1_0= ruleLetBinding
2950 {
2951
2952 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0());
2953
2954 pushFollow(FOLLOW_23);
2955 lv_bindings_1_0=ruleLetBinding();
2956
2957 state._fsp--;
2958
2959
2960 if (current==null) {
2961 current = createModelElementForParent(grammarAccess.getLetRule());
2962 }
2963 add(
2964 current,
2965 "bindings",
2966 lv_bindings_1_0,
2967 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
2968 afterParserOrEnumRuleCall();
2969
2970
2971 }
2972
2973
2974 }
2975
2976 // InternalSolverLanguageParser.g:1222:3: (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )*
2977 loop10:
2978 do {
2979 int alt10=2;
2980 int LA10_0 = input.LA(1);
2981
2982 if ( (LA10_0==Comma) ) {
2983 alt10=1;
2984 }
2985
2986
2987 switch (alt10) {
2988 case 1 :
2989 // InternalSolverLanguageParser.g:1223:4: otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) )
2990 {
2991 otherlv_2=(Token)match(input,Comma,FOLLOW_8);
2992
2993 newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0());
2994
2995 // InternalSolverLanguageParser.g:1227:4: ( (lv_bindings_3_0= ruleLetBinding ) )
2996 // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding )
2997 {
2998 // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding )
2999 // InternalSolverLanguageParser.g:1229:6: lv_bindings_3_0= ruleLetBinding
3000 {
3001
3002 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0());
3003
3004 pushFollow(FOLLOW_23);
3005 lv_bindings_3_0=ruleLetBinding();
3006
3007 state._fsp--;
3008
3009
3010 if (current==null) {
3011 current = createModelElementForParent(grammarAccess.getLetRule());
3012 }
3013 add(
3014 current,
3015 "bindings",
3016 lv_bindings_3_0,
3017 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
3018 afterParserOrEnumRuleCall();
3019
3020
3021 }
3022
3023
3024 }
3025
3026
3027 }
3028 break;
3029
3030 default :
3031 break loop10;
3032 }
3033 } while (true);
3034
3035 otherlv_4=(Token)match(input,In,FOLLOW_6);
3036
3037 newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3());
3038
3039 // InternalSolverLanguageParser.g:1251:3: ( (lv_body_5_0= ruleExpression ) )
3040 // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression )
3041 {
3042 // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression )
3043 // InternalSolverLanguageParser.g:1253:5: lv_body_5_0= ruleExpression
3044 {
3045
3046 newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0());
3047
3048 pushFollow(FOLLOW_2);
3049 lv_body_5_0=ruleExpression();
3050
3051 state._fsp--;
3052
3053
3054 if (current==null) {
3055 current = createModelElementForParent(grammarAccess.getLetRule());
3056 }
3057 set(
3058 current,
3059 "body",
3060 lv_body_5_0,
3061 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
3062 afterParserOrEnumRuleCall();
3063
3064
3065 }
3066
3067
3068 }
3069
3070
3071 }
3072
3073
3074 }
3075
3076
3077 leaveRule();
3078
3079 }
3080
3081 catch (RecognitionException re) {
3082 recover(input,re);
3083 appendSkippedTokens();
3084 }
3085 finally {
3086 }
3087 return current;
3088 }
3089 // $ANTLR end "ruleLet"
3090
3091
3092 // $ANTLR start "entryRuleLetBinding"
3093 // InternalSolverLanguageParser.g:1274:1: entryRuleLetBinding returns [EObject current=null] : iv_ruleLetBinding= ruleLetBinding EOF ;
3094 public final EObject entryRuleLetBinding() throws RecognitionException {
3095 EObject current = null;
3096
3097 EObject iv_ruleLetBinding = null;
3098
3099
3100 try {
3101 // InternalSolverLanguageParser.g:1274:51: (iv_ruleLetBinding= ruleLetBinding EOF )
3102 // InternalSolverLanguageParser.g:1275:2: iv_ruleLetBinding= ruleLetBinding EOF
3103 {
3104 newCompositeNode(grammarAccess.getLetBindingRule());
3105 pushFollow(FOLLOW_1);
3106 iv_ruleLetBinding=ruleLetBinding();
3107
3108 state._fsp--;
3109
3110 current =iv_ruleLetBinding;
3111 match(input,EOF,FOLLOW_2);
3112
3113 }
3114
3115 }
3116
3117 catch (RecognitionException re) {
3118 recover(input,re);
3119 appendSkippedTokens();
3120 }
3121 finally {
3122 }
3123 return current;
3124 }
3125 // $ANTLR end "entryRuleLetBinding"
3126
3127
3128 // $ANTLR start "ruleLetBinding"
3129 // InternalSolverLanguageParser.g:1281:1: ruleLetBinding returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) ;
3130 public final EObject ruleLetBinding() throws RecognitionException {
3131 EObject current = null;
3132
3133 Token otherlv_1=null;
3134 EObject lv_variable_0_0 = null;
3135
3136 EObject lv_value_2_0 = null;
3137
3138
3139
3140 enterRule();
3141
3142 try {
3143 // InternalSolverLanguageParser.g:1287:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) )
3144 // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) )
3145 {
3146 // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) )
3147 // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) )
3148 {
3149 // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) )
3150 // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable )
3151 {
3152 // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable )
3153 // InternalSolverLanguageParser.g:1291:5: lv_variable_0_0= ruleVariable
3154 {
3155
3156 newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0());
3157
3158 pushFollow(FOLLOW_13);
3159 lv_variable_0_0=ruleVariable();
3160
3161 state._fsp--;
3162
3163
3164 if (current==null) {
3165 current = createModelElementForParent(grammarAccess.getLetBindingRule());
3166 }
3167 set(
3168 current,
3169 "variable",
3170 lv_variable_0_0,
3171 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
3172 afterParserOrEnumRuleCall();
3173
3174
3175 }
3176
3177
3178 }
3179
3180 otherlv_1=(Token)match(input,EqualsSign,FOLLOW_6);
3181
3182 newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1());
3183
3184 // InternalSolverLanguageParser.g:1312:3: ( (lv_value_2_0= ruleAdditiveExpression ) )
3185 // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression )
3186 {
3187 // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression )
3188 // InternalSolverLanguageParser.g:1314:5: lv_value_2_0= ruleAdditiveExpression
3189 {
3190
3191 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0());
3192
3193 pushFollow(FOLLOW_2);
3194 lv_value_2_0=ruleAdditiveExpression();
3195
3196 state._fsp--;
3197
3198
3199 if (current==null) {
3200 current = createModelElementForParent(grammarAccess.getLetBindingRule());
3201 }
3202 set(
3203 current,
3204 "value",
3205 lv_value_2_0,
3206 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
3207 afterParserOrEnumRuleCall();
3208
3209
3210 }
3211
3212
3213 }
3214
3215
3216 }
3217
3218
3219 }
3220
3221
3222 leaveRule();
3223
3224 }
3225
3226 catch (RecognitionException re) {
3227 recover(input,re);
3228 appendSkippedTokens();
3229 }
3230 finally {
3231 }
3232 return current;
3233 }
3234 // $ANTLR end "ruleLetBinding"
3235
3236
3237 // $ANTLR start "entryRuleImplicationExpression"
3238 // InternalSolverLanguageParser.g:1335:1: entryRuleImplicationExpression returns [EObject current=null] : iv_ruleImplicationExpression= ruleImplicationExpression EOF ;
3239 public final EObject entryRuleImplicationExpression() throws RecognitionException {
3240 EObject current = null;
3241
3242 EObject iv_ruleImplicationExpression = null;
3243
3244
3245 try {
3246 // InternalSolverLanguageParser.g:1335:62: (iv_ruleImplicationExpression= ruleImplicationExpression EOF )
3247 // InternalSolverLanguageParser.g:1336:2: iv_ruleImplicationExpression= ruleImplicationExpression EOF
3248 {
3249 newCompositeNode(grammarAccess.getImplicationExpressionRule());
3250 pushFollow(FOLLOW_1);
3251 iv_ruleImplicationExpression=ruleImplicationExpression();
3252
3253 state._fsp--;
3254
3255 current =iv_ruleImplicationExpression;
3256 match(input,EOF,FOLLOW_2);
3257
3258 }
3259
3260 }
3261
3262 catch (RecognitionException re) {
3263 recover(input,re);
3264 appendSkippedTokens();
3265 }
3266 finally {
3267 }
3268 return current;
3269 }
3270 // $ANTLR end "entryRuleImplicationExpression"
3271
3272
3273 // $ANTLR start "ruleImplicationExpression"
3274 // InternalSolverLanguageParser.g:1342:1: ruleImplicationExpression returns [EObject current=null] : (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) ;
3275 public final EObject ruleImplicationExpression() throws RecognitionException {
3276 EObject current = null;
3277
3278 EObject this_DisjunctiveExpression_0 = null;
3279
3280 Enumerator lv_op_2_0 = null;
3281
3282 EObject lv_right_3_0 = null;
3283
3284
3285
3286 enterRule();
3287
3288 try {
3289 // InternalSolverLanguageParser.g:1348:2: ( (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) )
3290 // InternalSolverLanguageParser.g:1349:2: (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? )
3291 {
3292 // InternalSolverLanguageParser.g:1349:2: (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? )
3293 // InternalSolverLanguageParser.g:1350:3: this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )?
3294 {
3295
3296 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0());
3297
3298 pushFollow(FOLLOW_24);
3299 this_DisjunctiveExpression_0=ruleDisjunctiveExpression();
3300
3301 state._fsp--;
3302
3303
3304 current = this_DisjunctiveExpression_0;
3305 afterParserOrEnumRuleCall();
3306
3307 // InternalSolverLanguageParser.g:1358:3: ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )?
3308 int alt11=2;
3309 int LA11_0 = input.LA(1);
3310
3311 if ( (LA11_0==EqualsSignGreaterThanSign) ) {
3312 alt11=1;
3313 }
3314 switch (alt11) {
3315 case 1 :
3316 // InternalSolverLanguageParser.g:1359:4: () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) )
3317 {
3318 // InternalSolverLanguageParser.g:1359:4: ()
3319 // InternalSolverLanguageParser.g:1360:5:
3320 {
3321
3322 current = forceCreateModelElementAndSet(
3323 grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(),
3324 current);
3325
3326
3327 }
3328
3329 // InternalSolverLanguageParser.g:1366:4: ( (lv_op_2_0= ruleImplicationOperator ) )
3330 // InternalSolverLanguageParser.g:1367:5: (lv_op_2_0= ruleImplicationOperator )
3331 {
3332 // InternalSolverLanguageParser.g:1367:5: (lv_op_2_0= ruleImplicationOperator )
3333 // InternalSolverLanguageParser.g:1368:6: lv_op_2_0= ruleImplicationOperator
3334 {
3335
3336 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0());
3337
3338 pushFollow(FOLLOW_6);
3339 lv_op_2_0=ruleImplicationOperator();
3340
3341 state._fsp--;
3342
3343
3344 if (current==null) {
3345 current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
3346 }
3347 set(
3348 current,
3349 "op",
3350 lv_op_2_0,
3351 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator");
3352 afterParserOrEnumRuleCall();
3353
3354
3355 }
3356
3357
3358 }
3359
3360 // InternalSolverLanguageParser.g:1385:4: ( (lv_right_3_0= ruleImplicationExpression ) )
3361 // InternalSolverLanguageParser.g:1386:5: (lv_right_3_0= ruleImplicationExpression )
3362 {
3363 // InternalSolverLanguageParser.g:1386:5: (lv_right_3_0= ruleImplicationExpression )
3364 // InternalSolverLanguageParser.g:1387:6: lv_right_3_0= ruleImplicationExpression
3365 {
3366
3367 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0());
3368
3369 pushFollow(FOLLOW_2);
3370 lv_right_3_0=ruleImplicationExpression();
3371
3372 state._fsp--;
3373
3374
3375 if (current==null) {
3376 current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
3377 }
3378 set(
3379 current,
3380 "right",
3381 lv_right_3_0,
3382 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
3383 afterParserOrEnumRuleCall();
3384
3385
3386 }
3387
3388
3389 }
3390
3391
3392 }
3393 break;
3394
3395 }
3396
3397
3398 }
3399
3400
3401 }
3402
3403
3404 leaveRule();
3405
3406 }
3407
3408 catch (RecognitionException re) {
3409 recover(input,re);
3410 appendSkippedTokens();
3411 }
3412 finally {
3413 }
3414 return current;
3415 }
3416 // $ANTLR end "ruleImplicationExpression"
3417
3418
2229 // $ANTLR start "entryRuleDisjunctiveExpression" 3419 // $ANTLR start "entryRuleDisjunctiveExpression"
2230 // InternalSolverLanguageParser.g:898:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; 3420 // InternalSolverLanguageParser.g:1409:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ;
2231 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException { 3421 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException {
2232 EObject current = null; 3422 EObject current = null;
2233 3423
@@ -2235,8 +3425,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2235 3425
2236 3426
2237 try { 3427 try {
2238 // InternalSolverLanguageParser.g:898:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) 3428 // InternalSolverLanguageParser.g:1409:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF )
2239 // InternalSolverLanguageParser.g:899:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF 3429 // InternalSolverLanguageParser.g:1410:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF
2240 { 3430 {
2241 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); 3431 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule());
2242 pushFollow(FOLLOW_1); 3432 pushFollow(FOLLOW_1);
@@ -2263,7 +3453,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2263 3453
2264 3454
2265 // $ANTLR start "ruleDisjunctiveExpression" 3455 // $ANTLR start "ruleDisjunctiveExpression"
2266 // InternalSolverLanguageParser.g:905:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ; 3456 // InternalSolverLanguageParser.g:1416:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ;
2267 public final EObject ruleDisjunctiveExpression() throws RecognitionException { 3457 public final EObject ruleDisjunctiveExpression() throws RecognitionException {
2268 EObject current = null; 3458 EObject current = null;
2269 3459
@@ -2283,16 +3473,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2283 enterRule(); 3473 enterRule();
2284 3474
2285 try { 3475 try {
2286 // InternalSolverLanguageParser.g:911:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ) 3476 // InternalSolverLanguageParser.g:1422:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) )
2287 // InternalSolverLanguageParser.g:912:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) 3477 // InternalSolverLanguageParser.g:1423:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? )
2288 { 3478 {
2289 // InternalSolverLanguageParser.g:912:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) 3479 // InternalSolverLanguageParser.g:1423:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? )
2290 // InternalSolverLanguageParser.g:913:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? 3480 // InternalSolverLanguageParser.g:1424:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )?
2291 { 3481 {
2292 3482
2293 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); 3483 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
2294 3484
2295 pushFollow(FOLLOW_17); 3485 pushFollow(FOLLOW_25);
2296 this_ConjunctiveExpression_0=ruleConjunctiveExpression(); 3486 this_ConjunctiveExpression_0=ruleConjunctiveExpression();
2297 3487
2298 state._fsp--; 3488 state._fsp--;
@@ -2301,25 +3491,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2301 current = this_ConjunctiveExpression_0; 3491 current = this_ConjunctiveExpression_0;
2302 afterParserOrEnumRuleCall(); 3492 afterParserOrEnumRuleCall();
2303 3493
2304 // InternalSolverLanguageParser.g:921:3: ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? 3494 // InternalSolverLanguageParser.g:1432:3: ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )?
2305 int alt11=3; 3495 int alt14=3;
2306 int LA11_0 = input.LA(1); 3496 int LA14_0 = input.LA(1);
2307 3497
2308 if ( (LA11_0==Semicolon) ) { 3498 if ( (LA14_0==Semicolon) ) {
2309 alt11=1; 3499 alt14=1;
2310 } 3500 }
2311 else if ( (LA11_0==HyphenMinusGreaterThanSign) ) { 3501 else if ( (LA14_0==HyphenMinusGreaterThanSign) ) {
2312 alt11=2; 3502 alt14=2;
2313 } 3503 }
2314 switch (alt11) { 3504 switch (alt14) {
2315 case 1 : 3505 case 1 :
2316 // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) 3506 // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
2317 { 3507 {
2318 // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) 3508 // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
2319 // InternalSolverLanguageParser.g:923:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ 3509 // InternalSolverLanguageParser.g:1434:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
2320 { 3510 {
2321 // InternalSolverLanguageParser.g:923:5: () 3511 // InternalSolverLanguageParser.g:1434:5: ()
2322 // InternalSolverLanguageParser.g:924:6: 3512 // InternalSolverLanguageParser.g:1435:6:
2323 { 3513 {
2324 3514
2325 current = forceCreateModelElementAndAdd( 3515 current = forceCreateModelElementAndAdd(
@@ -2329,36 +3519,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2329 3519
2330 } 3520 }
2331 3521
2332 // InternalSolverLanguageParser.g:930:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ 3522 // InternalSolverLanguageParser.g:1441:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
2333 int cnt9=0; 3523 int cnt12=0;
2334 loop9: 3524 loop12:
2335 do { 3525 do {
2336 int alt9=2; 3526 int alt12=2;
2337 int LA9_0 = input.LA(1); 3527 int LA12_0 = input.LA(1);
2338 3528
2339 if ( (LA9_0==Semicolon) ) { 3529 if ( (LA12_0==Semicolon) ) {
2340 alt9=1; 3530 alt12=1;
2341 } 3531 }
2342 3532
2343 3533
2344 switch (alt9) { 3534 switch (alt12) {
2345 case 1 : 3535 case 1 :
2346 // InternalSolverLanguageParser.g:931:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) 3536 // InternalSolverLanguageParser.g:1442:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) )
2347 { 3537 {
2348 otherlv_2=(Token)match(input,Semicolon,FOLLOW_6); 3538 otherlv_2=(Token)match(input,Semicolon,FOLLOW_6);
2349 3539
2350 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); 3540 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
2351 3541
2352 // InternalSolverLanguageParser.g:935:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) 3542 // InternalSolverLanguageParser.g:1446:6: ( (lv_children_3_0= ruleConjunctiveExpression ) )
2353 // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) 3543 // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression )
2354 { 3544 {
2355 // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) 3545 // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression )
2356 // InternalSolverLanguageParser.g:937:8: lv_children_3_0= ruleConjunctiveExpression 3546 // InternalSolverLanguageParser.g:1448:8: lv_children_3_0= ruleConjunctiveExpression
2357 { 3547 {
2358 3548
2359 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); 3549 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
2360 3550
2361 pushFollow(FOLLOW_18); 3551 pushFollow(FOLLOW_26);
2362 lv_children_3_0=ruleConjunctiveExpression(); 3552 lv_children_3_0=ruleConjunctiveExpression();
2363 3553
2364 state._fsp--; 3554 state._fsp--;
@@ -2385,12 +3575,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2385 break; 3575 break;
2386 3576
2387 default : 3577 default :
2388 if ( cnt9 >= 1 ) break loop9; 3578 if ( cnt12 >= 1 ) break loop12;
2389 EarlyExitException eee = 3579 EarlyExitException eee =
2390 new EarlyExitException(9, input); 3580 new EarlyExitException(12, input);
2391 throw eee; 3581 throw eee;
2392 } 3582 }
2393 cnt9++; 3583 cnt12++;
2394 } while (true); 3584 } while (true);
2395 3585
2396 3586
@@ -2400,13 +3590,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2400 } 3590 }
2401 break; 3591 break;
2402 case 2 : 3592 case 2 :
2403 // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) 3593 // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* )
2404 { 3594 {
2405 // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) 3595 // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* )
2406 // InternalSolverLanguageParser.g:958:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* 3596 // InternalSolverLanguageParser.g:1469:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )*
2407 { 3597 {
2408 // InternalSolverLanguageParser.g:958:5: () 3598 // InternalSolverLanguageParser.g:1469:5: ()
2409 // InternalSolverLanguageParser.g:959:6: 3599 // InternalSolverLanguageParser.g:1470:6:
2410 { 3600 {
2411 3601
2412 current = forceCreateModelElementAndSet( 3602 current = forceCreateModelElementAndSet(
@@ -2420,16 +3610,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2420 3610
2421 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); 3611 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
2422 3612
2423 // InternalSolverLanguageParser.g:969:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) 3613 // InternalSolverLanguageParser.g:1480:5: ( (lv_body_6_0= ruleConjunctiveExpression ) )
2424 // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) 3614 // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression )
2425 { 3615 {
2426 // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) 3616 // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression )
2427 // InternalSolverLanguageParser.g:971:7: lv_body_6_0= ruleConjunctiveExpression 3617 // InternalSolverLanguageParser.g:1482:7: lv_body_6_0= ruleConjunctiveExpression
2428 { 3618 {
2429 3619
2430 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); 3620 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
2431 3621
2432 pushFollow(FOLLOW_18); 3622 pushFollow(FOLLOW_26);
2433 lv_body_6_0=ruleConjunctiveExpression(); 3623 lv_body_6_0=ruleConjunctiveExpression();
2434 3624
2435 state._fsp--; 3625 state._fsp--;
@@ -2451,8 +3641,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2451 3641
2452 } 3642 }
2453 3643
2454 // InternalSolverLanguageParser.g:988:5: () 3644 // InternalSolverLanguageParser.g:1499:5: ()
2455 // InternalSolverLanguageParser.g:989:6: 3645 // InternalSolverLanguageParser.g:1500:6:
2456 { 3646 {
2457 3647
2458 current = forceCreateModelElementAndAdd( 3648 current = forceCreateModelElementAndAdd(
@@ -2462,35 +3652,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2462 3652
2463 } 3653 }
2464 3654
2465 // InternalSolverLanguageParser.g:995:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* 3655 // InternalSolverLanguageParser.g:1506:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )*
2466 loop10: 3656 loop13:
2467 do { 3657 do {
2468 int alt10=2; 3658 int alt13=2;
2469 int LA10_0 = input.LA(1); 3659 int LA13_0 = input.LA(1);
2470 3660
2471 if ( (LA10_0==Semicolon) ) { 3661 if ( (LA13_0==Semicolon) ) {
2472 alt10=1; 3662 alt13=1;
2473 } 3663 }
2474 3664
2475 3665
2476 switch (alt10) { 3666 switch (alt13) {
2477 case 1 : 3667 case 1 :
2478 // InternalSolverLanguageParser.g:996:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) 3668 // InternalSolverLanguageParser.g:1507:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) )
2479 { 3669 {
2480 otherlv_8=(Token)match(input,Semicolon,FOLLOW_6); 3670 otherlv_8=(Token)match(input,Semicolon,FOLLOW_6);
2481 3671
2482 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); 3672 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
2483 3673
2484 // InternalSolverLanguageParser.g:1000:6: ( (lv_cases_9_0= ruleCase ) ) 3674 // InternalSolverLanguageParser.g:1511:6: ( (lv_cases_9_0= ruleCase ) )
2485 // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) 3675 // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase )
2486 { 3676 {
2487 // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) 3677 // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase )
2488 // InternalSolverLanguageParser.g:1002:8: lv_cases_9_0= ruleCase 3678 // InternalSolverLanguageParser.g:1513:8: lv_cases_9_0= ruleCase
2489 { 3679 {
2490 3680
2491 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); 3681 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
2492 3682
2493 pushFollow(FOLLOW_18); 3683 pushFollow(FOLLOW_26);
2494 lv_cases_9_0=ruleCase(); 3684 lv_cases_9_0=ruleCase();
2495 3685
2496 state._fsp--; 3686 state._fsp--;
@@ -2517,7 +3707,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2517 break; 3707 break;
2518 3708
2519 default : 3709 default :
2520 break loop10; 3710 break loop13;
2521 } 3711 }
2522 } while (true); 3712 } while (true);
2523 3713
@@ -2553,7 +3743,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2553 3743
2554 3744
2555 // $ANTLR start "entryRuleCase" 3745 // $ANTLR start "entryRuleCase"
2556 // InternalSolverLanguageParser.g:1026:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; 3746 // InternalSolverLanguageParser.g:1537:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ;
2557 public final EObject entryRuleCase() throws RecognitionException { 3747 public final EObject entryRuleCase() throws RecognitionException {
2558 EObject current = null; 3748 EObject current = null;
2559 3749
@@ -2561,8 +3751,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2561 3751
2562 3752
2563 try { 3753 try {
2564 // InternalSolverLanguageParser.g:1026:45: (iv_ruleCase= ruleCase EOF ) 3754 // InternalSolverLanguageParser.g:1537:45: (iv_ruleCase= ruleCase EOF )
2565 // InternalSolverLanguageParser.g:1027:2: iv_ruleCase= ruleCase EOF 3755 // InternalSolverLanguageParser.g:1538:2: iv_ruleCase= ruleCase EOF
2566 { 3756 {
2567 newCompositeNode(grammarAccess.getCaseRule()); 3757 newCompositeNode(grammarAccess.getCaseRule());
2568 pushFollow(FOLLOW_1); 3758 pushFollow(FOLLOW_1);
@@ -2589,7 +3779,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2589 3779
2590 3780
2591 // $ANTLR start "ruleCase" 3781 // $ANTLR start "ruleCase"
2592 // InternalSolverLanguageParser.g:1033:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; 3782 // InternalSolverLanguageParser.g:1544:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ;
2593 public final EObject ruleCase() throws RecognitionException { 3783 public final EObject ruleCase() throws RecognitionException {
2594 EObject current = null; 3784 EObject current = null;
2595 3785
@@ -2603,22 +3793,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2603 enterRule(); 3793 enterRule();
2604 3794
2605 try { 3795 try {
2606 // InternalSolverLanguageParser.g:1039:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) 3796 // InternalSolverLanguageParser.g:1550:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) )
2607 // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) 3797 // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
2608 { 3798 {
2609 // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) 3799 // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
2610 // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) 3800 // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) )
2611 { 3801 {
2612 // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) 3802 // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) )
2613 // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) 3803 // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression )
2614 { 3804 {
2615 // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) 3805 // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression )
2616 // InternalSolverLanguageParser.g:1043:5: lv_condition_0_0= ruleConjunctiveExpression 3806 // InternalSolverLanguageParser.g:1554:5: lv_condition_0_0= ruleConjunctiveExpression
2617 { 3807 {
2618 3808
2619 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); 3809 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
2620 3810
2621 pushFollow(FOLLOW_19); 3811 pushFollow(FOLLOW_27);
2622 lv_condition_0_0=ruleConjunctiveExpression(); 3812 lv_condition_0_0=ruleConjunctiveExpression();
2623 3813
2624 state._fsp--; 3814 state._fsp--;
@@ -2644,11 +3834,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2644 3834
2645 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); 3835 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
2646 3836
2647 // InternalSolverLanguageParser.g:1064:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) 3837 // InternalSolverLanguageParser.g:1575:3: ( (lv_body_2_0= ruleConjunctiveExpression ) )
2648 // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) 3838 // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression )
2649 { 3839 {
2650 // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) 3840 // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression )
2651 // InternalSolverLanguageParser.g:1066:5: lv_body_2_0= ruleConjunctiveExpression 3841 // InternalSolverLanguageParser.g:1577:5: lv_body_2_0= ruleConjunctiveExpression
2652 { 3842 {
2653 3843
2654 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); 3844 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
@@ -2698,7 +3888,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2698 3888
2699 3889
2700 // $ANTLR start "entryRuleConjunctiveExpression" 3890 // $ANTLR start "entryRuleConjunctiveExpression"
2701 // InternalSolverLanguageParser.g:1087:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; 3891 // InternalSolverLanguageParser.g:1598:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ;
2702 public final EObject entryRuleConjunctiveExpression() throws RecognitionException { 3892 public final EObject entryRuleConjunctiveExpression() throws RecognitionException {
2703 EObject current = null; 3893 EObject current = null;
2704 3894
@@ -2706,8 +3896,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2706 3896
2707 3897
2708 try { 3898 try {
2709 // InternalSolverLanguageParser.g:1087:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) 3899 // InternalSolverLanguageParser.g:1598:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF )
2710 // InternalSolverLanguageParser.g:1088:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF 3900 // InternalSolverLanguageParser.g:1599:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF
2711 { 3901 {
2712 newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); 3902 newCompositeNode(grammarAccess.getConjunctiveExpressionRule());
2713 pushFollow(FOLLOW_1); 3903 pushFollow(FOLLOW_1);
@@ -2734,7 +3924,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2734 3924
2735 3925
2736 // $ANTLR start "ruleConjunctiveExpression" 3926 // $ANTLR start "ruleConjunctiveExpression"
2737 // InternalSolverLanguageParser.g:1094:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; 3927 // InternalSolverLanguageParser.g:1605:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ;
2738 public final EObject ruleConjunctiveExpression() throws RecognitionException { 3928 public final EObject ruleConjunctiveExpression() throws RecognitionException {
2739 EObject current = null; 3929 EObject current = null;
2740 3930
@@ -2748,16 +3938,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2748 enterRule(); 3938 enterRule();
2749 3939
2750 try { 3940 try {
2751 // InternalSolverLanguageParser.g:1100:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) 3941 // InternalSolverLanguageParser.g:1611:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) )
2752 // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) 3942 // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
2753 { 3943 {
2754 // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) 3944 // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
2755 // InternalSolverLanguageParser.g:1102:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? 3945 // InternalSolverLanguageParser.g:1613:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
2756 { 3946 {
2757 3947
2758 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); 3948 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
2759 3949
2760 pushFollow(FOLLOW_20); 3950 pushFollow(FOLLOW_19);
2761 this_ComparisonExpression_0=ruleComparisonExpression(); 3951 this_ComparisonExpression_0=ruleComparisonExpression();
2762 3952
2763 state._fsp--; 3953 state._fsp--;
@@ -2766,19 +3956,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2766 current = this_ComparisonExpression_0; 3956 current = this_ComparisonExpression_0;
2767 afterParserOrEnumRuleCall(); 3957 afterParserOrEnumRuleCall();
2768 3958
2769 // InternalSolverLanguageParser.g:1110:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? 3959 // InternalSolverLanguageParser.g:1621:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
2770 int alt13=2; 3960 int alt16=2;
2771 int LA13_0 = input.LA(1); 3961 int LA16_0 = input.LA(1);
2772 3962
2773 if ( (LA13_0==Comma) ) { 3963 if ( (LA16_0==Comma) ) {
2774 alt13=1; 3964 alt16=1;
2775 } 3965 }
2776 switch (alt13) { 3966 switch (alt16) {
2777 case 1 : 3967 case 1 :
2778 // InternalSolverLanguageParser.g:1111:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ 3968 // InternalSolverLanguageParser.g:1622:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+
2779 { 3969 {
2780 // InternalSolverLanguageParser.g:1111:4: () 3970 // InternalSolverLanguageParser.g:1622:4: ()
2781 // InternalSolverLanguageParser.g:1112:5: 3971 // InternalSolverLanguageParser.g:1623:5:
2782 { 3972 {
2783 3973
2784 current = forceCreateModelElementAndAdd( 3974 current = forceCreateModelElementAndAdd(
@@ -2788,36 +3978,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2788 3978
2789 } 3979 }
2790 3980
2791 // InternalSolverLanguageParser.g:1118:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ 3981 // InternalSolverLanguageParser.g:1629:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+
2792 int cnt12=0; 3982 int cnt15=0;
2793 loop12: 3983 loop15:
2794 do { 3984 do {
2795 int alt12=2; 3985 int alt15=2;
2796 int LA12_0 = input.LA(1); 3986 int LA15_0 = input.LA(1);
2797 3987
2798 if ( (LA12_0==Comma) ) { 3988 if ( (LA15_0==Comma) ) {
2799 alt12=1; 3989 alt15=1;
2800 } 3990 }
2801 3991
2802 3992
2803 switch (alt12) { 3993 switch (alt15) {
2804 case 1 : 3994 case 1 :
2805 // InternalSolverLanguageParser.g:1119:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) 3995 // InternalSolverLanguageParser.g:1630:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) )
2806 { 3996 {
2807 otherlv_2=(Token)match(input,Comma,FOLLOW_6); 3997 otherlv_2=(Token)match(input,Comma,FOLLOW_6);
2808 3998
2809 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); 3999 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
2810 4000
2811 // InternalSolverLanguageParser.g:1123:5: ( (lv_children_3_0= ruleComparisonExpression ) ) 4001 // InternalSolverLanguageParser.g:1634:5: ( (lv_children_3_0= ruleComparisonExpression ) )
2812 // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) 4002 // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression )
2813 { 4003 {
2814 // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) 4004 // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression )
2815 // InternalSolverLanguageParser.g:1125:7: lv_children_3_0= ruleComparisonExpression 4005 // InternalSolverLanguageParser.g:1636:7: lv_children_3_0= ruleComparisonExpression
2816 { 4006 {
2817 4007
2818 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); 4008 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
2819 4009
2820 pushFollow(FOLLOW_20); 4010 pushFollow(FOLLOW_19);
2821 lv_children_3_0=ruleComparisonExpression(); 4011 lv_children_3_0=ruleComparisonExpression();
2822 4012
2823 state._fsp--; 4013 state._fsp--;
@@ -2844,12 +4034,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2844 break; 4034 break;
2845 4035
2846 default : 4036 default :
2847 if ( cnt12 >= 1 ) break loop12; 4037 if ( cnt15 >= 1 ) break loop15;
2848 EarlyExitException eee = 4038 EarlyExitException eee =
2849 new EarlyExitException(12, input); 4039 new EarlyExitException(15, input);
2850 throw eee; 4040 throw eee;
2851 } 4041 }
2852 cnt12++; 4042 cnt15++;
2853 } while (true); 4043 } while (true);
2854 4044
2855 4045
@@ -2881,7 +4071,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2881 4071
2882 4072
2883 // $ANTLR start "entryRuleComparisonExpression" 4073 // $ANTLR start "entryRuleComparisonExpression"
2884 // InternalSolverLanguageParser.g:1148:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; 4074 // InternalSolverLanguageParser.g:1659:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ;
2885 public final EObject entryRuleComparisonExpression() throws RecognitionException { 4075 public final EObject entryRuleComparisonExpression() throws RecognitionException {
2886 EObject current = null; 4076 EObject current = null;
2887 4077
@@ -2889,8 +4079,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2889 4079
2890 4080
2891 try { 4081 try {
2892 // InternalSolverLanguageParser.g:1148:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) 4082 // InternalSolverLanguageParser.g:1659:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF )
2893 // InternalSolverLanguageParser.g:1149:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF 4083 // InternalSolverLanguageParser.g:1660:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF
2894 { 4084 {
2895 newCompositeNode(grammarAccess.getComparisonExpressionRule()); 4085 newCompositeNode(grammarAccess.getComparisonExpressionRule());
2896 pushFollow(FOLLOW_1); 4086 pushFollow(FOLLOW_1);
@@ -2917,7 +4107,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2917 4107
2918 4108
2919 // $ANTLR start "ruleComparisonExpression" 4109 // $ANTLR start "ruleComparisonExpression"
2920 // InternalSolverLanguageParser.g:1155:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; 4110 // InternalSolverLanguageParser.g:1666:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ;
2921 public final EObject ruleComparisonExpression() throws RecognitionException { 4111 public final EObject ruleComparisonExpression() throws RecognitionException {
2922 EObject current = null; 4112 EObject current = null;
2923 4113
@@ -2932,16 +4122,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2932 enterRule(); 4122 enterRule();
2933 4123
2934 try { 4124 try {
2935 // InternalSolverLanguageParser.g:1161:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) 4125 // InternalSolverLanguageParser.g:1672:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) )
2936 // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) 4126 // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
2937 { 4127 {
2938 // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) 4128 // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
2939 // InternalSolverLanguageParser.g:1163:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? 4129 // InternalSolverLanguageParser.g:1674:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
2940 { 4130 {
2941 4131
2942 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); 4132 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
2943 4133
2944 pushFollow(FOLLOW_21); 4134 pushFollow(FOLLOW_28);
2945 this_AdditiveExpression_0=ruleAdditiveExpression(); 4135 this_AdditiveExpression_0=ruleAdditiveExpression();
2946 4136
2947 state._fsp--; 4137 state._fsp--;
@@ -2950,19 +4140,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2950 current = this_AdditiveExpression_0; 4140 current = this_AdditiveExpression_0;
2951 afterParserOrEnumRuleCall(); 4141 afterParserOrEnumRuleCall();
2952 4142
2953 // InternalSolverLanguageParser.g:1171:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? 4143 // InternalSolverLanguageParser.g:1682:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
2954 int alt14=2; 4144 int alt17=2;
2955 int LA14_0 = input.LA(1); 4145 int LA17_0 = input.LA(1);
2956 4146
2957 if ( (LA14_0==ExclamationMarkEqualsSign||(LA14_0>=LessThanSignEqualsSign && LA14_0<=GreaterThanSignEqualsSign)||LA14_0==In||LA14_0==LessThanSign||LA14_0==GreaterThanSign) ) { 4147 if ( (LA17_0==ExclamationMarkEqualsSign||(LA17_0>=LessThanSignEqualsSign && LA17_0<=EqualsSignEqualsSign)||LA17_0==GreaterThanSignEqualsSign||LA17_0==In||LA17_0==LessThanSign||LA17_0==GreaterThanSign) ) {
2958 alt14=1; 4148 alt17=1;
2959 } 4149 }
2960 switch (alt14) { 4150 switch (alt17) {
2961 case 1 : 4151 case 1 :
2962 // InternalSolverLanguageParser.g:1172:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) 4152 // InternalSolverLanguageParser.g:1683:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) )
2963 { 4153 {
2964 // InternalSolverLanguageParser.g:1172:4: () 4154 // InternalSolverLanguageParser.g:1683:4: ()
2965 // InternalSolverLanguageParser.g:1173:5: 4155 // InternalSolverLanguageParser.g:1684:5:
2966 { 4156 {
2967 4157
2968 current = forceCreateModelElementAndSet( 4158 current = forceCreateModelElementAndSet(
@@ -2972,11 +4162,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2972 4162
2973 } 4163 }
2974 4164
2975 // InternalSolverLanguageParser.g:1179:4: ( (lv_op_2_0= ruleComparisonOperator ) ) 4165 // InternalSolverLanguageParser.g:1690:4: ( (lv_op_2_0= ruleComparisonOperator ) )
2976 // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) 4166 // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator )
2977 { 4167 {
2978 // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) 4168 // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator )
2979 // InternalSolverLanguageParser.g:1181:6: lv_op_2_0= ruleComparisonOperator 4169 // InternalSolverLanguageParser.g:1692:6: lv_op_2_0= ruleComparisonOperator
2980 { 4170 {
2981 4171
2982 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); 4172 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
@@ -3003,11 +4193,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3003 4193
3004 } 4194 }
3005 4195
3006 // InternalSolverLanguageParser.g:1198:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) 4196 // InternalSolverLanguageParser.g:1709:4: ( (lv_right_3_0= ruleAdditiveExpression ) )
3007 // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) 4197 // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression )
3008 { 4198 {
3009 // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) 4199 // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression )
3010 // InternalSolverLanguageParser.g:1200:6: lv_right_3_0= ruleAdditiveExpression 4200 // InternalSolverLanguageParser.g:1711:6: lv_right_3_0= ruleAdditiveExpression
3011 { 4201 {
3012 4202
3013 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); 4203 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
@@ -3063,7 +4253,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3063 4253
3064 4254
3065 // $ANTLR start "entryRuleAdditiveExpression" 4255 // $ANTLR start "entryRuleAdditiveExpression"
3066 // InternalSolverLanguageParser.g:1222:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; 4256 // InternalSolverLanguageParser.g:1733:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ;
3067 public final EObject entryRuleAdditiveExpression() throws RecognitionException { 4257 public final EObject entryRuleAdditiveExpression() throws RecognitionException {
3068 EObject current = null; 4258 EObject current = null;
3069 4259
@@ -3071,8 +4261,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3071 4261
3072 4262
3073 try { 4263 try {
3074 // InternalSolverLanguageParser.g:1222:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) 4264 // InternalSolverLanguageParser.g:1733:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF )
3075 // InternalSolverLanguageParser.g:1223:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF 4265 // InternalSolverLanguageParser.g:1734:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF
3076 { 4266 {
3077 newCompositeNode(grammarAccess.getAdditiveExpressionRule()); 4267 newCompositeNode(grammarAccess.getAdditiveExpressionRule());
3078 pushFollow(FOLLOW_1); 4268 pushFollow(FOLLOW_1);
@@ -3099,7 +4289,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3099 4289
3100 4290
3101 // $ANTLR start "ruleAdditiveExpression" 4291 // $ANTLR start "ruleAdditiveExpression"
3102 // InternalSolverLanguageParser.g:1229:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; 4292 // InternalSolverLanguageParser.g:1740:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ;
3103 public final EObject ruleAdditiveExpression() throws RecognitionException { 4293 public final EObject ruleAdditiveExpression() throws RecognitionException {
3104 EObject current = null; 4294 EObject current = null;
3105 4295
@@ -3114,16 +4304,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3114 enterRule(); 4304 enterRule();
3115 4305
3116 try { 4306 try {
3117 // InternalSolverLanguageParser.g:1235:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) 4307 // InternalSolverLanguageParser.g:1746:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) )
3118 // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) 4308 // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
3119 { 4309 {
3120 // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) 4310 // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
3121 // InternalSolverLanguageParser.g:1237:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* 4311 // InternalSolverLanguageParser.g:1748:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
3122 { 4312 {
3123 4313
3124 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); 4314 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
3125 4315
3126 pushFollow(FOLLOW_22); 4316 pushFollow(FOLLOW_29);
3127 this_MultiplicativeExpression_0=ruleMultiplicativeExpression(); 4317 this_MultiplicativeExpression_0=ruleMultiplicativeExpression();
3128 4318
3129 state._fsp--; 4319 state._fsp--;
@@ -3132,23 +4322,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3132 current = this_MultiplicativeExpression_0; 4322 current = this_MultiplicativeExpression_0;
3133 afterParserOrEnumRuleCall(); 4323 afterParserOrEnumRuleCall();
3134 4324
3135 // InternalSolverLanguageParser.g:1245:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* 4325 // InternalSolverLanguageParser.g:1756:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
3136 loop15: 4326 loop18:
3137 do { 4327 do {
3138 int alt15=2; 4328 int alt18=2;
3139 int LA15_0 = input.LA(1); 4329 int LA18_0 = input.LA(1);
3140 4330
3141 if ( (LA15_0==PlusSign||LA15_0==HyphenMinus) ) { 4331 if ( (LA18_0==PlusSign||LA18_0==HyphenMinus) ) {
3142 alt15=1; 4332 alt18=1;
3143 } 4333 }
3144 4334
3145 4335
3146 switch (alt15) { 4336 switch (alt18) {
3147 case 1 : 4337 case 1 :
3148 // InternalSolverLanguageParser.g:1246:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) 4338 // InternalSolverLanguageParser.g:1757:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) )
3149 { 4339 {
3150 // InternalSolverLanguageParser.g:1246:4: () 4340 // InternalSolverLanguageParser.g:1757:4: ()
3151 // InternalSolverLanguageParser.g:1247:5: 4341 // InternalSolverLanguageParser.g:1758:5:
3152 { 4342 {
3153 4343
3154 current = forceCreateModelElementAndSet( 4344 current = forceCreateModelElementAndSet(
@@ -3158,11 +4348,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3158 4348
3159 } 4349 }
3160 4350
3161 // InternalSolverLanguageParser.g:1253:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) 4351 // InternalSolverLanguageParser.g:1764:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) )
3162 // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) 4352 // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
3163 { 4353 {
3164 // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) 4354 // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
3165 // InternalSolverLanguageParser.g:1255:6: lv_op_2_0= ruleAdditiveBinaryOperator 4355 // InternalSolverLanguageParser.g:1766:6: lv_op_2_0= ruleAdditiveBinaryOperator
3166 { 4356 {
3167 4357
3168 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); 4358 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
@@ -3189,16 +4379,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3189 4379
3190 } 4380 }
3191 4381
3192 // InternalSolverLanguageParser.g:1272:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) 4382 // InternalSolverLanguageParser.g:1783:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) )
3193 // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) 4383 // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression )
3194 { 4384 {
3195 // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) 4385 // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression )
3196 // InternalSolverLanguageParser.g:1274:6: lv_right_3_0= ruleMultiplicativeExpression 4386 // InternalSolverLanguageParser.g:1785:6: lv_right_3_0= ruleMultiplicativeExpression
3197 { 4387 {
3198 4388
3199 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); 4389 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
3200 4390
3201 pushFollow(FOLLOW_22); 4391 pushFollow(FOLLOW_29);
3202 lv_right_3_0=ruleMultiplicativeExpression(); 4392 lv_right_3_0=ruleMultiplicativeExpression();
3203 4393
3204 state._fsp--; 4394 state._fsp--;
@@ -3225,7 +4415,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3225 break; 4415 break;
3226 4416
3227 default : 4417 default :
3228 break loop15; 4418 break loop18;
3229 } 4419 }
3230 } while (true); 4420 } while (true);
3231 4421
@@ -3252,7 +4442,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3252 4442
3253 4443
3254 // $ANTLR start "entryRuleMultiplicativeExpression" 4444 // $ANTLR start "entryRuleMultiplicativeExpression"
3255 // InternalSolverLanguageParser.g:1296:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; 4445 // InternalSolverLanguageParser.g:1807:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ;
3256 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException { 4446 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException {
3257 EObject current = null; 4447 EObject current = null;
3258 4448
@@ -3260,8 +4450,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3260 4450
3261 4451
3262 try { 4452 try {
3263 // InternalSolverLanguageParser.g:1296:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) 4453 // InternalSolverLanguageParser.g:1807:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF )
3264 // InternalSolverLanguageParser.g:1297:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF 4454 // InternalSolverLanguageParser.g:1808:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF
3265 { 4455 {
3266 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); 4456 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule());
3267 pushFollow(FOLLOW_1); 4457 pushFollow(FOLLOW_1);
@@ -3288,7 +4478,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3288 4478
3289 4479
3290 // $ANTLR start "ruleMultiplicativeExpression" 4480 // $ANTLR start "ruleMultiplicativeExpression"
3291 // InternalSolverLanguageParser.g:1303:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; 4481 // InternalSolverLanguageParser.g:1814:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ;
3292 public final EObject ruleMultiplicativeExpression() throws RecognitionException { 4482 public final EObject ruleMultiplicativeExpression() throws RecognitionException {
3293 EObject current = null; 4483 EObject current = null;
3294 4484
@@ -3303,16 +4493,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3303 enterRule(); 4493 enterRule();
3304 4494
3305 try { 4495 try {
3306 // InternalSolverLanguageParser.g:1309:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) 4496 // InternalSolverLanguageParser.g:1820:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) )
3307 // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) 4497 // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
3308 { 4498 {
3309 // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) 4499 // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
3310 // InternalSolverLanguageParser.g:1311:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* 4500 // InternalSolverLanguageParser.g:1822:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
3311 { 4501 {
3312 4502
3313 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); 4503 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
3314 4504
3315 pushFollow(FOLLOW_23); 4505 pushFollow(FOLLOW_30);
3316 this_ExponentialExpression_0=ruleExponentialExpression(); 4506 this_ExponentialExpression_0=ruleExponentialExpression();
3317 4507
3318 state._fsp--; 4508 state._fsp--;
@@ -3321,23 +4511,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3321 current = this_ExponentialExpression_0; 4511 current = this_ExponentialExpression_0;
3322 afterParserOrEnumRuleCall(); 4512 afterParserOrEnumRuleCall();
3323 4513
3324 // InternalSolverLanguageParser.g:1319:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* 4514 // InternalSolverLanguageParser.g:1830:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
3325 loop16: 4515 loop19:
3326 do { 4516 do {
3327 int alt16=2; 4517 int alt19=2;
3328 int LA16_0 = input.LA(1); 4518 int LA19_0 = input.LA(1);
3329 4519
3330 if ( (LA16_0==Asterisk||LA16_0==Solidus) ) { 4520 if ( (LA19_0==Asterisk||LA19_0==Solidus) ) {
3331 alt16=1; 4521 alt19=1;
3332 } 4522 }
3333 4523
3334 4524
3335 switch (alt16) { 4525 switch (alt19) {
3336 case 1 : 4526 case 1 :
3337 // InternalSolverLanguageParser.g:1320:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) 4527 // InternalSolverLanguageParser.g:1831:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) )
3338 { 4528 {
3339 // InternalSolverLanguageParser.g:1320:4: () 4529 // InternalSolverLanguageParser.g:1831:4: ()
3340 // InternalSolverLanguageParser.g:1321:5: 4530 // InternalSolverLanguageParser.g:1832:5:
3341 { 4531 {
3342 4532
3343 current = forceCreateModelElementAndSet( 4533 current = forceCreateModelElementAndSet(
@@ -3347,11 +4537,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3347 4537
3348 } 4538 }
3349 4539
3350 // InternalSolverLanguageParser.g:1327:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) 4540 // InternalSolverLanguageParser.g:1838:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) )
3351 // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) 4541 // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
3352 { 4542 {
3353 // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) 4543 // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
3354 // InternalSolverLanguageParser.g:1329:6: lv_op_2_0= ruleMultiplicativeBinaryOperator 4544 // InternalSolverLanguageParser.g:1840:6: lv_op_2_0= ruleMultiplicativeBinaryOperator
3355 { 4545 {
3356 4546
3357 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); 4547 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
@@ -3378,16 +4568,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3378 4568
3379 } 4569 }
3380 4570
3381 // InternalSolverLanguageParser.g:1346:4: ( (lv_right_3_0= ruleExponentialExpression ) ) 4571 // InternalSolverLanguageParser.g:1857:4: ( (lv_right_3_0= ruleExponentialExpression ) )
3382 // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) 4572 // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression )
3383 { 4573 {
3384 // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) 4574 // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression )
3385 // InternalSolverLanguageParser.g:1348:6: lv_right_3_0= ruleExponentialExpression 4575 // InternalSolverLanguageParser.g:1859:6: lv_right_3_0= ruleExponentialExpression
3386 { 4576 {
3387 4577
3388 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 4578 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
3389 4579
3390 pushFollow(FOLLOW_23); 4580 pushFollow(FOLLOW_30);
3391 lv_right_3_0=ruleExponentialExpression(); 4581 lv_right_3_0=ruleExponentialExpression();
3392 4582
3393 state._fsp--; 4583 state._fsp--;
@@ -3414,7 +4604,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3414 break; 4604 break;
3415 4605
3416 default : 4606 default :
3417 break loop16; 4607 break loop19;
3418 } 4608 }
3419 } while (true); 4609 } while (true);
3420 4610
@@ -3441,7 +4631,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3441 4631
3442 4632
3443 // $ANTLR start "entryRuleExponentialExpression" 4633 // $ANTLR start "entryRuleExponentialExpression"
3444 // InternalSolverLanguageParser.g:1370:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; 4634 // InternalSolverLanguageParser.g:1881:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ;
3445 public final EObject entryRuleExponentialExpression() throws RecognitionException { 4635 public final EObject entryRuleExponentialExpression() throws RecognitionException {
3446 EObject current = null; 4636 EObject current = null;
3447 4637
@@ -3449,8 +4639,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3449 4639
3450 4640
3451 try { 4641 try {
3452 // InternalSolverLanguageParser.g:1370:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) 4642 // InternalSolverLanguageParser.g:1881:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF )
3453 // InternalSolverLanguageParser.g:1371:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF 4643 // InternalSolverLanguageParser.g:1882:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF
3454 { 4644 {
3455 newCompositeNode(grammarAccess.getExponentialExpressionRule()); 4645 newCompositeNode(grammarAccess.getExponentialExpressionRule());
3456 pushFollow(FOLLOW_1); 4646 pushFollow(FOLLOW_1);
@@ -3477,11 +4667,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3477 4667
3478 4668
3479 // $ANTLR start "ruleExponentialExpression" 4669 // $ANTLR start "ruleExponentialExpression"
3480 // InternalSolverLanguageParser.g:1377:1: ruleExponentialExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ; 4670 // InternalSolverLanguageParser.g:1888:1: ruleExponentialExpression returns [EObject current=null] : (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ;
3481 public final EObject ruleExponentialExpression() throws RecognitionException { 4671 public final EObject ruleExponentialExpression() throws RecognitionException {
3482 EObject current = null; 4672 EObject current = null;
3483 4673
3484 EObject this_UnaryExpression_0 = null; 4674 EObject this_CastExpression_0 = null;
3485 4675
3486 Enumerator lv_op_2_0 = null; 4676 Enumerator lv_op_2_0 = null;
3487 4677
@@ -3492,37 +4682,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3492 enterRule(); 4682 enterRule();
3493 4683
3494 try { 4684 try {
3495 // InternalSolverLanguageParser.g:1383:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ) 4685 // InternalSolverLanguageParser.g:1894:2: ( (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) )
3496 // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) 4686 // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? )
3497 { 4687 {
3498 // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) 4688 // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? )
3499 // InternalSolverLanguageParser.g:1385:3: this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? 4689 // InternalSolverLanguageParser.g:1896:3: this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )?
3500 { 4690 {
3501 4691
3502 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); 4692 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
3503 4693
3504 pushFollow(FOLLOW_24); 4694 pushFollow(FOLLOW_31);
3505 this_UnaryExpression_0=ruleUnaryExpression(); 4695 this_CastExpression_0=ruleCastExpression();
3506 4696
3507 state._fsp--; 4697 state._fsp--;
3508 4698
3509 4699
3510 current = this_UnaryExpression_0; 4700 current = this_CastExpression_0;
3511 afterParserOrEnumRuleCall(); 4701 afterParserOrEnumRuleCall();
3512 4702
3513 // InternalSolverLanguageParser.g:1393:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? 4703 // InternalSolverLanguageParser.g:1904:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )?
3514 int alt17=2; 4704 int alt20=2;
3515 int LA17_0 = input.LA(1); 4705 int LA20_0 = input.LA(1);
3516 4706
3517 if ( (LA17_0==CircumflexAccent) ) { 4707 if ( (LA20_0==CircumflexAccent) ) {
3518 alt17=1; 4708 alt20=1;
3519 } 4709 }
3520 switch (alt17) { 4710 switch (alt20) {
3521 case 1 : 4711 case 1 :
3522 // InternalSolverLanguageParser.g:1394:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) 4712 // InternalSolverLanguageParser.g:1905:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) )
3523 { 4713 {
3524 // InternalSolverLanguageParser.g:1394:4: () 4714 // InternalSolverLanguageParser.g:1905:4: ()
3525 // InternalSolverLanguageParser.g:1395:5: 4715 // InternalSolverLanguageParser.g:1906:5:
3526 { 4716 {
3527 4717
3528 current = forceCreateModelElementAndSet( 4718 current = forceCreateModelElementAndSet(
@@ -3532,11 +4722,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3532 4722
3533 } 4723 }
3534 4724
3535 // InternalSolverLanguageParser.g:1401:4: ( (lv_op_2_0= ruleExponentialOp ) ) 4725 // InternalSolverLanguageParser.g:1912:4: ( (lv_op_2_0= ruleExponentialOp ) )
3536 // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) 4726 // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp )
3537 { 4727 {
3538 // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) 4728 // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp )
3539 // InternalSolverLanguageParser.g:1403:6: lv_op_2_0= ruleExponentialOp 4729 // InternalSolverLanguageParser.g:1914:6: lv_op_2_0= ruleExponentialOp
3540 { 4730 {
3541 4731
3542 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); 4732 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
@@ -3563,17 +4753,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3563 4753
3564 } 4754 }
3565 4755
3566 // InternalSolverLanguageParser.g:1420:4: ( (lv_right_3_0= ruleExponentialExpression ) ) 4756 // InternalSolverLanguageParser.g:1931:4: ( (lv_right_3_0= ruleCastExpression ) )
3567 // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) 4757 // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression )
3568 { 4758 {
3569 // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) 4759 // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression )
3570 // InternalSolverLanguageParser.g:1422:6: lv_right_3_0= ruleExponentialExpression 4760 // InternalSolverLanguageParser.g:1933:6: lv_right_3_0= ruleCastExpression
3571 { 4761 {
3572 4762
3573 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 4763 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
3574 4764
3575 pushFollow(FOLLOW_2); 4765 pushFollow(FOLLOW_2);
3576 lv_right_3_0=ruleExponentialExpression(); 4766 lv_right_3_0=ruleCastExpression();
3577 4767
3578 state._fsp--; 4768 state._fsp--;
3579 4769
@@ -3585,7 +4775,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3585 current, 4775 current,
3586 "right", 4776 "right",
3587 lv_right_3_0, 4777 lv_right_3_0,
3588 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); 4778 "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression");
3589 afterParserOrEnumRuleCall(); 4779 afterParserOrEnumRuleCall();
3590 4780
3591 4781
@@ -3622,8 +4812,157 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3622 // $ANTLR end "ruleExponentialExpression" 4812 // $ANTLR end "ruleExponentialExpression"
3623 4813
3624 4814
4815 // $ANTLR start "entryRuleCastExpression"
4816 // InternalSolverLanguageParser.g:1955:1: entryRuleCastExpression returns [EObject current=null] : iv_ruleCastExpression= ruleCastExpression EOF ;
4817 public final EObject entryRuleCastExpression() throws RecognitionException {
4818 EObject current = null;
4819
4820 EObject iv_ruleCastExpression = null;
4821
4822
4823 try {
4824 // InternalSolverLanguageParser.g:1955:55: (iv_ruleCastExpression= ruleCastExpression EOF )
4825 // InternalSolverLanguageParser.g:1956:2: iv_ruleCastExpression= ruleCastExpression EOF
4826 {
4827 newCompositeNode(grammarAccess.getCastExpressionRule());
4828 pushFollow(FOLLOW_1);
4829 iv_ruleCastExpression=ruleCastExpression();
4830
4831 state._fsp--;
4832
4833 current =iv_ruleCastExpression;
4834 match(input,EOF,FOLLOW_2);
4835
4836 }
4837
4838 }
4839
4840 catch (RecognitionException re) {
4841 recover(input,re);
4842 appendSkippedTokens();
4843 }
4844 finally {
4845 }
4846 return current;
4847 }
4848 // $ANTLR end "entryRuleCastExpression"
4849
4850
4851 // $ANTLR start "ruleCastExpression"
4852 // InternalSolverLanguageParser.g:1962:1: ruleCastExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ;
4853 public final EObject ruleCastExpression() throws RecognitionException {
4854 EObject current = null;
4855
4856 Token otherlv_2=null;
4857 EObject this_UnaryExpression_0 = null;
4858
4859
4860
4861 enterRule();
4862
4863 try {
4864 // InternalSolverLanguageParser.g:1968:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) )
4865 // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? )
4866 {
4867 // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? )
4868 // InternalSolverLanguageParser.g:1970:3: this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )?
4869 {
4870
4871 newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
4872
4873 pushFollow(FOLLOW_32);
4874 this_UnaryExpression_0=ruleUnaryExpression();
4875
4876 state._fsp--;
4877
4878
4879 current = this_UnaryExpression_0;
4880 afterParserOrEnumRuleCall();
4881
4882 // InternalSolverLanguageParser.g:1978:3: ( () otherlv_2= As ( ( ruleQualifiedName ) ) )?
4883 int alt21=2;
4884 int LA21_0 = input.LA(1);
4885
4886 if ( (LA21_0==As) ) {
4887 alt21=1;
4888 }
4889 switch (alt21) {
4890 case 1 :
4891 // InternalSolverLanguageParser.g:1979:4: () otherlv_2= As ( ( ruleQualifiedName ) )
4892 {
4893 // InternalSolverLanguageParser.g:1979:4: ()
4894 // InternalSolverLanguageParser.g:1980:5:
4895 {
4896
4897 current = forceCreateModelElementAndSet(
4898 grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(),
4899 current);
4900
4901
4902 }
4903
4904 otherlv_2=(Token)match(input,As,FOLLOW_8);
4905
4906 newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
4907
4908 // InternalSolverLanguageParser.g:1990:4: ( ( ruleQualifiedName ) )
4909 // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName )
4910 {
4911 // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName )
4912 // InternalSolverLanguageParser.g:1992:6: ruleQualifiedName
4913 {
4914
4915 if (current==null) {
4916 current = createModelElement(grammarAccess.getCastExpressionRule());
4917 }
4918
4919
4920 newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0());
4921
4922 pushFollow(FOLLOW_2);
4923 ruleQualifiedName();
4924
4925 state._fsp--;
4926
4927
4928 afterParserOrEnumRuleCall();
4929
4930
4931 }
4932
4933
4934 }
4935
4936
4937 }
4938 break;
4939
4940 }
4941
4942
4943 }
4944
4945
4946 }
4947
4948
4949 leaveRule();
4950
4951 }
4952
4953 catch (RecognitionException re) {
4954 recover(input,re);
4955 appendSkippedTokens();
4956 }
4957 finally {
4958 }
4959 return current;
4960 }
4961 // $ANTLR end "ruleCastExpression"
4962
4963
3625 // $ANTLR start "entryRuleUnaryExpression" 4964 // $ANTLR start "entryRuleUnaryExpression"
3626 // InternalSolverLanguageParser.g:1444:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; 4965 // InternalSolverLanguageParser.g:2011:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ;
3627 public final EObject entryRuleUnaryExpression() throws RecognitionException { 4966 public final EObject entryRuleUnaryExpression() throws RecognitionException {
3628 EObject current = null; 4967 EObject current = null;
3629 4968
@@ -3631,8 +4970,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3631 4970
3632 4971
3633 try { 4972 try {
3634 // InternalSolverLanguageParser.g:1444:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) 4973 // InternalSolverLanguageParser.g:2011:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF )
3635 // InternalSolverLanguageParser.g:1445:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF 4974 // InternalSolverLanguageParser.g:2012:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF
3636 { 4975 {
3637 newCompositeNode(grammarAccess.getUnaryExpressionRule()); 4976 newCompositeNode(grammarAccess.getUnaryExpressionRule());
3638 pushFollow(FOLLOW_1); 4977 pushFollow(FOLLOW_1);
@@ -3659,7 +4998,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3659 4998
3660 4999
3661 // $ANTLR start "ruleUnaryExpression" 5000 // $ANTLR start "ruleUnaryExpression"
3662 // InternalSolverLanguageParser.g:1451:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; 5001 // InternalSolverLanguageParser.g:2018:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ;
3663 public final EObject ruleUnaryExpression() throws RecognitionException { 5002 public final EObject ruleUnaryExpression() throws RecognitionException {
3664 EObject current = null; 5003 EObject current = null;
3665 5004
@@ -3674,28 +5013,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3674 enterRule(); 5013 enterRule();
3675 5014
3676 try { 5015 try {
3677 // InternalSolverLanguageParser.g:1457:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) 5016 // InternalSolverLanguageParser.g:2024:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) )
3678 // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) 5017 // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) )
3679 { 5018 {
3680 // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) 5019 // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) )
3681 int alt18=2; 5020 int alt22=2;
3682 int LA18_0 = input.LA(1); 5021 int LA22_0 = input.LA(1);
3683 5022
3684 if ( (LA18_0==Unknown||(LA18_0>=Count && LA18_0<=False)||(LA18_0>=Only && LA18_0<=Prod)||LA18_0==True||(LA18_0>=Avg && LA18_0<=Inf)||LA18_0==Max||(LA18_0>=Min && LA18_0<=Sum)||LA18_0==LeftParenthesis||LA18_0==LeftSquareBracket||(LA18_0>=RULE_STRING && LA18_0<=RULE_QUOTED_ID)||(LA18_0>=RULE_ID && LA18_0<=RULE_INT)) ) { 5023 if ( ((LA22_0>=Unknown && LA22_0<=Exists)||LA22_0==Forall||(LA22_0>=Count && LA22_0<=False)||LA22_0==True||LA22_0==Inf||LA22_0==LeftParenthesis||LA22_0==LeftSquareBracket||(LA22_0>=RULE_STRING && LA22_0<=RULE_QUOTED_ID)||(LA22_0>=RULE_ID && LA22_0<=RULE_INT)) ) {
3685 alt18=1; 5024 alt22=1;
3686 } 5025 }
3687 else if ( (LA18_0==Current||LA18_0==Must||LA18_0==May||LA18_0==ExclamationMark||LA18_0==PlusSign||LA18_0==HyphenMinus) ) { 5026 else if ( (LA22_0==Current||LA22_0==Must||LA22_0==May||LA22_0==ExclamationMark||LA22_0==PlusSign||LA22_0==HyphenMinus) ) {
3688 alt18=2; 5027 alt22=2;
3689 } 5028 }
3690 else { 5029 else {
3691 NoViableAltException nvae = 5030 NoViableAltException nvae =
3692 new NoViableAltException("", 18, 0, input); 5031 new NoViableAltException("", 22, 0, input);
3693 5032
3694 throw nvae; 5033 throw nvae;
3695 } 5034 }
3696 switch (alt18) { 5035 switch (alt22) {
3697 case 1 : 5036 case 1 :
3698 // InternalSolverLanguageParser.g:1459:3: this_AggregationExpression_0= ruleAggregationExpression 5037 // InternalSolverLanguageParser.g:2026:3: this_AggregationExpression_0= ruleAggregationExpression
3699 { 5038 {
3700 5039
3701 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); 5040 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0());
@@ -3713,13 +5052,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3713 } 5052 }
3714 break; 5053 break;
3715 case 2 : 5054 case 2 :
3716 // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) 5055 // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) )
3717 { 5056 {
3718 // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) 5057 // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) )
3719 // InternalSolverLanguageParser.g:1469:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) 5058 // InternalSolverLanguageParser.g:2036:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) )
3720 { 5059 {
3721 // InternalSolverLanguageParser.g:1469:4: () 5060 // InternalSolverLanguageParser.g:2036:4: ()
3722 // InternalSolverLanguageParser.g:1470:5: 5061 // InternalSolverLanguageParser.g:2037:5:
3723 { 5062 {
3724 5063
3725 current = forceCreateModelElement( 5064 current = forceCreateModelElement(
@@ -3729,16 +5068,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3729 5068
3730 } 5069 }
3731 5070
3732 // InternalSolverLanguageParser.g:1476:4: ( (lv_op_2_0= ruleUnaryOp ) ) 5071 // InternalSolverLanguageParser.g:2043:4: ( (lv_op_2_0= ruleUnaryOp ) )
3733 // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) 5072 // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp )
3734 { 5073 {
3735 // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) 5074 // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp )
3736 // InternalSolverLanguageParser.g:1478:6: lv_op_2_0= ruleUnaryOp 5075 // InternalSolverLanguageParser.g:2045:6: lv_op_2_0= ruleUnaryOp
3737 { 5076 {
3738 5077
3739 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); 5078 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0());
3740 5079
3741 pushFollow(FOLLOW_25); 5080 pushFollow(FOLLOW_33);
3742 lv_op_2_0=ruleUnaryOp(); 5081 lv_op_2_0=ruleUnaryOp();
3743 5082
3744 state._fsp--; 5083 state._fsp--;
@@ -3760,11 +5099,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3760 5099
3761 } 5100 }
3762 5101
3763 // InternalSolverLanguageParser.g:1495:4: ( (lv_body_3_0= ruleAggregationExpression ) ) 5102 // InternalSolverLanguageParser.g:2062:4: ( (lv_body_3_0= ruleAggregationExpression ) )
3764 // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) 5103 // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression )
3765 { 5104 {
3766 // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) 5105 // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression )
3767 // InternalSolverLanguageParser.g:1497:6: lv_body_3_0= ruleAggregationExpression 5106 // InternalSolverLanguageParser.g:2064:6: lv_body_3_0= ruleAggregationExpression
3768 { 5107 {
3769 5108
3770 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); 5109 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0());
@@ -3820,7 +5159,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3820 5159
3821 5160
3822 // $ANTLR start "entryRuleAggregationExpression" 5161 // $ANTLR start "entryRuleAggregationExpression"
3823 // InternalSolverLanguageParser.g:1519:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; 5162 // InternalSolverLanguageParser.g:2086:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ;
3824 public final EObject entryRuleAggregationExpression() throws RecognitionException { 5163 public final EObject entryRuleAggregationExpression() throws RecognitionException {
3825 EObject current = null; 5164 EObject current = null;
3826 5165
@@ -3828,8 +5167,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3828 5167
3829 5168
3830 try { 5169 try {
3831 // InternalSolverLanguageParser.g:1519:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) 5170 // InternalSolverLanguageParser.g:2086:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF )
3832 // InternalSolverLanguageParser.g:1520:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF 5171 // InternalSolverLanguageParser.g:2087:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF
3833 { 5172 {
3834 newCompositeNode(grammarAccess.getAggregationExpressionRule()); 5173 newCompositeNode(grammarAccess.getAggregationExpressionRule());
3835 pushFollow(FOLLOW_1); 5174 pushFollow(FOLLOW_1);
@@ -3856,13 +5195,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3856 5195
3857 5196
3858 // $ANTLR start "ruleAggregationExpression" 5197 // $ANTLR start "ruleAggregationExpression"
3859 // InternalSolverLanguageParser.g:1526:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ; 5198 // InternalSolverLanguageParser.g:2093:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) ;
3860 public final EObject ruleAggregationExpression() throws RecognitionException { 5199 public final EObject ruleAggregationExpression() throws RecognitionException {
3861 EObject current = null; 5200 EObject current = null;
3862 5201
3863 EObject this_AtomicExpression_0 = null; 5202 EObject this_AtomicExpression_0 = null;
3864 5203
3865 EObject this_Count_1 = null; 5204 EObject this_QuantifiedExpression_1 = null;
3866 5205
3867 EObject this_Aggregation_2 = null; 5206 EObject this_Aggregation_2 = null;
3868 5207
@@ -3871,53 +5210,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3871 enterRule(); 5210 enterRule();
3872 5211
3873 try { 5212 try {
3874 // InternalSolverLanguageParser.g:1532:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ) 5213 // InternalSolverLanguageParser.g:2099:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) )
3875 // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) 5214 // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )
3876 { 5215 {
3877 // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) 5216 // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )
3878 int alt19=3; 5217 int alt23=3;
3879 switch ( input.LA(1) ) { 5218 alt23 = dfa23.predict(input);
3880 case Unknown: 5219 switch (alt23) {
3881 case Empty:
3882 case Error:
3883 case False:
3884 case True:
3885 case Inf:
3886 case LeftParenthesis:
3887 case LeftSquareBracket:
3888 case RULE_STRING:
3889 case RULE_QUOTED_ID:
3890 case RULE_ID:
3891 case RULE_INT:
3892 {
3893 alt19=1;
3894 }
3895 break;
3896 case Count:
3897 {
3898 alt19=2;
3899 }
3900 break;
3901 case Only:
3902 case Prod:
3903 case Avg:
3904 case Max:
3905 case Min:
3906 case Sum:
3907 {
3908 alt19=3;
3909 }
3910 break;
3911 default:
3912 NoViableAltException nvae =
3913 new NoViableAltException("", 19, 0, input);
3914
3915 throw nvae;
3916 }
3917
3918 switch (alt19) {
3919 case 1 : 5220 case 1 :
3920 // InternalSolverLanguageParser.g:1534:3: this_AtomicExpression_0= ruleAtomicExpression 5221 // InternalSolverLanguageParser.g:2101:3: this_AtomicExpression_0= ruleAtomicExpression
3921 { 5222 {
3922 5223
3923 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); 5224 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0());
@@ -3935,25 +5236,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3935 } 5236 }
3936 break; 5237 break;
3937 case 2 : 5238 case 2 :
3938 // InternalSolverLanguageParser.g:1543:3: this_Count_1= ruleCount 5239 // InternalSolverLanguageParser.g:2110:3: this_QuantifiedExpression_1= ruleQuantifiedExpression
3939 { 5240 {
3940 5241
3941 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); 5242 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1());
3942 5243
3943 pushFollow(FOLLOW_2); 5244 pushFollow(FOLLOW_2);
3944 this_Count_1=ruleCount(); 5245 this_QuantifiedExpression_1=ruleQuantifiedExpression();
3945 5246
3946 state._fsp--; 5247 state._fsp--;
3947 5248
3948 5249
3949 current = this_Count_1; 5250 current = this_QuantifiedExpression_1;
3950 afterParserOrEnumRuleCall(); 5251 afterParserOrEnumRuleCall();
3951 5252
3952 5253
3953 } 5254 }
3954 break; 5255 break;
3955 case 3 : 5256 case 3 :
3956 // InternalSolverLanguageParser.g:1552:3: this_Aggregation_2= ruleAggregation 5257 // InternalSolverLanguageParser.g:2119:3: this_Aggregation_2= ruleAggregation
3957 { 5258 {
3958 5259
3959 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); 5260 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2());
@@ -3992,25 +5293,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3992 // $ANTLR end "ruleAggregationExpression" 5293 // $ANTLR end "ruleAggregationExpression"
3993 5294
3994 5295
3995 // $ANTLR start "entryRuleCount" 5296 // $ANTLR start "entryRuleLocalVariables"
3996 // InternalSolverLanguageParser.g:1564:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ; 5297 // InternalSolverLanguageParser.g:2131:1: entryRuleLocalVariables returns [EObject current=null] : iv_ruleLocalVariables= ruleLocalVariables EOF ;
3997 public final EObject entryRuleCount() throws RecognitionException { 5298 public final EObject entryRuleLocalVariables() throws RecognitionException {
3998 EObject current = null; 5299 EObject current = null;
3999 5300
4000 EObject iv_ruleCount = null; 5301 EObject iv_ruleLocalVariables = null;
4001 5302
4002 5303
4003 try { 5304 try {
4004 // InternalSolverLanguageParser.g:1564:46: (iv_ruleCount= ruleCount EOF ) 5305 // InternalSolverLanguageParser.g:2131:55: (iv_ruleLocalVariables= ruleLocalVariables EOF )
4005 // InternalSolverLanguageParser.g:1565:2: iv_ruleCount= ruleCount EOF 5306 // InternalSolverLanguageParser.g:2132:2: iv_ruleLocalVariables= ruleLocalVariables EOF
4006 { 5307 {
4007 newCompositeNode(grammarAccess.getCountRule()); 5308 newCompositeNode(grammarAccess.getLocalVariablesRule());
4008 pushFollow(FOLLOW_1); 5309 pushFollow(FOLLOW_1);
4009 iv_ruleCount=ruleCount(); 5310 iv_ruleLocalVariables=ruleLocalVariables();
4010 5311
4011 state._fsp--; 5312 state._fsp--;
4012 5313
4013 current =iv_ruleCount; 5314 current =iv_ruleLocalVariables;
4014 match(input,EOF,FOLLOW_2); 5315 match(input,EOF,FOLLOW_2);
4015 5316
4016 } 5317 }
@@ -4025,60 +5326,339 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4025 } 5326 }
4026 return current; 5327 return current;
4027 } 5328 }
4028 // $ANTLR end "entryRuleCount" 5329 // $ANTLR end "entryRuleLocalVariables"
4029 5330
4030 5331
4031 // $ANTLR start "ruleCount" 5332 // $ANTLR start "ruleLocalVariables"
4032 // InternalSolverLanguageParser.g:1571:1: ruleCount returns [EObject current=null] : (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ; 5333 // InternalSolverLanguageParser.g:2138:1: ruleLocalVariables returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) ;
4033 public final EObject ruleCount() throws RecognitionException { 5334 public final EObject ruleLocalVariables() throws RecognitionException {
4034 EObject current = null; 5335 EObject current = null;
4035 5336
4036 Token otherlv_0=null;
4037 Token otherlv_1=null; 5337 Token otherlv_1=null;
4038 Token otherlv_3=null; 5338 Token otherlv_3=null;
4039 EObject lv_body_2_0 = null; 5339 Token otherlv_5=null;
5340 EObject lv_variables_2_0 = null;
5341
5342 EObject lv_variables_4_0 = null;
4040 5343
4041 5344
4042 5345
4043 enterRule(); 5346 enterRule();
4044 5347
4045 try { 5348 try {
4046 // InternalSolverLanguageParser.g:1577:2: ( (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ) 5349 // InternalSolverLanguageParser.g:2144:2: ( ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) )
4047 // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) 5350 // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket )
5351 {
5352 // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket )
5353 // InternalSolverLanguageParser.g:2146:3: () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket
4048 { 5354 {
4049 // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) 5355 // InternalSolverLanguageParser.g:2146:3: ()
4050 // InternalSolverLanguageParser.g:1579:3: otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket 5356 // InternalSolverLanguageParser.g:2147:4:
4051 { 5357 {
4052 otherlv_0=(Token)match(input,Count,FOLLOW_26);
4053 5358
4054 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); 5359 current = forceCreateModelElement(
5360 grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(),
5361 current);
5362
5363
5364 }
5365
5366 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_34);
5367
5368 newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
5369
5370 // InternalSolverLanguageParser.g:2157:3: ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )?
5371 int alt25=2;
5372 int LA25_0 = input.LA(1);
5373
5374 if ( (LA25_0==RULE_QUOTED_ID||LA25_0==RULE_ID) ) {
5375 alt25=1;
5376 }
5377 switch (alt25) {
5378 case 1 :
5379 // InternalSolverLanguageParser.g:2158:4: ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )*
5380 {
5381 // InternalSolverLanguageParser.g:2158:4: ( (lv_variables_2_0= ruleVariable ) )
5382 // InternalSolverLanguageParser.g:2159:5: (lv_variables_2_0= ruleVariable )
5383 {
5384 // InternalSolverLanguageParser.g:2159:5: (lv_variables_2_0= ruleVariable )
5385 // InternalSolverLanguageParser.g:2160:6: lv_variables_2_0= ruleVariable
5386 {
5387
5388 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0());
5389
5390 pushFollow(FOLLOW_35);
5391 lv_variables_2_0=ruleVariable();
5392
5393 state._fsp--;
5394
5395
5396 if (current==null) {
5397 current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
5398 }
5399 add(
5400 current,
5401 "variables",
5402 lv_variables_2_0,
5403 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
5404 afterParserOrEnumRuleCall();
5405
5406
5407 }
5408
5409
5410 }
5411
5412 // InternalSolverLanguageParser.g:2177:4: (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )*
5413 loop24:
5414 do {
5415 int alt24=2;
5416 int LA24_0 = input.LA(1);
5417
5418 if ( (LA24_0==Comma) ) {
5419 alt24=1;
5420 }
5421
5422
5423 switch (alt24) {
5424 case 1 :
5425 // InternalSolverLanguageParser.g:2178:5: otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) )
5426 {
5427 otherlv_3=(Token)match(input,Comma,FOLLOW_8);
5428
5429 newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0());
5430
5431 // InternalSolverLanguageParser.g:2182:5: ( (lv_variables_4_0= ruleVariable ) )
5432 // InternalSolverLanguageParser.g:2183:6: (lv_variables_4_0= ruleVariable )
5433 {
5434 // InternalSolverLanguageParser.g:2183:6: (lv_variables_4_0= ruleVariable )
5435 // InternalSolverLanguageParser.g:2184:7: lv_variables_4_0= ruleVariable
5436 {
5437
5438 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0());
5439
5440 pushFollow(FOLLOW_35);
5441 lv_variables_4_0=ruleVariable();
5442
5443 state._fsp--;
5444
5445
5446 if (current==null) {
5447 current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
5448 }
5449 add(
5450 current,
5451 "variables",
5452 lv_variables_4_0,
5453 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
5454 afterParserOrEnumRuleCall();
5455
5456
5457 }
5458
5459
5460 }
5461
5462
5463 }
5464 break;
5465
5466 default :
5467 break loop24;
5468 }
5469 } while (true);
5470
5471
5472 }
5473 break;
5474
5475 }
5476
5477 otherlv_5=(Token)match(input,RightSquareBracket,FOLLOW_2);
5478
5479 newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
4055 5480
4056 otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
4057 5481
4058 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); 5482 }
5483
5484
5485 }
5486
5487
5488 leaveRule();
5489
5490 }
5491
5492 catch (RecognitionException re) {
5493 recover(input,re);
5494 appendSkippedTokens();
5495 }
5496 finally {
5497 }
5498 return current;
5499 }
5500 // $ANTLR end "ruleLocalVariables"
5501
5502
5503 // $ANTLR start "entryRuleQuantifiedExpression"
5504 // InternalSolverLanguageParser.g:2211:1: entryRuleQuantifiedExpression returns [EObject current=null] : iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ;
5505 public final EObject entryRuleQuantifiedExpression() throws RecognitionException {
5506 EObject current = null;
5507
5508 EObject iv_ruleQuantifiedExpression = null;
5509
5510
5511 try {
5512 // InternalSolverLanguageParser.g:2211:61: (iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF )
5513 // InternalSolverLanguageParser.g:2212:2: iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF
5514 {
5515 newCompositeNode(grammarAccess.getQuantifiedExpressionRule());
5516 pushFollow(FOLLOW_1);
5517 iv_ruleQuantifiedExpression=ruleQuantifiedExpression();
5518
5519 state._fsp--;
5520
5521 current =iv_ruleQuantifiedExpression;
5522 match(input,EOF,FOLLOW_2);
5523
5524 }
5525
5526 }
5527
5528 catch (RecognitionException re) {
5529 recover(input,re);
5530 appendSkippedTokens();
5531 }
5532 finally {
5533 }
5534 return current;
5535 }
5536 // $ANTLR end "entryRuleQuantifiedExpression"
5537
5538
5539 // $ANTLR start "ruleQuantifiedExpression"
5540 // InternalSolverLanguageParser.g:2218:1: ruleQuantifiedExpression returns [EObject current=null] : ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) ;
5541 public final EObject ruleQuantifiedExpression() throws RecognitionException {
5542 EObject current = null;
5543
5544 Token otherlv_2=null;
5545 Token otherlv_4=null;
5546 Enumerator lv_quantifier_0_0 = null;
5547
5548 EObject lv_localVariables_1_0 = null;
5549
5550 EObject lv_body_3_0 = null;
5551
5552
5553
5554 enterRule();
5555
5556 try {
5557 // InternalSolverLanguageParser.g:2224:2: ( ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) )
5558 // InternalSolverLanguageParser.g:2225:2: ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket )
5559 {
5560 // InternalSolverLanguageParser.g:2225:2: ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket )
5561 // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket
5562 {
5563 // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) )
5564 // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier )
5565 {
5566 // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier )
5567 // InternalSolverLanguageParser.g:2228:5: lv_quantifier_0_0= ruleQuantifier
5568 {
5569
5570 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0());
5571
5572 pushFollow(FOLLOW_36);
5573 lv_quantifier_0_0=ruleQuantifier();
5574
5575 state._fsp--;
5576
5577
5578 if (current==null) {
5579 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
5580 }
5581 set(
5582 current,
5583 "quantifier",
5584 lv_quantifier_0_0,
5585 "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
5586 afterParserOrEnumRuleCall();
5587
5588
5589 }
5590
5591
5592 }
5593
5594 // InternalSolverLanguageParser.g:2245:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )?
5595 int alt26=2;
5596 int LA26_0 = input.LA(1);
5597
5598 if ( (LA26_0==LeftSquareBracket) ) {
5599 alt26=1;
5600 }
5601 switch (alt26) {
5602 case 1 :
5603 // InternalSolverLanguageParser.g:2246:4: (lv_localVariables_1_0= ruleLocalVariables )
5604 {
5605 // InternalSolverLanguageParser.g:2246:4: (lv_localVariables_1_0= ruleLocalVariables )
5606 // InternalSolverLanguageParser.g:2247:5: lv_localVariables_1_0= ruleLocalVariables
5607 {
5608
5609 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
5610
5611 pushFollow(FOLLOW_14);
5612 lv_localVariables_1_0=ruleLocalVariables();
5613
5614 state._fsp--;
5615
5616
5617 if (current==null) {
5618 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
5619 }
5620 set(
5621 current,
5622 "localVariables",
5623 lv_localVariables_1_0,
5624 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
5625 afterParserOrEnumRuleCall();
5626
5627
5628 }
5629
5630
5631 }
5632 break;
5633
5634 }
5635
5636 otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
5637
5638 newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2());
4059 5639
4060 // InternalSolverLanguageParser.g:1587:3: ( (lv_body_2_0= ruleExpression ) ) 5640 // InternalSolverLanguageParser.g:2268:3: ( (lv_body_3_0= ruleExpression ) )
4061 // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) 5641 // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression )
4062 { 5642 {
4063 // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) 5643 // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression )
4064 // InternalSolverLanguageParser.g:1589:5: lv_body_2_0= ruleExpression 5644 // InternalSolverLanguageParser.g:2270:5: lv_body_3_0= ruleExpression
4065 { 5645 {
4066 5646
4067 newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); 5647 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0());
4068 5648
4069 pushFollow(FOLLOW_27); 5649 pushFollow(FOLLOW_16);
4070 lv_body_2_0=ruleExpression(); 5650 lv_body_3_0=ruleExpression();
4071 5651
4072 state._fsp--; 5652 state._fsp--;
4073 5653
4074 5654
4075 if (current==null) { 5655 if (current==null) {
4076 current = createModelElementForParent(grammarAccess.getCountRule()); 5656 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
4077 } 5657 }
4078 set( 5658 set(
4079 current, 5659 current,
4080 "body", 5660 "body",
4081 lv_body_2_0, 5661 lv_body_3_0,
4082 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 5662 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4083 afterParserOrEnumRuleCall(); 5663 afterParserOrEnumRuleCall();
4084 5664
@@ -4088,9 +5668,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4088 5668
4089 } 5669 }
4090 5670
4091 otherlv_3=(Token)match(input,RightCurlyBracket,FOLLOW_2); 5671 otherlv_4=(Token)match(input,RightCurlyBracket,FOLLOW_2);
4092 5672
4093 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); 5673 newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4());
4094 5674
4095 5675
4096 } 5676 }
@@ -4111,11 +5691,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4111 } 5691 }
4112 return current; 5692 return current;
4113 } 5693 }
4114 // $ANTLR end "ruleCount" 5694 // $ANTLR end "ruleQuantifiedExpression"
4115 5695
4116 5696
4117 // $ANTLR start "entryRuleAggregation" 5697 // $ANTLR start "entryRuleAggregation"
4118 // InternalSolverLanguageParser.g:1614:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; 5698 // InternalSolverLanguageParser.g:2295:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ;
4119 public final EObject entryRuleAggregation() throws RecognitionException { 5699 public final EObject entryRuleAggregation() throws RecognitionException {
4120 EObject current = null; 5700 EObject current = null;
4121 5701
@@ -4123,8 +5703,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4123 5703
4124 5704
4125 try { 5705 try {
4126 // InternalSolverLanguageParser.g:1614:52: (iv_ruleAggregation= ruleAggregation EOF ) 5706 // InternalSolverLanguageParser.g:2295:52: (iv_ruleAggregation= ruleAggregation EOF )
4127 // InternalSolverLanguageParser.g:1615:2: iv_ruleAggregation= ruleAggregation EOF 5707 // InternalSolverLanguageParser.g:2296:2: iv_ruleAggregation= ruleAggregation EOF
4128 { 5708 {
4129 newCompositeNode(grammarAccess.getAggregationRule()); 5709 newCompositeNode(grammarAccess.getAggregationRule());
4130 pushFollow(FOLLOW_1); 5710 pushFollow(FOLLOW_1);
@@ -4151,53 +5731,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4151 5731
4152 5732
4153 // $ANTLR start "ruleAggregation" 5733 // $ANTLR start "ruleAggregation"
4154 // InternalSolverLanguageParser.g:1621:1: ruleAggregation returns [EObject current=null] : ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ; 5734 // InternalSolverLanguageParser.g:2302:1: ruleAggregation returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) ;
4155 public final EObject ruleAggregation() throws RecognitionException { 5735 public final EObject ruleAggregation() throws RecognitionException {
4156 EObject current = null; 5736 EObject current = null;
4157 5737
4158 Token otherlv_1=null; 5738 Token otherlv_2=null;
4159 Token otherlv_3=null; 5739 Token otherlv_4=null;
4160 Token otherlv_5=null; 5740 Token otherlv_6=null;
4161 Enumerator lv_op_0_0 = null; 5741 EObject lv_localVariables_1_0 = null;
4162 5742
4163 EObject lv_body_2_0 = null; 5743 EObject lv_body_3_0 = null;
4164 5744
4165 EObject lv_condition_4_0 = null; 5745 EObject lv_condition_5_0 = null;
4166 5746
4167 5747
4168 5748
4169 enterRule(); 5749 enterRule();
4170 5750
4171 try { 5751 try {
4172 // InternalSolverLanguageParser.g:1627:2: ( ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ) 5752 // InternalSolverLanguageParser.g:2308:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) )
4173 // InternalSolverLanguageParser.g:1628:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) 5753 // InternalSolverLanguageParser.g:2309:2: ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket )
4174 { 5754 {
4175 // InternalSolverLanguageParser.g:1628:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) 5755 // InternalSolverLanguageParser.g:2309:2: ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket )
4176 // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket 5756 // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket
4177 { 5757 {
4178 // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) 5758 // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) )
4179 // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) 5759 // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName )
4180 { 5760 {
4181 // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) 5761 // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName )
4182 // InternalSolverLanguageParser.g:1631:5: lv_op_0_0= ruleAggregationOp 5762 // InternalSolverLanguageParser.g:2312:5: ruleQualifiedName
4183 { 5763 {
4184 5764
4185 newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); 5765 if (current==null) {
5766 current = createModelElement(grammarAccess.getAggregationRule());
5767 }
5768
5769
5770 newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
4186 5771
4187 pushFollow(FOLLOW_26); 5772 pushFollow(FOLLOW_36);
4188 lv_op_0_0=ruleAggregationOp(); 5773 ruleQualifiedName();
4189 5774
4190 state._fsp--; 5775 state._fsp--;
4191 5776
4192 5777
4193 if (current==null) {
4194 current = createModelElementForParent(grammarAccess.getAggregationRule());
4195 }
4196 set(
4197 current,
4198 "op",
4199 lv_op_0_0,
4200 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp");
4201 afterParserOrEnumRuleCall(); 5778 afterParserOrEnumRuleCall();
4202 5779
4203 5780
@@ -4206,21 +5783,63 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4206 5783
4207 } 5784 }
4208 5785
4209 otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6); 5786 // InternalSolverLanguageParser.g:2326:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )?
5787 int alt27=2;
5788 int LA27_0 = input.LA(1);
5789
5790 if ( (LA27_0==LeftSquareBracket) ) {
5791 alt27=1;
5792 }
5793 switch (alt27) {
5794 case 1 :
5795 // InternalSolverLanguageParser.g:2327:4: (lv_localVariables_1_0= ruleLocalVariables )
5796 {
5797 // InternalSolverLanguageParser.g:2327:4: (lv_localVariables_1_0= ruleLocalVariables )
5798 // InternalSolverLanguageParser.g:2328:5: lv_localVariables_1_0= ruleLocalVariables
5799 {
5800
5801 newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
5802
5803 pushFollow(FOLLOW_14);
5804 lv_localVariables_1_0=ruleLocalVariables();
5805
5806 state._fsp--;
5807
5808
5809 if (current==null) {
5810 current = createModelElementForParent(grammarAccess.getAggregationRule());
5811 }
5812 set(
5813 current,
5814 "localVariables",
5815 lv_localVariables_1_0,
5816 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
5817 afterParserOrEnumRuleCall();
5818
5819
5820 }
5821
5822
5823 }
5824 break;
5825
5826 }
5827
5828 otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
4210 5829
4211 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); 5830 newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2());
4212 5831
4213 // InternalSolverLanguageParser.g:1652:3: ( (lv_body_2_0= ruleExpression ) ) 5832 // InternalSolverLanguageParser.g:2349:3: ( (lv_body_3_0= ruleExpression ) )
4214 // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) 5833 // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression )
4215 { 5834 {
4216 // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) 5835 // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression )
4217 // InternalSolverLanguageParser.g:1654:5: lv_body_2_0= ruleExpression 5836 // InternalSolverLanguageParser.g:2351:5: lv_body_3_0= ruleExpression
4218 { 5837 {
4219 5838
4220 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); 5839 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0());
4221 5840
4222 pushFollow(FOLLOW_28); 5841 pushFollow(FOLLOW_37);
4223 lv_body_2_0=ruleExpression(); 5842 lv_body_3_0=ruleExpression();
4224 5843
4225 state._fsp--; 5844 state._fsp--;
4226 5845
@@ -4231,7 +5850,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4231 set( 5850 set(
4232 current, 5851 current,
4233 "body", 5852 "body",
4234 lv_body_2_0, 5853 lv_body_3_0,
4235 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 5854 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4236 afterParserOrEnumRuleCall(); 5855 afterParserOrEnumRuleCall();
4237 5856
@@ -4241,44 +5860,61 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4241 5860
4242 } 5861 }
4243 5862
4244 otherlv_3=(Token)match(input,VerticalLine,FOLLOW_6); 5863 // InternalSolverLanguageParser.g:2368:3: (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )?
5864 int alt28=2;
5865 int LA28_0 = input.LA(1);
4245 5866
4246 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); 5867 if ( (LA28_0==VerticalLine) ) {
4247 5868 alt28=1;
4248 // InternalSolverLanguageParser.g:1675:3: ( (lv_condition_4_0= ruleExpression ) ) 5869 }
4249 // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) 5870 switch (alt28) {
4250 { 5871 case 1 :
4251 // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) 5872 // InternalSolverLanguageParser.g:2369:4: otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) )
4252 // InternalSolverLanguageParser.g:1677:5: lv_condition_4_0= ruleExpression 5873 {
4253 { 5874 otherlv_4=(Token)match(input,VerticalLine,FOLLOW_6);
4254 5875
4255 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); 5876 newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
4256 5877
4257 pushFollow(FOLLOW_27); 5878 // InternalSolverLanguageParser.g:2373:4: ( (lv_condition_5_0= ruleExpression ) )
4258 lv_condition_4_0=ruleExpression(); 5879 // InternalSolverLanguageParser.g:2374:5: (lv_condition_5_0= ruleExpression )
5880 {
5881 // InternalSolverLanguageParser.g:2374:5: (lv_condition_5_0= ruleExpression )
5882 // InternalSolverLanguageParser.g:2375:6: lv_condition_5_0= ruleExpression
5883 {
4259 5884
4260 state._fsp--; 5885 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
5886
5887 pushFollow(FOLLOW_16);
5888 lv_condition_5_0=ruleExpression();
4261 5889
5890 state._fsp--;
4262 5891
4263 if (current==null) {
4264 current = createModelElementForParent(grammarAccess.getAggregationRule());
4265 }
4266 set(
4267 current,
4268 "condition",
4269 lv_condition_4_0,
4270 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4271 afterParserOrEnumRuleCall();
4272
4273 5892
4274 } 5893 if (current==null) {
5894 current = createModelElementForParent(grammarAccess.getAggregationRule());
5895 }
5896 set(
5897 current,
5898 "condition",
5899 lv_condition_5_0,
5900 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
5901 afterParserOrEnumRuleCall();
5902
5903
5904 }
5905
5906
5907 }
4275 5908
4276 5909
5910 }
5911 break;
5912
4277 } 5913 }
4278 5914
4279 otherlv_5=(Token)match(input,RightCurlyBracket,FOLLOW_2); 5915 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
4280 5916
4281 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 5917 newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
4282 5918
4283 5919
4284 } 5920 }
@@ -4303,7 +5939,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4303 5939
4304 5940
4305 // $ANTLR start "entryRuleAtomicExpression" 5941 // $ANTLR start "entryRuleAtomicExpression"
4306 // InternalSolverLanguageParser.g:1702:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; 5942 // InternalSolverLanguageParser.g:2401:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ;
4307 public final EObject entryRuleAtomicExpression() throws RecognitionException { 5943 public final EObject entryRuleAtomicExpression() throws RecognitionException {
4308 EObject current = null; 5944 EObject current = null;
4309 5945
@@ -4311,8 +5947,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4311 5947
4312 5948
4313 try { 5949 try {
4314 // InternalSolverLanguageParser.g:1702:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) 5950 // InternalSolverLanguageParser.g:2401:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF )
4315 // InternalSolverLanguageParser.g:1703:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF 5951 // InternalSolverLanguageParser.g:2402:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF
4316 { 5952 {
4317 newCompositeNode(grammarAccess.getAtomicExpressionRule()); 5953 newCompositeNode(grammarAccess.getAtomicExpressionRule());
4318 pushFollow(FOLLOW_1); 5954 pushFollow(FOLLOW_1);
@@ -4339,7 +5975,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4339 5975
4340 5976
4341 // $ANTLR start "ruleAtomicExpression" 5977 // $ANTLR start "ruleAtomicExpression"
4342 // InternalSolverLanguageParser.g:1709:1: ruleAtomicExpression returns [EObject current=null] : (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ; 5978 // InternalSolverLanguageParser.g:2408:1: ruleAtomicExpression returns [EObject current=null] : (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ;
4343 public final EObject ruleAtomicExpression() throws RecognitionException { 5979 public final EObject ruleAtomicExpression() throws RecognitionException {
4344 EObject current = null; 5980 EObject current = null;
4345 5981
@@ -4360,15 +5996,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4360 enterRule(); 5996 enterRule();
4361 5997
4362 try { 5998 try {
4363 // InternalSolverLanguageParser.g:1715:2: ( (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ) 5999 // InternalSolverLanguageParser.g:2414:2: ( (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) )
4364 // InternalSolverLanguageParser.g:1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) 6000 // InternalSolverLanguageParser.g:2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )
4365 { 6001 {
4366 // InternalSolverLanguageParser.g:1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) 6002 // InternalSolverLanguageParser.g:2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )
4367 int alt20=5; 6003 int alt29=5;
4368 alt20 = dfa20.predict(input); 6004 alt29 = dfa29.predict(input);
4369 switch (alt20) { 6005 switch (alt29) {
4370 case 1 : 6006 case 1 :
4371 // InternalSolverLanguageParser.g:1717:3: this_Reference_0= ruleReference 6007 // InternalSolverLanguageParser.g:2416:3: this_Reference_0= ruleReference
4372 { 6008 {
4373 6009
4374 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); 6010 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0());
@@ -4386,7 +6022,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4386 } 6022 }
4387 break; 6023 break;
4388 case 2 : 6024 case 2 :
4389 // InternalSolverLanguageParser.g:1726:3: this_Call_1= ruleCall 6025 // InternalSolverLanguageParser.g:2425:3: this_Call_1= ruleCall
4390 { 6026 {
4391 6027
4392 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); 6028 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1());
@@ -4404,7 +6040,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4404 } 6040 }
4405 break; 6041 break;
4406 case 3 : 6042 case 3 :
4407 // InternalSolverLanguageParser.g:1735:3: this_Interval_2= ruleInterval 6043 // InternalSolverLanguageParser.g:2434:3: this_Interval_2= ruleInterval
4408 { 6044 {
4409 6045
4410 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); 6046 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2());
@@ -4422,7 +6058,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4422 } 6058 }
4423 break; 6059 break;
4424 case 4 : 6060 case 4 :
4425 // InternalSolverLanguageParser.g:1744:3: this_Literal_3= ruleLiteral 6061 // InternalSolverLanguageParser.g:2443:3: this_Literal_3= ruleLiteral
4426 { 6062 {
4427 6063
4428 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); 6064 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3());
@@ -4440,10 +6076,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4440 } 6076 }
4441 break; 6077 break;
4442 case 5 : 6078 case 5 :
4443 // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) 6079 // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis )
4444 { 6080 {
4445 // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) 6081 // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis )
4446 // InternalSolverLanguageParser.g:1754:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis 6082 // InternalSolverLanguageParser.g:2453:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis
4447 { 6083 {
4448 otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6); 6084 otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6);
4449 6085
@@ -4452,7 +6088,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4452 6088
4453 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); 6089 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1());
4454 6090
4455 pushFollow(FOLLOW_29); 6091 pushFollow(FOLLOW_38);
4456 this_Expression_5=ruleExpression(); 6092 this_Expression_5=ruleExpression();
4457 6093
4458 state._fsp--; 6094 state._fsp--;
@@ -4494,7 +6130,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4494 6130
4495 6131
4496 // $ANTLR start "entryRuleCall" 6132 // $ANTLR start "entryRuleCall"
4497 // InternalSolverLanguageParser.g:1775:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; 6133 // InternalSolverLanguageParser.g:2474:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ;
4498 public final EObject entryRuleCall() throws RecognitionException { 6134 public final EObject entryRuleCall() throws RecognitionException {
4499 EObject current = null; 6135 EObject current = null;
4500 6136
@@ -4502,8 +6138,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4502 6138
4503 6139
4504 try { 6140 try {
4505 // InternalSolverLanguageParser.g:1775:45: (iv_ruleCall= ruleCall EOF ) 6141 // InternalSolverLanguageParser.g:2474:45: (iv_ruleCall= ruleCall EOF )
4506 // InternalSolverLanguageParser.g:1776:2: iv_ruleCall= ruleCall EOF 6142 // InternalSolverLanguageParser.g:2475:2: iv_ruleCall= ruleCall EOF
4507 { 6143 {
4508 newCompositeNode(grammarAccess.getCallRule()); 6144 newCompositeNode(grammarAccess.getCallRule());
4509 pushFollow(FOLLOW_1); 6145 pushFollow(FOLLOW_1);
@@ -4530,7 +6166,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4530 6166
4531 6167
4532 // $ANTLR start "ruleCall" 6168 // $ANTLR start "ruleCall"
4533 // InternalSolverLanguageParser.g:1782:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ; 6169 // InternalSolverLanguageParser.g:2481:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ;
4534 public final EObject ruleCall() throws RecognitionException { 6170 public final EObject ruleCall() throws RecognitionException {
4535 EObject current = null; 6171 EObject current = null;
4536 6172
@@ -4545,22 +6181,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4545 enterRule(); 6181 enterRule();
4546 6182
4547 try { 6183 try {
4548 // InternalSolverLanguageParser.g:1788:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ) 6184 // InternalSolverLanguageParser.g:2487:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) )
4549 // InternalSolverLanguageParser.g:1789:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) 6185 // InternalSolverLanguageParser.g:2488:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) )
4550 { 6186 {
4551 // InternalSolverLanguageParser.g:1789:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) 6187 // InternalSolverLanguageParser.g:2488:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) )
4552 // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) 6188 // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) )
4553 { 6189 {
4554 // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) 6190 // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) )
4555 // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) 6191 // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference )
4556 { 6192 {
4557 // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) 6193 // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference )
4558 // InternalSolverLanguageParser.g:1792:5: lv_functor_0_0= ruleReference 6194 // InternalSolverLanguageParser.g:2491:5: lv_functor_0_0= ruleReference
4559 { 6195 {
4560 6196
4561 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); 6197 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
4562 6198
4563 pushFollow(FOLLOW_30); 6199 pushFollow(FOLLOW_39);
4564 lv_functor_0_0=ruleReference(); 6200 lv_functor_0_0=ruleReference();
4565 6201
4566 state._fsp--; 6202 state._fsp--;
@@ -4582,25 +6218,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4582 6218
4583 } 6219 }
4584 6220
4585 // InternalSolverLanguageParser.g:1809:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? 6221 // InternalSolverLanguageParser.g:2508:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )?
4586 int alt21=3; 6222 int alt30=3;
4587 int LA21_0 = input.LA(1); 6223 int LA30_0 = input.LA(1);
4588 6224
4589 if ( (LA21_0==RULE_TRANSITIVE_CLOSURE) ) { 6225 if ( (LA30_0==RULE_TRANSITIVE_CLOSURE) ) {
4590 alt21=1; 6226 alt30=1;
4591 } 6227 }
4592 else if ( (LA21_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) { 6228 else if ( (LA30_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) {
4593 alt21=2; 6229 alt30=2;
4594 } 6230 }
4595 switch (alt21) { 6231 switch (alt30) {
4596 case 1 : 6232 case 1 :
4597 // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) 6233 // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) )
4598 { 6234 {
4599 // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) 6235 // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) )
4600 // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) 6236 // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE )
4601 { 6237 {
4602 // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) 6238 // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE )
4603 // InternalSolverLanguageParser.g:1812:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE 6239 // InternalSolverLanguageParser.g:2511:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE
4604 { 6240 {
4605 lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11); 6241 lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11);
4606 6242
@@ -4626,13 +6262,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4626 } 6262 }
4627 break; 6263 break;
4628 case 2 : 6264 case 2 :
4629 // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) 6265 // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
4630 { 6266 {
4631 // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) 6267 // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
4632 // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) 6268 // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
4633 { 6269 {
4634 // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) 6270 // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
4635 // InternalSolverLanguageParser.g:1831:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE 6271 // InternalSolverLanguageParser.g:2530:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE
4636 { 6272 {
4637 lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11); 6273 lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11);
4638 6274
@@ -4660,11 +6296,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4660 6296
4661 } 6297 }
4662 6298
4663 // InternalSolverLanguageParser.g:1848:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) 6299 // InternalSolverLanguageParser.g:2547:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
4664 // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) 6300 // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList )
4665 { 6301 {
4666 // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) 6302 // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList )
4667 // InternalSolverLanguageParser.g:1850:5: lv_argumentList_3_0= ruleArgumentList 6303 // InternalSolverLanguageParser.g:2549:5: lv_argumentList_3_0= ruleArgumentList
4668 { 6304 {
4669 6305
4670 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); 6306 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0());
@@ -4714,7 +6350,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4714 6350
4715 6351
4716 // $ANTLR start "entryRuleArgumentList" 6352 // $ANTLR start "entryRuleArgumentList"
4717 // InternalSolverLanguageParser.g:1871:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; 6353 // InternalSolverLanguageParser.g:2570:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ;
4718 public final EObject entryRuleArgumentList() throws RecognitionException { 6354 public final EObject entryRuleArgumentList() throws RecognitionException {
4719 EObject current = null; 6355 EObject current = null;
4720 6356
@@ -4722,8 +6358,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4722 6358
4723 6359
4724 try { 6360 try {
4725 // InternalSolverLanguageParser.g:1871:53: (iv_ruleArgumentList= ruleArgumentList EOF ) 6361 // InternalSolverLanguageParser.g:2570:53: (iv_ruleArgumentList= ruleArgumentList EOF )
4726 // InternalSolverLanguageParser.g:1872:2: iv_ruleArgumentList= ruleArgumentList EOF 6362 // InternalSolverLanguageParser.g:2571:2: iv_ruleArgumentList= ruleArgumentList EOF
4727 { 6363 {
4728 newCompositeNode(grammarAccess.getArgumentListRule()); 6364 newCompositeNode(grammarAccess.getArgumentListRule());
4729 pushFollow(FOLLOW_1); 6365 pushFollow(FOLLOW_1);
@@ -4750,7 +6386,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4750 6386
4751 6387
4752 // $ANTLR start "ruleArgumentList" 6388 // $ANTLR start "ruleArgumentList"
4753 // InternalSolverLanguageParser.g:1878:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ; 6389 // InternalSolverLanguageParser.g:2577:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ;
4754 public final EObject ruleArgumentList() throws RecognitionException { 6390 public final EObject ruleArgumentList() throws RecognitionException {
4755 EObject current = null; 6391 EObject current = null;
4756 6392
@@ -4766,14 +6402,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4766 enterRule(); 6402 enterRule();
4767 6403
4768 try { 6404 try {
4769 // InternalSolverLanguageParser.g:1884:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ) 6405 // InternalSolverLanguageParser.g:2583:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) )
4770 // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) 6406 // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis )
4771 { 6407 {
4772 // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) 6408 // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis )
4773 // InternalSolverLanguageParser.g:1886:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis 6409 // InternalSolverLanguageParser.g:2585:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis
4774 { 6410 {
4775 // InternalSolverLanguageParser.g:1886:3: () 6411 // InternalSolverLanguageParser.g:2585:3: ()
4776 // InternalSolverLanguageParser.g:1887:4: 6412 // InternalSolverLanguageParser.g:2586:4:
4777 { 6413 {
4778 6414
4779 current = forceCreateModelElement( 6415 current = forceCreateModelElement(
@@ -4783,31 +6419,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4783 6419
4784 } 6420 }
4785 6421
4786 otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_31); 6422 otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_40);
4787 6423
4788 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); 6424 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
4789 6425
4790 // InternalSolverLanguageParser.g:1897:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? 6426 // InternalSolverLanguageParser.g:2596:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )?
4791 int alt23=2; 6427 int alt32=2;
4792 int LA23_0 = input.LA(1); 6428 int LA32_0 = input.LA(1);
4793 6429
4794 if ( (LA23_0==Current||LA23_0==Unknown||(LA23_0>=Count && LA23_0<=False)||(LA23_0>=Must && LA23_0<=Prod)||LA23_0==True||(LA23_0>=Avg && LA23_0<=Inf)||(LA23_0>=Max && LA23_0<=Sum)||(LA23_0>=ExclamationMark && LA23_0<=LeftParenthesis)||(LA23_0>=Asterisk && LA23_0<=PlusSign)||LA23_0==HyphenMinus||LA23_0==LeftSquareBracket||(LA23_0>=RULE_STRING && LA23_0<=RULE_QUOTED_ID)||(LA23_0>=RULE_ID && LA23_0<=RULE_INT)) ) { 6430 if ( (LA32_0==Current||(LA32_0>=Unknown && LA32_0<=Exists)||LA32_0==Forall||(LA32_0>=Count && LA32_0<=False)||LA32_0==Must||LA32_0==True||LA32_0==Inf||LA32_0==May||(LA32_0>=ExclamationMark && LA32_0<=LeftParenthesis)||(LA32_0>=Asterisk && LA32_0<=PlusSign)||LA32_0==HyphenMinus||LA32_0==LeftSquareBracket||(LA32_0>=RULE_STRING && LA32_0<=RULE_QUOTED_ID)||(LA32_0>=RULE_ID && LA32_0<=RULE_INT)) ) {
4795 alt23=1; 6431 alt32=1;
4796 } 6432 }
4797 switch (alt23) { 6433 switch (alt32) {
4798 case 1 : 6434 case 1 :
4799 // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* 6435 // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )*
4800 { 6436 {
4801 // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) 6437 // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) )
4802 // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) 6438 // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument )
4803 { 6439 {
4804 // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) 6440 // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument )
4805 // InternalSolverLanguageParser.g:1900:6: lv_arguments_2_0= ruleArgument 6441 // InternalSolverLanguageParser.g:2599:6: lv_arguments_2_0= ruleArgument
4806 { 6442 {
4807 6443
4808 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); 6444 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
4809 6445
4810 pushFollow(FOLLOW_32); 6446 pushFollow(FOLLOW_41);
4811 lv_arguments_2_0=ruleArgument(); 6447 lv_arguments_2_0=ruleArgument();
4812 6448
4813 state._fsp--; 6449 state._fsp--;
@@ -4829,35 +6465,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4829 6465
4830 } 6466 }
4831 6467
4832 // InternalSolverLanguageParser.g:1917:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* 6468 // InternalSolverLanguageParser.g:2616:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )*
4833 loop22: 6469 loop31:
4834 do { 6470 do {
4835 int alt22=2; 6471 int alt31=2;
4836 int LA22_0 = input.LA(1); 6472 int LA31_0 = input.LA(1);
4837 6473
4838 if ( (LA22_0==Comma) ) { 6474 if ( (LA31_0==Comma) ) {
4839 alt22=1; 6475 alt31=1;
4840 } 6476 }
4841 6477
4842 6478
4843 switch (alt22) { 6479 switch (alt31) {
4844 case 1 : 6480 case 1 :
4845 // InternalSolverLanguageParser.g:1918:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) 6481 // InternalSolverLanguageParser.g:2617:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) )
4846 { 6482 {
4847 otherlv_3=(Token)match(input,Comma,FOLLOW_33); 6483 otherlv_3=(Token)match(input,Comma,FOLLOW_42);
4848 6484
4849 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); 6485 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
4850 6486
4851 // InternalSolverLanguageParser.g:1922:5: ( (lv_arguments_4_0= ruleArgument ) ) 6487 // InternalSolverLanguageParser.g:2621:5: ( (lv_arguments_4_0= ruleArgument ) )
4852 // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) 6488 // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument )
4853 { 6489 {
4854 // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) 6490 // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument )
4855 // InternalSolverLanguageParser.g:1924:7: lv_arguments_4_0= ruleArgument 6491 // InternalSolverLanguageParser.g:2623:7: lv_arguments_4_0= ruleArgument
4856 { 6492 {
4857 6493
4858 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); 6494 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
4859 6495
4860 pushFollow(FOLLOW_32); 6496 pushFollow(FOLLOW_41);
4861 lv_arguments_4_0=ruleArgument(); 6497 lv_arguments_4_0=ruleArgument();
4862 6498
4863 state._fsp--; 6499 state._fsp--;
@@ -4884,7 +6520,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4884 break; 6520 break;
4885 6521
4886 default : 6522 default :
4887 break loop22; 6523 break loop31;
4888 } 6524 }
4889 } while (true); 6525 } while (true);
4890 6526
@@ -4921,7 +6557,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4921 6557
4922 6558
4923 // $ANTLR start "entryRuleArgument" 6559 // $ANTLR start "entryRuleArgument"
4924 // InternalSolverLanguageParser.g:1951:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; 6560 // InternalSolverLanguageParser.g:2650:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
4925 public final EObject entryRuleArgument() throws RecognitionException { 6561 public final EObject entryRuleArgument() throws RecognitionException {
4926 EObject current = null; 6562 EObject current = null;
4927 6563
@@ -4929,8 +6565,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4929 6565
4930 6566
4931 try { 6567 try {
4932 // InternalSolverLanguageParser.g:1951:49: (iv_ruleArgument= ruleArgument EOF ) 6568 // InternalSolverLanguageParser.g:2650:49: (iv_ruleArgument= ruleArgument EOF )
4933 // InternalSolverLanguageParser.g:1952:2: iv_ruleArgument= ruleArgument EOF 6569 // InternalSolverLanguageParser.g:2651:2: iv_ruleArgument= ruleArgument EOF
4934 { 6570 {
4935 newCompositeNode(grammarAccess.getArgumentRule()); 6571 newCompositeNode(grammarAccess.getArgumentRule());
4936 pushFollow(FOLLOW_1); 6572 pushFollow(FOLLOW_1);
@@ -4957,7 +6593,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4957 6593
4958 6594
4959 // $ANTLR start "ruleArgument" 6595 // $ANTLR start "ruleArgument"
4960 // InternalSolverLanguageParser.g:1958:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ; 6596 // InternalSolverLanguageParser.g:2657:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ;
4961 public final EObject ruleArgument() throws RecognitionException { 6597 public final EObject ruleArgument() throws RecognitionException {
4962 EObject current = null; 6598 EObject current = null;
4963 6599
@@ -4974,15 +6610,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4974 enterRule(); 6610 enterRule();
4975 6611
4976 try { 6612 try {
4977 // InternalSolverLanguageParser.g:1964:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) 6613 // InternalSolverLanguageParser.g:2663:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) )
4978 // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) 6614 // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
4979 { 6615 {
4980 // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) 6616 // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
4981 int alt24=4; 6617 int alt33=4;
4982 alt24 = dfa24.predict(input); 6618 alt33 = dfa33.predict(input);
4983 switch (alt24) { 6619 switch (alt33) {
4984 case 1 : 6620 case 1 :
4985 // InternalSolverLanguageParser.g:1966:3: this_ExpressionArgument_0= ruleExpressionArgument 6621 // InternalSolverLanguageParser.g:2665:3: this_ExpressionArgument_0= ruleExpressionArgument
4986 { 6622 {
4987 6623
4988 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); 6624 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
@@ -5000,7 +6636,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5000 } 6636 }
5001 break; 6637 break;
5002 case 2 : 6638 case 2 :
5003 // InternalSolverLanguageParser.g:1975:3: this_StarArgument_1= ruleStarArgument 6639 // InternalSolverLanguageParser.g:2674:3: this_StarArgument_1= ruleStarArgument
5004 { 6640 {
5005 6641
5006 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); 6642 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
@@ -5018,7 +6654,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5018 } 6654 }
5019 break; 6655 break;
5020 case 3 : 6656 case 3 :
5021 // InternalSolverLanguageParser.g:1984:3: this_TypedArgument_2= ruleTypedArgument 6657 // InternalSolverLanguageParser.g:2683:3: this_TypedArgument_2= ruleTypedArgument
5022 { 6658 {
5023 6659
5024 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); 6660 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2());
@@ -5036,7 +6672,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5036 } 6672 }
5037 break; 6673 break;
5038 case 4 : 6674 case 4 :
5039 // InternalSolverLanguageParser.g:1993:3: this_TypedStarArgument_3= ruleTypedStarArgument 6675 // InternalSolverLanguageParser.g:2692:3: this_TypedStarArgument_3= ruleTypedStarArgument
5040 { 6676 {
5041 6677
5042 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); 6678 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
@@ -5076,7 +6712,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5076 6712
5077 6713
5078 // $ANTLR start "entryRuleExpressionArgument" 6714 // $ANTLR start "entryRuleExpressionArgument"
5079 // InternalSolverLanguageParser.g:2005:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; 6715 // InternalSolverLanguageParser.g:2704:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ;
5080 public final EObject entryRuleExpressionArgument() throws RecognitionException { 6716 public final EObject entryRuleExpressionArgument() throws RecognitionException {
5081 EObject current = null; 6717 EObject current = null;
5082 6718
@@ -5084,8 +6720,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5084 6720
5085 6721
5086 try { 6722 try {
5087 // InternalSolverLanguageParser.g:2005:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) 6723 // InternalSolverLanguageParser.g:2704:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF )
5088 // InternalSolverLanguageParser.g:2006:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF 6724 // InternalSolverLanguageParser.g:2705:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF
5089 { 6725 {
5090 newCompositeNode(grammarAccess.getExpressionArgumentRule()); 6726 newCompositeNode(grammarAccess.getExpressionArgumentRule());
5091 pushFollow(FOLLOW_1); 6727 pushFollow(FOLLOW_1);
@@ -5112,7 +6748,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5112 6748
5113 6749
5114 // $ANTLR start "ruleExpressionArgument" 6750 // $ANTLR start "ruleExpressionArgument"
5115 // InternalSolverLanguageParser.g:2012:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; 6751 // InternalSolverLanguageParser.g:2711:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ;
5116 public final EObject ruleExpressionArgument() throws RecognitionException { 6752 public final EObject ruleExpressionArgument() throws RecognitionException {
5117 EObject current = null; 6753 EObject current = null;
5118 6754
@@ -5123,14 +6759,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5123 enterRule(); 6759 enterRule();
5124 6760
5125 try { 6761 try {
5126 // InternalSolverLanguageParser.g:2018:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) 6762 // InternalSolverLanguageParser.g:2717:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) )
5127 // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) 6763 // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) )
5128 { 6764 {
5129 // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) 6765 // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) )
5130 // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) 6766 // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression )
5131 { 6767 {
5132 // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) 6768 // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression )
5133 // InternalSolverLanguageParser.g:2021:4: lv_body_0_0= ruleComparisonExpression 6769 // InternalSolverLanguageParser.g:2720:4: lv_body_0_0= ruleComparisonExpression
5134 { 6770 {
5135 6771
5136 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); 6772 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0());
@@ -5177,7 +6813,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5177 6813
5178 6814
5179 // $ANTLR start "entryRuleStarArgument" 6815 // $ANTLR start "entryRuleStarArgument"
5180 // InternalSolverLanguageParser.g:2041:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; 6816 // InternalSolverLanguageParser.g:2740:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ;
5181 public final EObject entryRuleStarArgument() throws RecognitionException { 6817 public final EObject entryRuleStarArgument() throws RecognitionException {
5182 EObject current = null; 6818 EObject current = null;
5183 6819
@@ -5185,8 +6821,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5185 6821
5186 6822
5187 try { 6823 try {
5188 // InternalSolverLanguageParser.g:2041:53: (iv_ruleStarArgument= ruleStarArgument EOF ) 6824 // InternalSolverLanguageParser.g:2740:53: (iv_ruleStarArgument= ruleStarArgument EOF )
5189 // InternalSolverLanguageParser.g:2042:2: iv_ruleStarArgument= ruleStarArgument EOF 6825 // InternalSolverLanguageParser.g:2741:2: iv_ruleStarArgument= ruleStarArgument EOF
5190 { 6826 {
5191 newCompositeNode(grammarAccess.getStarArgumentRule()); 6827 newCompositeNode(grammarAccess.getStarArgumentRule());
5192 pushFollow(FOLLOW_1); 6828 pushFollow(FOLLOW_1);
@@ -5213,7 +6849,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5213 6849
5214 6850
5215 // $ANTLR start "ruleStarArgument" 6851 // $ANTLR start "ruleStarArgument"
5216 // InternalSolverLanguageParser.g:2048:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; 6852 // InternalSolverLanguageParser.g:2747:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ;
5217 public final EObject ruleStarArgument() throws RecognitionException { 6853 public final EObject ruleStarArgument() throws RecognitionException {
5218 EObject current = null; 6854 EObject current = null;
5219 6855
@@ -5223,14 +6859,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5223 enterRule(); 6859 enterRule();
5224 6860
5225 try { 6861 try {
5226 // InternalSolverLanguageParser.g:2054:2: ( ( () otherlv_1= Asterisk ) ) 6862 // InternalSolverLanguageParser.g:2753:2: ( ( () otherlv_1= Asterisk ) )
5227 // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) 6863 // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk )
5228 { 6864 {
5229 // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) 6865 // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk )
5230 // InternalSolverLanguageParser.g:2056:3: () otherlv_1= Asterisk 6866 // InternalSolverLanguageParser.g:2755:3: () otherlv_1= Asterisk
5231 { 6867 {
5232 // InternalSolverLanguageParser.g:2056:3: () 6868 // InternalSolverLanguageParser.g:2755:3: ()
5233 // InternalSolverLanguageParser.g:2057:4: 6869 // InternalSolverLanguageParser.g:2756:4:
5234 { 6870 {
5235 6871
5236 current = forceCreateModelElement( 6872 current = forceCreateModelElement(
@@ -5267,7 +6903,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5267 6903
5268 6904
5269 // $ANTLR start "entryRuleTypedArgument" 6905 // $ANTLR start "entryRuleTypedArgument"
5270 // InternalSolverLanguageParser.g:2071:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; 6906 // InternalSolverLanguageParser.g:2770:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ;
5271 public final EObject entryRuleTypedArgument() throws RecognitionException { 6907 public final EObject entryRuleTypedArgument() throws RecognitionException {
5272 EObject current = null; 6908 EObject current = null;
5273 6909
@@ -5275,8 +6911,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5275 6911
5276 6912
5277 try { 6913 try {
5278 // InternalSolverLanguageParser.g:2071:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) 6914 // InternalSolverLanguageParser.g:2770:54: (iv_ruleTypedArgument= ruleTypedArgument EOF )
5279 // InternalSolverLanguageParser.g:2072:2: iv_ruleTypedArgument= ruleTypedArgument EOF 6915 // InternalSolverLanguageParser.g:2771:2: iv_ruleTypedArgument= ruleTypedArgument EOF
5280 { 6916 {
5281 newCompositeNode(grammarAccess.getTypedArgumentRule()); 6917 newCompositeNode(grammarAccess.getTypedArgumentRule());
5282 pushFollow(FOLLOW_1); 6918 pushFollow(FOLLOW_1);
@@ -5303,7 +6939,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5303 6939
5304 6940
5305 // $ANTLR start "ruleTypedArgument" 6941 // $ANTLR start "ruleTypedArgument"
5306 // InternalSolverLanguageParser.g:2078:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; 6942 // InternalSolverLanguageParser.g:2777:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ;
5307 public final EObject ruleTypedArgument() throws RecognitionException { 6943 public final EObject ruleTypedArgument() throws RecognitionException {
5308 EObject current = null; 6944 EObject current = null;
5309 6945
@@ -5311,17 +6947,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5311 enterRule(); 6947 enterRule();
5312 6948
5313 try { 6949 try {
5314 // InternalSolverLanguageParser.g:2084:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) 6950 // InternalSolverLanguageParser.g:2783:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) )
5315 // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) 6951 // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) )
5316 { 6952 {
5317 // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) 6953 // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) )
5318 // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) 6954 // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) )
5319 { 6955 {
5320 // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) 6956 // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) )
5321 // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) 6957 // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName )
5322 { 6958 {
5323 // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) 6959 // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName )
5324 // InternalSolverLanguageParser.g:2088:5: ruleQualifiedName 6960 // InternalSolverLanguageParser.g:2787:5: ruleQualifiedName
5325 { 6961 {
5326 6962
5327 if (current==null) { 6963 if (current==null) {
@@ -5345,11 +6981,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5345 6981
5346 } 6982 }
5347 6983
5348 // InternalSolverLanguageParser.g:2102:3: ( ( ruleQualifiedName ) ) 6984 // InternalSolverLanguageParser.g:2801:3: ( ( ruleQualifiedName ) )
5349 // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) 6985 // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName )
5350 { 6986 {
5351 // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) 6987 // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName )
5352 // InternalSolverLanguageParser.g:2104:5: ruleQualifiedName 6988 // InternalSolverLanguageParser.g:2803:5: ruleQualifiedName
5353 { 6989 {
5354 6990
5355 if (current==null) { 6991 if (current==null) {
@@ -5396,7 +7032,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5396 7032
5397 7033
5398 // $ANTLR start "entryRuleTypedStarArgument" 7034 // $ANTLR start "entryRuleTypedStarArgument"
5399 // InternalSolverLanguageParser.g:2122:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; 7035 // InternalSolverLanguageParser.g:2821:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ;
5400 public final EObject entryRuleTypedStarArgument() throws RecognitionException { 7036 public final EObject entryRuleTypedStarArgument() throws RecognitionException {
5401 EObject current = null; 7037 EObject current = null;
5402 7038
@@ -5404,8 +7040,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5404 7040
5405 7041
5406 try { 7042 try {
5407 // InternalSolverLanguageParser.g:2122:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) 7043 // InternalSolverLanguageParser.g:2821:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF )
5408 // InternalSolverLanguageParser.g:2123:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF 7044 // InternalSolverLanguageParser.g:2822:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF
5409 { 7045 {
5410 newCompositeNode(grammarAccess.getTypedStarArgumentRule()); 7046 newCompositeNode(grammarAccess.getTypedStarArgumentRule());
5411 pushFollow(FOLLOW_1); 7047 pushFollow(FOLLOW_1);
@@ -5432,7 +7068,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5432 7068
5433 7069
5434 // $ANTLR start "ruleTypedStarArgument" 7070 // $ANTLR start "ruleTypedStarArgument"
5435 // InternalSolverLanguageParser.g:2129:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ; 7071 // InternalSolverLanguageParser.g:2828:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ;
5436 public final EObject ruleTypedStarArgument() throws RecognitionException { 7072 public final EObject ruleTypedStarArgument() throws RecognitionException {
5437 EObject current = null; 7073 EObject current = null;
5438 7074
@@ -5442,17 +7078,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5442 enterRule(); 7078 enterRule();
5443 7079
5444 try { 7080 try {
5445 // InternalSolverLanguageParser.g:2135:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ) 7081 // InternalSolverLanguageParser.g:2834:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) )
5446 // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) 7082 // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk )
5447 { 7083 {
5448 // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) 7084 // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk )
5449 // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk 7085 // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk
5450 { 7086 {
5451 // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) 7087 // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) )
5452 // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) 7088 // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName )
5453 { 7089 {
5454 // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) 7090 // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName )
5455 // InternalSolverLanguageParser.g:2139:5: ruleQualifiedName 7091 // InternalSolverLanguageParser.g:2838:5: ruleQualifiedName
5456 { 7092 {
5457 7093
5458 if (current==null) { 7094 if (current==null) {
@@ -5462,7 +7098,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5462 7098
5463 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); 7099 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
5464 7100
5465 pushFollow(FOLLOW_34); 7101 pushFollow(FOLLOW_43);
5466 ruleQualifiedName(); 7102 ruleQualifiedName();
5467 7103
5468 state._fsp--; 7104 state._fsp--;
@@ -5503,7 +7139,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5503 7139
5504 7140
5505 // $ANTLR start "entryRuleReference" 7141 // $ANTLR start "entryRuleReference"
5506 // InternalSolverLanguageParser.g:2161:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; 7142 // InternalSolverLanguageParser.g:2860:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ;
5507 public final EObject entryRuleReference() throws RecognitionException { 7143 public final EObject entryRuleReference() throws RecognitionException {
5508 EObject current = null; 7144 EObject current = null;
5509 7145
@@ -5511,8 +7147,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5511 7147
5512 7148
5513 try { 7149 try {
5514 // InternalSolverLanguageParser.g:2161:50: (iv_ruleReference= ruleReference EOF ) 7150 // InternalSolverLanguageParser.g:2860:50: (iv_ruleReference= ruleReference EOF )
5515 // InternalSolverLanguageParser.g:2162:2: iv_ruleReference= ruleReference EOF 7151 // InternalSolverLanguageParser.g:2861:2: iv_ruleReference= ruleReference EOF
5516 { 7152 {
5517 newCompositeNode(grammarAccess.getReferenceRule()); 7153 newCompositeNode(grammarAccess.getReferenceRule());
5518 pushFollow(FOLLOW_1); 7154 pushFollow(FOLLOW_1);
@@ -5539,7 +7175,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5539 7175
5540 7176
5541 // $ANTLR start "ruleReference" 7177 // $ANTLR start "ruleReference"
5542 // InternalSolverLanguageParser.g:2168:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; 7178 // InternalSolverLanguageParser.g:2867:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
5543 public final EObject ruleReference() throws RecognitionException { 7179 public final EObject ruleReference() throws RecognitionException {
5544 EObject current = null; 7180 EObject current = null;
5545 7181
@@ -5547,14 +7183,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5547 enterRule(); 7183 enterRule();
5548 7184
5549 try { 7185 try {
5550 // InternalSolverLanguageParser.g:2174:2: ( ( ( ruleQualifiedName ) ) ) 7186 // InternalSolverLanguageParser.g:2873:2: ( ( ( ruleQualifiedName ) ) )
5551 // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) 7187 // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) )
5552 { 7188 {
5553 // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) 7189 // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) )
5554 // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) 7190 // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName )
5555 { 7191 {
5556 // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) 7192 // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName )
5557 // InternalSolverLanguageParser.g:2177:4: ruleQualifiedName 7193 // InternalSolverLanguageParser.g:2876:4: ruleQualifiedName
5558 { 7194 {
5559 7195
5560 if (current==null) { 7196 if (current==null) {
@@ -5598,7 +7234,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5598 7234
5599 7235
5600 // $ANTLR start "entryRuleInterval" 7236 // $ANTLR start "entryRuleInterval"
5601 // InternalSolverLanguageParser.g:2194:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; 7237 // InternalSolverLanguageParser.g:2893:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ;
5602 public final EObject entryRuleInterval() throws RecognitionException { 7238 public final EObject entryRuleInterval() throws RecognitionException {
5603 EObject current = null; 7239 EObject current = null;
5604 7240
@@ -5606,8 +7242,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5606 7242
5607 7243
5608 try { 7244 try {
5609 // InternalSolverLanguageParser.g:2194:49: (iv_ruleInterval= ruleInterval EOF ) 7245 // InternalSolverLanguageParser.g:2893:49: (iv_ruleInterval= ruleInterval EOF )
5610 // InternalSolverLanguageParser.g:2195:2: iv_ruleInterval= ruleInterval EOF 7246 // InternalSolverLanguageParser.g:2894:2: iv_ruleInterval= ruleInterval EOF
5611 { 7247 {
5612 newCompositeNode(grammarAccess.getIntervalRule()); 7248 newCompositeNode(grammarAccess.getIntervalRule());
5613 pushFollow(FOLLOW_1); 7249 pushFollow(FOLLOW_1);
@@ -5634,7 +7270,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5634 7270
5635 7271
5636 // $ANTLR start "ruleInterval" 7272 // $ANTLR start "ruleInterval"
5637 // InternalSolverLanguageParser.g:2201:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ; 7273 // InternalSolverLanguageParser.g:2900:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ;
5638 public final EObject ruleInterval() throws RecognitionException { 7274 public final EObject ruleInterval() throws RecognitionException {
5639 EObject current = null; 7275 EObject current = null;
5640 7276
@@ -5650,26 +7286,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5650 enterRule(); 7286 enterRule();
5651 7287
5652 try { 7288 try {
5653 // InternalSolverLanguageParser.g:2207:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ) 7289 // InternalSolverLanguageParser.g:2906:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) )
5654 // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) 7290 // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket )
5655 { 7291 {
5656 // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) 7292 // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket )
5657 // InternalSolverLanguageParser.g:2209:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket 7293 // InternalSolverLanguageParser.g:2908:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket
5658 { 7294 {
5659 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6); 7295 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6);
5660 7296
5661 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); 7297 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
5662 7298
5663 // InternalSolverLanguageParser.g:2213:3: ( (lv_lowerBound_1_0= ruleExpression ) ) 7299 // InternalSolverLanguageParser.g:2912:3: ( (lv_lowerBound_1_0= ruleExpression ) )
5664 // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) 7300 // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression )
5665 { 7301 {
5666 // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) 7302 // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression )
5667 // InternalSolverLanguageParser.g:2215:5: lv_lowerBound_1_0= ruleExpression 7303 // InternalSolverLanguageParser.g:2914:5: lv_lowerBound_1_0= ruleExpression
5668 { 7304 {
5669 7305
5670 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); 7306 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0());
5671 7307
5672 pushFollow(FOLLOW_35); 7308 pushFollow(FOLLOW_44);
5673 lv_lowerBound_1_0=ruleExpression(); 7309 lv_lowerBound_1_0=ruleExpression();
5674 7310
5675 state._fsp--; 7311 state._fsp--;
@@ -5695,16 +7331,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5695 7331
5696 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); 7332 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
5697 7333
5698 // InternalSolverLanguageParser.g:2236:3: ( (lv_upperBound_3_0= ruleExpression ) ) 7334 // InternalSolverLanguageParser.g:2935:3: ( (lv_upperBound_3_0= ruleExpression ) )
5699 // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) 7335 // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression )
5700 { 7336 {
5701 // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) 7337 // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression )
5702 // InternalSolverLanguageParser.g:2238:5: lv_upperBound_3_0= ruleExpression 7338 // InternalSolverLanguageParser.g:2937:5: lv_upperBound_3_0= ruleExpression
5703 { 7339 {
5704 7340
5705 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); 7341 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0());
5706 7342
5707 pushFollow(FOLLOW_36); 7343 pushFollow(FOLLOW_45);
5708 lv_upperBound_3_0=ruleExpression(); 7344 lv_upperBound_3_0=ruleExpression();
5709 7345
5710 state._fsp--; 7346 state._fsp--;
@@ -5753,7 +7389,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5753 7389
5754 7390
5755 // $ANTLR start "entryRuleLiteral" 7391 // $ANTLR start "entryRuleLiteral"
5756 // InternalSolverLanguageParser.g:2263:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 7392 // InternalSolverLanguageParser.g:2962:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
5757 public final EObject entryRuleLiteral() throws RecognitionException { 7393 public final EObject entryRuleLiteral() throws RecognitionException {
5758 EObject current = null; 7394 EObject current = null;
5759 7395
@@ -5761,8 +7397,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5761 7397
5762 7398
5763 try { 7399 try {
5764 // InternalSolverLanguageParser.g:2263:48: (iv_ruleLiteral= ruleLiteral EOF ) 7400 // InternalSolverLanguageParser.g:2962:48: (iv_ruleLiteral= ruleLiteral EOF )
5765 // InternalSolverLanguageParser.g:2264:2: iv_ruleLiteral= ruleLiteral EOF 7401 // InternalSolverLanguageParser.g:2963:2: iv_ruleLiteral= ruleLiteral EOF
5766 { 7402 {
5767 newCompositeNode(grammarAccess.getLiteralRule()); 7403 newCompositeNode(grammarAccess.getLiteralRule());
5768 pushFollow(FOLLOW_1); 7404 pushFollow(FOLLOW_1);
@@ -5789,7 +7425,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5789 7425
5790 7426
5791 // $ANTLR start "ruleLiteral" 7427 // $ANTLR start "ruleLiteral"
5792 // InternalSolverLanguageParser.g:2270:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ; 7428 // InternalSolverLanguageParser.g:2969:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ;
5793 public final EObject ruleLiteral() throws RecognitionException { 7429 public final EObject ruleLiteral() throws RecognitionException {
5794 EObject current = null; 7430 EObject current = null;
5795 7431
@@ -5808,50 +7444,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5808 enterRule(); 7444 enterRule();
5809 7445
5810 try { 7446 try {
5811 // InternalSolverLanguageParser.g:2276:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ) 7447 // InternalSolverLanguageParser.g:2975:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) )
5812 // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) 7448 // InternalSolverLanguageParser.g:2976:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral )
5813 { 7449 {
5814 // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) 7450 // InternalSolverLanguageParser.g:2976:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral )
5815 int alt25=5; 7451 int alt34=5;
5816 switch ( input.LA(1) ) { 7452 switch ( input.LA(1) ) {
5817 case Unknown: 7453 case Unknown:
5818 case Error: 7454 case Error:
5819 case False: 7455 case False:
5820 case True: 7456 case True:
5821 { 7457 {
5822 alt25=1; 7458 alt34=1;
5823 } 7459 }
5824 break; 7460 break;
5825 case RULE_INT: 7461 case RULE_INT:
5826 { 7462 {
5827 alt25=2; 7463 alt34=2;
5828 } 7464 }
5829 break; 7465 break;
5830 case Inf: 7466 case Inf:
5831 { 7467 {
5832 alt25=3; 7468 alt34=3;
5833 } 7469 }
5834 break; 7470 break;
5835 case Empty: 7471 case Empty:
5836 { 7472 {
5837 alt25=4; 7473 alt34=4;
5838 } 7474 }
5839 break; 7475 break;
5840 case RULE_STRING: 7476 case RULE_STRING:
5841 { 7477 {
5842 alt25=5; 7478 alt34=5;
5843 } 7479 }
5844 break; 7480 break;
5845 default: 7481 default:
5846 NoViableAltException nvae = 7482 NoViableAltException nvae =
5847 new NoViableAltException("", 25, 0, input); 7483 new NoViableAltException("", 34, 0, input);
5848 7484
5849 throw nvae; 7485 throw nvae;
5850 } 7486 }
5851 7487
5852 switch (alt25) { 7488 switch (alt34) {
5853 case 1 : 7489 case 1 :
5854 // InternalSolverLanguageParser.g:2278:3: this_LogicLiteral_0= ruleLogicLiteral 7490 // InternalSolverLanguageParser.g:2977:3: this_LogicLiteral_0= ruleLogicLiteral
5855 { 7491 {
5856 7492
5857 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); 7493 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
@@ -5869,7 +7505,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5869 } 7505 }
5870 break; 7506 break;
5871 case 2 : 7507 case 2 :
5872 // InternalSolverLanguageParser.g:2287:3: this_NumericLiteral_1= ruleNumericLiteral 7508 // InternalSolverLanguageParser.g:2986:3: this_NumericLiteral_1= ruleNumericLiteral
5873 { 7509 {
5874 7510
5875 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); 7511 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1());
@@ -5887,7 +7523,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5887 } 7523 }
5888 break; 7524 break;
5889 case 3 : 7525 case 3 :
5890 // InternalSolverLanguageParser.g:2296:3: this_InfinityLiteral_2= ruleInfinityLiteral 7526 // InternalSolverLanguageParser.g:2995:3: this_InfinityLiteral_2= ruleInfinityLiteral
5891 { 7527 {
5892 7528
5893 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); 7529 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2());
@@ -5905,7 +7541,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5905 } 7541 }
5906 break; 7542 break;
5907 case 4 : 7543 case 4 :
5908 // InternalSolverLanguageParser.g:2305:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral 7544 // InternalSolverLanguageParser.g:3004:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral
5909 { 7545 {
5910 7546
5911 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); 7547 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3());
@@ -5923,7 +7559,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5923 } 7559 }
5924 break; 7560 break;
5925 case 5 : 7561 case 5 :
5926 // InternalSolverLanguageParser.g:2314:3: this_StringLiteral_4= ruleStringLiteral 7562 // InternalSolverLanguageParser.g:3013:3: this_StringLiteral_4= ruleStringLiteral
5927 { 7563 {
5928 7564
5929 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); 7565 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4());
@@ -5963,7 +7599,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5963 7599
5964 7600
5965 // $ANTLR start "entryRuleLogicLiteral" 7601 // $ANTLR start "entryRuleLogicLiteral"
5966 // InternalSolverLanguageParser.g:2326:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; 7602 // InternalSolverLanguageParser.g:3025:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ;
5967 public final EObject entryRuleLogicLiteral() throws RecognitionException { 7603 public final EObject entryRuleLogicLiteral() throws RecognitionException {
5968 EObject current = null; 7604 EObject current = null;
5969 7605
@@ -5971,8 +7607,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5971 7607
5972 7608
5973 try { 7609 try {
5974 // InternalSolverLanguageParser.g:2326:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) 7610 // InternalSolverLanguageParser.g:3025:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF )
5975 // InternalSolverLanguageParser.g:2327:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF 7611 // InternalSolverLanguageParser.g:3026:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF
5976 { 7612 {
5977 newCompositeNode(grammarAccess.getLogicLiteralRule()); 7613 newCompositeNode(grammarAccess.getLogicLiteralRule());
5978 pushFollow(FOLLOW_1); 7614 pushFollow(FOLLOW_1);
@@ -5999,7 +7635,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5999 7635
6000 7636
6001 // $ANTLR start "ruleLogicLiteral" 7637 // $ANTLR start "ruleLogicLiteral"
6002 // InternalSolverLanguageParser.g:2333:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; 7638 // InternalSolverLanguageParser.g:3032:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ;
6003 public final EObject ruleLogicLiteral() throws RecognitionException { 7639 public final EObject ruleLogicLiteral() throws RecognitionException {
6004 EObject current = null; 7640 EObject current = null;
6005 7641
@@ -6010,14 +7646,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6010 enterRule(); 7646 enterRule();
6011 7647
6012 try { 7648 try {
6013 // InternalSolverLanguageParser.g:2339:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) 7649 // InternalSolverLanguageParser.g:3038:2: ( ( (lv_value_0_0= ruleLogicValue ) ) )
6014 // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) 7650 // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) )
6015 { 7651 {
6016 // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) 7652 // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) )
6017 // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) 7653 // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue )
6018 { 7654 {
6019 // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) 7655 // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue )
6020 // InternalSolverLanguageParser.g:2342:4: lv_value_0_0= ruleLogicValue 7656 // InternalSolverLanguageParser.g:3041:4: lv_value_0_0= ruleLogicValue
6021 { 7657 {
6022 7658
6023 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); 7659 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
@@ -6064,7 +7700,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6064 7700
6065 7701
6066 // $ANTLR start "entryRuleNumericLiteral" 7702 // $ANTLR start "entryRuleNumericLiteral"
6067 // InternalSolverLanguageParser.g:2362:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; 7703 // InternalSolverLanguageParser.g:3061:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ;
6068 public final EObject entryRuleNumericLiteral() throws RecognitionException { 7704 public final EObject entryRuleNumericLiteral() throws RecognitionException {
6069 EObject current = null; 7705 EObject current = null;
6070 7706
@@ -6072,8 +7708,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6072 7708
6073 7709
6074 try { 7710 try {
6075 // InternalSolverLanguageParser.g:2362:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) 7711 // InternalSolverLanguageParser.g:3061:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF )
6076 // InternalSolverLanguageParser.g:2363:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF 7712 // InternalSolverLanguageParser.g:3062:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF
6077 { 7713 {
6078 newCompositeNode(grammarAccess.getNumericLiteralRule()); 7714 newCompositeNode(grammarAccess.getNumericLiteralRule());
6079 pushFollow(FOLLOW_1); 7715 pushFollow(FOLLOW_1);
@@ -6100,7 +7736,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6100 7736
6101 7737
6102 // $ANTLR start "ruleNumericLiteral" 7738 // $ANTLR start "ruleNumericLiteral"
6103 // InternalSolverLanguageParser.g:2369:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; 7739 // InternalSolverLanguageParser.g:3068:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ;
6104 public final EObject ruleNumericLiteral() throws RecognitionException { 7740 public final EObject ruleNumericLiteral() throws RecognitionException {
6105 EObject current = null; 7741 EObject current = null;
6106 7742
@@ -6111,14 +7747,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6111 enterRule(); 7747 enterRule();
6112 7748
6113 try { 7749 try {
6114 // InternalSolverLanguageParser.g:2375:2: ( ( (lv_value_0_0= ruleReal ) ) ) 7750 // InternalSolverLanguageParser.g:3074:2: ( ( (lv_value_0_0= ruleReal ) ) )
6115 // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) 7751 // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) )
6116 { 7752 {
6117 // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) 7753 // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) )
6118 // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) 7754 // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal )
6119 { 7755 {
6120 // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) 7756 // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal )
6121 // InternalSolverLanguageParser.g:2378:4: lv_value_0_0= ruleReal 7757 // InternalSolverLanguageParser.g:3077:4: lv_value_0_0= ruleReal
6122 { 7758 {
6123 7759
6124 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); 7760 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0());
@@ -6165,7 +7801,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6165 7801
6166 7802
6167 // $ANTLR start "entryRuleInfinityLiteral" 7803 // $ANTLR start "entryRuleInfinityLiteral"
6168 // InternalSolverLanguageParser.g:2398:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; 7804 // InternalSolverLanguageParser.g:3097:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ;
6169 public final EObject entryRuleInfinityLiteral() throws RecognitionException { 7805 public final EObject entryRuleInfinityLiteral() throws RecognitionException {
6170 EObject current = null; 7806 EObject current = null;
6171 7807
@@ -6173,8 +7809,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6173 7809
6174 7810
6175 try { 7811 try {
6176 // InternalSolverLanguageParser.g:2398:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) 7812 // InternalSolverLanguageParser.g:3097:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF )
6177 // InternalSolverLanguageParser.g:2399:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF 7813 // InternalSolverLanguageParser.g:3098:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF
6178 { 7814 {
6179 newCompositeNode(grammarAccess.getInfinityLiteralRule()); 7815 newCompositeNode(grammarAccess.getInfinityLiteralRule());
6180 pushFollow(FOLLOW_1); 7816 pushFollow(FOLLOW_1);
@@ -6201,7 +7837,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6201 7837
6202 7838
6203 // $ANTLR start "ruleInfinityLiteral" 7839 // $ANTLR start "ruleInfinityLiteral"
6204 // InternalSolverLanguageParser.g:2405:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; 7840 // InternalSolverLanguageParser.g:3104:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ;
6205 public final EObject ruleInfinityLiteral() throws RecognitionException { 7841 public final EObject ruleInfinityLiteral() throws RecognitionException {
6206 EObject current = null; 7842 EObject current = null;
6207 7843
@@ -6211,14 +7847,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6211 enterRule(); 7847 enterRule();
6212 7848
6213 try { 7849 try {
6214 // InternalSolverLanguageParser.g:2411:2: ( ( () otherlv_1= Inf ) ) 7850 // InternalSolverLanguageParser.g:3110:2: ( ( () otherlv_1= Inf ) )
6215 // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) 7851 // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf )
6216 { 7852 {
6217 // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) 7853 // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf )
6218 // InternalSolverLanguageParser.g:2413:3: () otherlv_1= Inf 7854 // InternalSolverLanguageParser.g:3112:3: () otherlv_1= Inf
6219 { 7855 {
6220 // InternalSolverLanguageParser.g:2413:3: () 7856 // InternalSolverLanguageParser.g:3112:3: ()
6221 // InternalSolverLanguageParser.g:2414:4: 7857 // InternalSolverLanguageParser.g:3113:4:
6222 { 7858 {
6223 7859
6224 current = forceCreateModelElement( 7860 current = forceCreateModelElement(
@@ -6255,7 +7891,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6255 7891
6256 7892
6257 // $ANTLR start "entryRuleEmptyIntervalLiteral" 7893 // $ANTLR start "entryRuleEmptyIntervalLiteral"
6258 // InternalSolverLanguageParser.g:2428:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; 7894 // InternalSolverLanguageParser.g:3127:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ;
6259 public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException { 7895 public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException {
6260 EObject current = null; 7896 EObject current = null;
6261 7897
@@ -6263,8 +7899,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6263 7899
6264 7900
6265 try { 7901 try {
6266 // InternalSolverLanguageParser.g:2428:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) 7902 // InternalSolverLanguageParser.g:3127:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF )
6267 // InternalSolverLanguageParser.g:2429:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF 7903 // InternalSolverLanguageParser.g:3128:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF
6268 { 7904 {
6269 newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); 7905 newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule());
6270 pushFollow(FOLLOW_1); 7906 pushFollow(FOLLOW_1);
@@ -6291,7 +7927,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6291 7927
6292 7928
6293 // $ANTLR start "ruleEmptyIntervalLiteral" 7929 // $ANTLR start "ruleEmptyIntervalLiteral"
6294 // InternalSolverLanguageParser.g:2435:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; 7930 // InternalSolverLanguageParser.g:3134:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ;
6295 public final EObject ruleEmptyIntervalLiteral() throws RecognitionException { 7931 public final EObject ruleEmptyIntervalLiteral() throws RecognitionException {
6296 EObject current = null; 7932 EObject current = null;
6297 7933
@@ -6301,14 +7937,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6301 enterRule(); 7937 enterRule();
6302 7938
6303 try { 7939 try {
6304 // InternalSolverLanguageParser.g:2441:2: ( ( () otherlv_1= Empty ) ) 7940 // InternalSolverLanguageParser.g:3140:2: ( ( () otherlv_1= Empty ) )
6305 // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) 7941 // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty )
6306 { 7942 {
6307 // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) 7943 // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty )
6308 // InternalSolverLanguageParser.g:2443:3: () otherlv_1= Empty 7944 // InternalSolverLanguageParser.g:3142:3: () otherlv_1= Empty
6309 { 7945 {
6310 // InternalSolverLanguageParser.g:2443:3: () 7946 // InternalSolverLanguageParser.g:3142:3: ()
6311 // InternalSolverLanguageParser.g:2444:4: 7947 // InternalSolverLanguageParser.g:3143:4:
6312 { 7948 {
6313 7949
6314 current = forceCreateModelElement( 7950 current = forceCreateModelElement(
@@ -6345,7 +7981,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6345 7981
6346 7982
6347 // $ANTLR start "entryRuleStringLiteral" 7983 // $ANTLR start "entryRuleStringLiteral"
6348 // InternalSolverLanguageParser.g:2458:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; 7984 // InternalSolverLanguageParser.g:3157:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
6349 public final EObject entryRuleStringLiteral() throws RecognitionException { 7985 public final EObject entryRuleStringLiteral() throws RecognitionException {
6350 EObject current = null; 7986 EObject current = null;
6351 7987
@@ -6353,8 +7989,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6353 7989
6354 7990
6355 try { 7991 try {
6356 // InternalSolverLanguageParser.g:2458:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) 7992 // InternalSolverLanguageParser.g:3157:54: (iv_ruleStringLiteral= ruleStringLiteral EOF )
6357 // InternalSolverLanguageParser.g:2459:2: iv_ruleStringLiteral= ruleStringLiteral EOF 7993 // InternalSolverLanguageParser.g:3158:2: iv_ruleStringLiteral= ruleStringLiteral EOF
6358 { 7994 {
6359 newCompositeNode(grammarAccess.getStringLiteralRule()); 7995 newCompositeNode(grammarAccess.getStringLiteralRule());
6360 pushFollow(FOLLOW_1); 7996 pushFollow(FOLLOW_1);
@@ -6381,7 +8017,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6381 8017
6382 8018
6383 // $ANTLR start "ruleStringLiteral" 8019 // $ANTLR start "ruleStringLiteral"
6384 // InternalSolverLanguageParser.g:2465:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; 8020 // InternalSolverLanguageParser.g:3164:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
6385 public final EObject ruleStringLiteral() throws RecognitionException { 8021 public final EObject ruleStringLiteral() throws RecognitionException {
6386 EObject current = null; 8022 EObject current = null;
6387 8023
@@ -6391,14 +8027,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6391 enterRule(); 8027 enterRule();
6392 8028
6393 try { 8029 try {
6394 // InternalSolverLanguageParser.g:2471:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) 8030 // InternalSolverLanguageParser.g:3170:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
6395 // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) 8031 // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) )
6396 { 8032 {
6397 // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) 8033 // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) )
6398 // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) 8034 // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING )
6399 { 8035 {
6400 // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) 8036 // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING )
6401 // InternalSolverLanguageParser.g:2474:4: lv_value_0_0= RULE_STRING 8037 // InternalSolverLanguageParser.g:3173:4: lv_value_0_0= RULE_STRING
6402 { 8038 {
6403 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); 8039 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2);
6404 8040
@@ -6440,7 +8076,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6440 8076
6441 8077
6442 // $ANTLR start "entryRuleClassDefinition" 8078 // $ANTLR start "entryRuleClassDefinition"
6443 // InternalSolverLanguageParser.g:2493:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; 8079 // InternalSolverLanguageParser.g:3192:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ;
6444 public final EObject entryRuleClassDefinition() throws RecognitionException { 8080 public final EObject entryRuleClassDefinition() throws RecognitionException {
6445 EObject current = null; 8081 EObject current = null;
6446 8082
@@ -6448,8 +8084,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6448 8084
6449 8085
6450 try { 8086 try {
6451 // InternalSolverLanguageParser.g:2493:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) 8087 // InternalSolverLanguageParser.g:3192:56: (iv_ruleClassDefinition= ruleClassDefinition EOF )
6452 // InternalSolverLanguageParser.g:2494:2: iv_ruleClassDefinition= ruleClassDefinition EOF 8088 // InternalSolverLanguageParser.g:3193:2: iv_ruleClassDefinition= ruleClassDefinition EOF
6453 { 8089 {
6454 newCompositeNode(grammarAccess.getClassDefinitionRule()); 8090 newCompositeNode(grammarAccess.getClassDefinitionRule());
6455 pushFollow(FOLLOW_1); 8091 pushFollow(FOLLOW_1);
@@ -6476,7 +8112,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6476 8112
6477 8113
6478 // $ANTLR start "ruleClassDefinition" 8114 // $ANTLR start "ruleClassDefinition"
6479 // InternalSolverLanguageParser.g:2500:1: ruleClassDefinition returns [EObject current=null] : ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ; 8115 // InternalSolverLanguageParser.g:3199:1: ruleClassDefinition returns [EObject current=null] : ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ;
6480 public final EObject ruleClassDefinition() throws RecognitionException { 8116 public final EObject ruleClassDefinition() throws RecognitionException {
6481 EObject current = null; 8117 EObject current = null;
6482 8118
@@ -6494,27 +8130,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6494 enterRule(); 8130 enterRule();
6495 8131
6496 try { 8132 try {
6497 // InternalSolverLanguageParser.g:2506:2: ( ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ) 8133 // InternalSolverLanguageParser.g:3205:2: ( ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) )
6498 // InternalSolverLanguageParser.g:2507:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) 8134 // InternalSolverLanguageParser.g:3206:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket )
6499 { 8135 {
6500 // InternalSolverLanguageParser.g:2507:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) 8136 // InternalSolverLanguageParser.g:3206:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket )
6501 // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket 8137 // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket
6502 { 8138 {
6503 // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? 8139 // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )?
6504 int alt26=2; 8140 int alt35=2;
6505 int LA26_0 = input.LA(1); 8141 int LA35_0 = input.LA(1);
6506 8142
6507 if ( (LA26_0==Abstract) ) { 8143 if ( (LA35_0==Abstract) ) {
6508 alt26=1; 8144 alt35=1;
6509 } 8145 }
6510 switch (alt26) { 8146 switch (alt35) {
6511 case 1 : 8147 case 1 :
6512 // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) 8148 // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract )
6513 { 8149 {
6514 // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) 8150 // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract )
6515 // InternalSolverLanguageParser.g:2510:5: lv_abstract_0_0= Abstract 8151 // InternalSolverLanguageParser.g:3209:5: lv_abstract_0_0= Abstract
6516 { 8152 {
6517 lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_37); 8153 lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_46);
6518 8154
6519 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); 8155 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
6520 8156
@@ -6533,17 +8169,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6533 8169
6534 } 8170 }
6535 8171
6536 otherlv_1=(Token)match(input,Class,FOLLOW_38); 8172 otherlv_1=(Token)match(input,Class,FOLLOW_20);
6537 8173
6538 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); 8174 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1());
6539 8175
6540 // InternalSolverLanguageParser.g:2526:3: ( (lv_name_2_0= RULE_ID ) ) 8176 // InternalSolverLanguageParser.g:3225:3: ( (lv_name_2_0= RULE_ID ) )
6541 // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) 8177 // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID )
6542 { 8178 {
6543 // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) 8179 // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID )
6544 // InternalSolverLanguageParser.g:2528:5: lv_name_2_0= RULE_ID 8180 // InternalSolverLanguageParser.g:3227:5: lv_name_2_0= RULE_ID
6545 { 8181 {
6546 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_39); 8182 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_47);
6547 8183
6548 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); 8184 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0());
6549 8185
@@ -6563,26 +8199,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6563 8199
6564 } 8200 }
6565 8201
6566 // InternalSolverLanguageParser.g:2544:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? 8202 // InternalSolverLanguageParser.g:3243:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )?
6567 int alt28=2; 8203 int alt37=2;
6568 int LA28_0 = input.LA(1); 8204 int LA37_0 = input.LA(1);
6569 8205
6570 if ( (LA28_0==Extends) ) { 8206 if ( (LA37_0==Extends) ) {
6571 alt28=1; 8207 alt37=1;
6572 } 8208 }
6573 switch (alt28) { 8209 switch (alt37) {
6574 case 1 : 8210 case 1 :
6575 // InternalSolverLanguageParser.g:2545:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 8211 // InternalSolverLanguageParser.g:3244:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
6576 { 8212 {
6577 otherlv_3=(Token)match(input,Extends,FOLLOW_8); 8213 otherlv_3=(Token)match(input,Extends,FOLLOW_8);
6578 8214
6579 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); 8215 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0());
6580 8216
6581 // InternalSolverLanguageParser.g:2549:4: ( ( ruleQualifiedName ) ) 8217 // InternalSolverLanguageParser.g:3248:4: ( ( ruleQualifiedName ) )
6582 // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) 8218 // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName )
6583 { 8219 {
6584 // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) 8220 // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName )
6585 // InternalSolverLanguageParser.g:2551:6: ruleQualifiedName 8221 // InternalSolverLanguageParser.g:3250:6: ruleQualifiedName
6586 { 8222 {
6587 8223
6588 if (current==null) { 8224 if (current==null) {
@@ -6592,7 +8228,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6592 8228
6593 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); 8229 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0());
6594 8230
6595 pushFollow(FOLLOW_40); 8231 pushFollow(FOLLOW_48);
6596 ruleQualifiedName(); 8232 ruleQualifiedName();
6597 8233
6598 state._fsp--; 8234 state._fsp--;
@@ -6606,30 +8242,30 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6606 8242
6607 } 8243 }
6608 8244
6609 // InternalSolverLanguageParser.g:2565:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 8245 // InternalSolverLanguageParser.g:3264:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
6610 loop27: 8246 loop36:
6611 do { 8247 do {
6612 int alt27=2; 8248 int alt36=2;
6613 int LA27_0 = input.LA(1); 8249 int LA36_0 = input.LA(1);
6614 8250
6615 if ( (LA27_0==Comma) ) { 8251 if ( (LA36_0==Comma) ) {
6616 alt27=1; 8252 alt36=1;
6617 } 8253 }
6618 8254
6619 8255
6620 switch (alt27) { 8256 switch (alt36) {
6621 case 1 : 8257 case 1 :
6622 // InternalSolverLanguageParser.g:2566:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) 8258 // InternalSolverLanguageParser.g:3265:5: otherlv_5= Comma ( ( ruleQualifiedName ) )
6623 { 8259 {
6624 otherlv_5=(Token)match(input,Comma,FOLLOW_8); 8260 otherlv_5=(Token)match(input,Comma,FOLLOW_8);
6625 8261
6626 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); 8262 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0());
6627 8263
6628 // InternalSolverLanguageParser.g:2570:5: ( ( ruleQualifiedName ) ) 8264 // InternalSolverLanguageParser.g:3269:5: ( ( ruleQualifiedName ) )
6629 // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) 8265 // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName )
6630 { 8266 {
6631 // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) 8267 // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName )
6632 // InternalSolverLanguageParser.g:2572:7: ruleQualifiedName 8268 // InternalSolverLanguageParser.g:3271:7: ruleQualifiedName
6633 { 8269 {
6634 8270
6635 if (current==null) { 8271 if (current==null) {
@@ -6639,7 +8275,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6639 8275
6640 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); 8276 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0());
6641 8277
6642 pushFollow(FOLLOW_40); 8278 pushFollow(FOLLOW_48);
6643 ruleQualifiedName(); 8279 ruleQualifiedName();
6644 8280
6645 state._fsp--; 8281 state._fsp--;
@@ -6658,7 +8294,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6658 break; 8294 break;
6659 8295
6660 default : 8296 default :
6661 break loop27; 8297 break loop36;
6662 } 8298 }
6663 } while (true); 8299 } while (true);
6664 8300
@@ -6668,32 +8304,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6668 8304
6669 } 8305 }
6670 8306
6671 otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_41); 8307 otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_49);
6672 8308
6673 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); 8309 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
6674 8310
6675 // InternalSolverLanguageParser.g:2592:3: ( (lv_members_8_0= ruleMemberDefinition ) )* 8311 // InternalSolverLanguageParser.g:3291:3: ( (lv_members_8_0= ruleMemberDefinition ) )*
6676 loop29: 8312 loop38:
6677 do { 8313 do {
6678 int alt29=2; 8314 int alt38=2;
6679 int LA29_0 = input.LA(1); 8315 int LA38_0 = input.LA(1);
6680 8316
6681 if ( (LA29_0==Contains||LA29_0==RULE_QUOTED_ID||LA29_0==RULE_ID) ) { 8317 if ( (LA38_0==Contains||LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) {
6682 alt29=1; 8318 alt38=1;
6683 } 8319 }
6684 8320
6685 8321
6686 switch (alt29) { 8322 switch (alt38) {
6687 case 1 : 8323 case 1 :
6688 // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) 8324 // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition )
6689 { 8325 {
6690 // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) 8326 // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition )
6691 // InternalSolverLanguageParser.g:2594:5: lv_members_8_0= ruleMemberDefinition 8327 // InternalSolverLanguageParser.g:3293:5: lv_members_8_0= ruleMemberDefinition
6692 { 8328 {
6693 8329
6694 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); 8330 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
6695 8331
6696 pushFollow(FOLLOW_41); 8332 pushFollow(FOLLOW_49);
6697 lv_members_8_0=ruleMemberDefinition(); 8333 lv_members_8_0=ruleMemberDefinition();
6698 8334
6699 state._fsp--; 8335 state._fsp--;
@@ -6717,7 +8353,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6717 break; 8353 break;
6718 8354
6719 default : 8355 default :
6720 break loop29; 8356 break loop38;
6721 } 8357 }
6722 } while (true); 8358 } while (true);
6723 8359
@@ -6748,7 +8384,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6748 8384
6749 8385
6750 // $ANTLR start "entryRuleMemberDefinition" 8386 // $ANTLR start "entryRuleMemberDefinition"
6751 // InternalSolverLanguageParser.g:2619:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; 8387 // InternalSolverLanguageParser.g:3318:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ;
6752 public final EObject entryRuleMemberDefinition() throws RecognitionException { 8388 public final EObject entryRuleMemberDefinition() throws RecognitionException {
6753 EObject current = null; 8389 EObject current = null;
6754 8390
@@ -6756,8 +8392,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6756 8392
6757 8393
6758 try { 8394 try {
6759 // InternalSolverLanguageParser.g:2619:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) 8395 // InternalSolverLanguageParser.g:3318:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF )
6760 // InternalSolverLanguageParser.g:2620:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF 8396 // InternalSolverLanguageParser.g:3319:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF
6761 { 8397 {
6762 newCompositeNode(grammarAccess.getMemberDefinitionRule()); 8398 newCompositeNode(grammarAccess.getMemberDefinitionRule());
6763 pushFollow(FOLLOW_1); 8399 pushFollow(FOLLOW_1);
@@ -6784,7 +8420,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6784 8420
6785 8421
6786 // $ANTLR start "ruleMemberDefinition" 8422 // $ANTLR start "ruleMemberDefinition"
6787 // InternalSolverLanguageParser.g:2626:1: ruleMemberDefinition returns [EObject current=null] : ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ; 8423 // InternalSolverLanguageParser.g:3325:1: ruleMemberDefinition returns [EObject current=null] : ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ;
6788 public final EObject ruleMemberDefinition() throws RecognitionException { 8424 public final EObject ruleMemberDefinition() throws RecognitionException {
6789 EObject current = null; 8425 EObject current = null;
6790 8426
@@ -6799,25 +8435,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6799 enterRule(); 8435 enterRule();
6800 8436
6801 try { 8437 try {
6802 // InternalSolverLanguageParser.g:2632:2: ( ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ) 8438 // InternalSolverLanguageParser.g:3331:2: ( ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) )
6803 // InternalSolverLanguageParser.g:2633:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) 8439 // InternalSolverLanguageParser.g:3332:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? )
6804 { 8440 {
6805 // InternalSolverLanguageParser.g:2633:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) 8441 // InternalSolverLanguageParser.g:3332:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? )
6806 // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? 8442 // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )?
6807 { 8443 {
6808 // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? 8444 // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )?
6809 int alt30=2; 8445 int alt39=2;
6810 int LA30_0 = input.LA(1); 8446 int LA39_0 = input.LA(1);
6811 8447
6812 if ( (LA30_0==Contains) ) { 8448 if ( (LA39_0==Contains) ) {
6813 alt30=1; 8449 alt39=1;
6814 } 8450 }
6815 switch (alt30) { 8451 switch (alt39) {
6816 case 1 : 8452 case 1 :
6817 // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) 8453 // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains )
6818 { 8454 {
6819 // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) 8455 // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains )
6820 // InternalSolverLanguageParser.g:2636:5: lv_containment_0_0= Contains 8456 // InternalSolverLanguageParser.g:3335:5: lv_containment_0_0= Contains
6821 { 8457 {
6822 lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8); 8458 lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8);
6823 8459
@@ -6838,11 +8474,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6838 8474
6839 } 8475 }
6840 8476
6841 // InternalSolverLanguageParser.g:2648:3: ( ( ruleQualifiedName ) ) 8477 // InternalSolverLanguageParser.g:3347:3: ( ( ruleQualifiedName ) )
6842 // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) 8478 // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName )
6843 { 8479 {
6844 // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) 8480 // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName )
6845 // InternalSolverLanguageParser.g:2650:5: ruleQualifiedName 8481 // InternalSolverLanguageParser.g:3349:5: ruleQualifiedName
6846 { 8482 {
6847 8483
6848 if (current==null) { 8484 if (current==null) {
@@ -6852,7 +8488,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6852 8488
6853 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 8489 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0());
6854 8490
6855 pushFollow(FOLLOW_42); 8491 pushFollow(FOLLOW_50);
6856 ruleQualifiedName(); 8492 ruleQualifiedName();
6857 8493
6858 state._fsp--; 8494 state._fsp--;
@@ -6866,24 +8502,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6866 8502
6867 } 8503 }
6868 8504
6869 // InternalSolverLanguageParser.g:2664:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? 8505 // InternalSolverLanguageParser.g:3363:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )?
6870 int alt31=2; 8506 int alt40=2;
6871 int LA31_0 = input.LA(1); 8507 int LA40_0 = input.LA(1);
6872 8508
6873 if ( (LA31_0==LeftSquareBracket) ) { 8509 if ( (LA40_0==LeftSquareBracket) ) {
6874 alt31=1; 8510 alt40=1;
6875 } 8511 }
6876 switch (alt31) { 8512 switch (alt40) {
6877 case 1 : 8513 case 1 :
6878 // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) 8514 // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity )
6879 { 8515 {
6880 // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) 8516 // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity )
6881 // InternalSolverLanguageParser.g:2666:5: lv_multiplicity_2_0= ruleMultiplicity 8517 // InternalSolverLanguageParser.g:3365:5: lv_multiplicity_2_0= ruleMultiplicity
6882 { 8518 {
6883 8519
6884 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 8520 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
6885 8521
6886 pushFollow(FOLLOW_38); 8522 pushFollow(FOLLOW_20);
6887 lv_multiplicity_2_0=ruleMultiplicity(); 8523 lv_multiplicity_2_0=ruleMultiplicity();
6888 8524
6889 state._fsp--; 8525 state._fsp--;
@@ -6908,13 +8544,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6908 8544
6909 } 8545 }
6910 8546
6911 // InternalSolverLanguageParser.g:2683:3: ( (lv_name_3_0= RULE_ID ) ) 8547 // InternalSolverLanguageParser.g:3382:3: ( (lv_name_3_0= RULE_ID ) )
6912 // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) 8548 // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID )
6913 { 8549 {
6914 // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) 8550 // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID )
6915 // InternalSolverLanguageParser.g:2685:5: lv_name_3_0= RULE_ID 8551 // InternalSolverLanguageParser.g:3384:5: lv_name_3_0= RULE_ID
6916 { 8552 {
6917 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_43); 8553 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_51);
6918 8554
6919 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); 8555 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0());
6920 8556
@@ -6934,26 +8570,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6934 8570
6935 } 8571 }
6936 8572
6937 // InternalSolverLanguageParser.g:2701:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? 8573 // InternalSolverLanguageParser.g:3400:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )?
6938 int alt32=2; 8574 int alt41=2;
6939 int LA32_0 = input.LA(1); 8575 int LA41_0 = input.LA(1);
6940 8576
6941 if ( (LA32_0==Opposite) ) { 8577 if ( (LA41_0==Opposite) ) {
6942 alt32=1; 8578 alt41=1;
6943 } 8579 }
6944 switch (alt32) { 8580 switch (alt41) {
6945 case 1 : 8581 case 1 :
6946 // InternalSolverLanguageParser.g:2702:4: otherlv_4= Opposite ( ( ruleQualifiedName ) ) 8582 // InternalSolverLanguageParser.g:3401:4: otherlv_4= Opposite ( ( ruleQualifiedName ) )
6947 { 8583 {
6948 otherlv_4=(Token)match(input,Opposite,FOLLOW_8); 8584 otherlv_4=(Token)match(input,Opposite,FOLLOW_8);
6949 8585
6950 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); 8586 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0());
6951 8587
6952 // InternalSolverLanguageParser.g:2706:4: ( ( ruleQualifiedName ) ) 8588 // InternalSolverLanguageParser.g:3405:4: ( ( ruleQualifiedName ) )
6953 // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) 8589 // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName )
6954 { 8590 {
6955 // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) 8591 // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName )
6956 // InternalSolverLanguageParser.g:2708:6: ruleQualifiedName 8592 // InternalSolverLanguageParser.g:3407:6: ruleQualifiedName
6957 { 8593 {
6958 8594
6959 if (current==null) { 8595 if (current==null) {
@@ -6963,7 +8599,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6963 8599
6964 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); 8600 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0());
6965 8601
6966 pushFollow(FOLLOW_18); 8602 pushFollow(FOLLOW_26);
6967 ruleQualifiedName(); 8603 ruleQualifiedName();
6968 8604
6969 state._fsp--; 8605 state._fsp--;
@@ -6983,16 +8619,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6983 8619
6984 } 8620 }
6985 8621
6986 // InternalSolverLanguageParser.g:2723:3: (otherlv_6= Semicolon )? 8622 // InternalSolverLanguageParser.g:3422:3: (otherlv_6= Semicolon )?
6987 int alt33=2; 8623 int alt42=2;
6988 int LA33_0 = input.LA(1); 8624 int LA42_0 = input.LA(1);
6989 8625
6990 if ( (LA33_0==Semicolon) ) { 8626 if ( (LA42_0==Semicolon) ) {
6991 alt33=1; 8627 alt42=1;
6992 } 8628 }
6993 switch (alt33) { 8629 switch (alt42) {
6994 case 1 : 8630 case 1 :
6995 // InternalSolverLanguageParser.g:2724:4: otherlv_6= Semicolon 8631 // InternalSolverLanguageParser.g:3423:4: otherlv_6= Semicolon
6996 { 8632 {
6997 otherlv_6=(Token)match(input,Semicolon,FOLLOW_2); 8633 otherlv_6=(Token)match(input,Semicolon,FOLLOW_2);
6998 8634
@@ -7027,7 +8663,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7027 8663
7028 8664
7029 // $ANTLR start "entryRuleMultiplicity" 8665 // $ANTLR start "entryRuleMultiplicity"
7030 // InternalSolverLanguageParser.g:2733:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; 8666 // InternalSolverLanguageParser.g:3432:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
7031 public final EObject entryRuleMultiplicity() throws RecognitionException { 8667 public final EObject entryRuleMultiplicity() throws RecognitionException {
7032 EObject current = null; 8668 EObject current = null;
7033 8669
@@ -7035,8 +8671,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7035 8671
7036 8672
7037 try { 8673 try {
7038 // InternalSolverLanguageParser.g:2733:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) 8674 // InternalSolverLanguageParser.g:3432:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
7039 // InternalSolverLanguageParser.g:2734:2: iv_ruleMultiplicity= ruleMultiplicity EOF 8675 // InternalSolverLanguageParser.g:3433:2: iv_ruleMultiplicity= ruleMultiplicity EOF
7040 { 8676 {
7041 newCompositeNode(grammarAccess.getMultiplicityRule()); 8677 newCompositeNode(grammarAccess.getMultiplicityRule());
7042 pushFollow(FOLLOW_1); 8678 pushFollow(FOLLOW_1);
@@ -7063,7 +8699,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7063 8699
7064 8700
7065 // $ANTLR start "ruleMultiplicity" 8701 // $ANTLR start "ruleMultiplicity"
7066 // InternalSolverLanguageParser.g:2740:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; 8702 // InternalSolverLanguageParser.g:3439:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ;
7067 public final EObject ruleMultiplicity() throws RecognitionException { 8703 public final EObject ruleMultiplicity() throws RecognitionException {
7068 EObject current = null; 8704 EObject current = null;
7069 8705
@@ -7078,28 +8714,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7078 enterRule(); 8714 enterRule();
7079 8715
7080 try { 8716 try {
7081 // InternalSolverLanguageParser.g:2746:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) 8717 // InternalSolverLanguageParser.g:3445:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) )
7082 // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) 8718 // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
7083 { 8719 {
7084 // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) 8720 // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
7085 int alt34=3; 8721 int alt43=3;
7086 int LA34_0 = input.LA(1); 8722 int LA43_0 = input.LA(1);
7087 8723
7088 if ( (LA34_0==LeftSquareBracket) ) { 8724 if ( (LA43_0==LeftSquareBracket) ) {
7089 switch ( input.LA(2) ) { 8725 switch ( input.LA(2) ) {
7090 case RULE_INT: 8726 case RULE_INT:
7091 { 8727 {
7092 int LA34_2 = input.LA(3); 8728 int LA43_2 = input.LA(3);
7093 8729
7094 if ( (LA34_2==FullStopFullStop) ) { 8730 if ( (LA43_2==FullStopFullStop) ) {
7095 alt34=3; 8731 alt43=3;
7096 } 8732 }
7097 else if ( (LA34_2==RightSquareBracket) ) { 8733 else if ( (LA43_2==RightSquareBracket) ) {
7098 alt34=2; 8734 alt43=2;
7099 } 8735 }
7100 else { 8736 else {
7101 NoViableAltException nvae = 8737 NoViableAltException nvae =
7102 new NoViableAltException("", 34, 2, input); 8738 new NoViableAltException("", 43, 2, input);
7103 8739
7104 throw nvae; 8740 throw nvae;
7105 } 8741 }
@@ -7107,17 +8743,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7107 break; 8743 break;
7108 case Asterisk: 8744 case Asterisk:
7109 { 8745 {
7110 alt34=2; 8746 alt43=2;
7111 } 8747 }
7112 break; 8748 break;
7113 case RightSquareBracket: 8749 case RightSquareBracket:
7114 { 8750 {
7115 alt34=1; 8751 alt43=1;
7116 } 8752 }
7117 break; 8753 break;
7118 default: 8754 default:
7119 NoViableAltException nvae = 8755 NoViableAltException nvae =
7120 new NoViableAltException("", 34, 1, input); 8756 new NoViableAltException("", 43, 1, input);
7121 8757
7122 throw nvae; 8758 throw nvae;
7123 } 8759 }
@@ -7125,13 +8761,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7125 } 8761 }
7126 else { 8762 else {
7127 NoViableAltException nvae = 8763 NoViableAltException nvae =
7128 new NoViableAltException("", 34, 0, input); 8764 new NoViableAltException("", 43, 0, input);
7129 8765
7130 throw nvae; 8766 throw nvae;
7131 } 8767 }
7132 switch (alt34) { 8768 switch (alt43) {
7133 case 1 : 8769 case 1 :
7134 // InternalSolverLanguageParser.g:2748:3: this_ManyMultiplicity_0= ruleManyMultiplicity 8770 // InternalSolverLanguageParser.g:3447:3: this_ManyMultiplicity_0= ruleManyMultiplicity
7135 { 8771 {
7136 8772
7137 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); 8773 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0());
@@ -7149,7 +8785,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7149 } 8785 }
7150 break; 8786 break;
7151 case 2 : 8787 case 2 :
7152 // InternalSolverLanguageParser.g:2757:3: this_ExactMultiplicity_1= ruleExactMultiplicity 8788 // InternalSolverLanguageParser.g:3456:3: this_ExactMultiplicity_1= ruleExactMultiplicity
7153 { 8789 {
7154 8790
7155 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 8791 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
@@ -7167,7 +8803,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7167 } 8803 }
7168 break; 8804 break;
7169 case 3 : 8805 case 3 :
7170 // InternalSolverLanguageParser.g:2766:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity 8806 // InternalSolverLanguageParser.g:3465:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity
7171 { 8807 {
7172 8808
7173 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); 8809 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
@@ -7207,7 +8843,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7207 8843
7208 8844
7209 // $ANTLR start "entryRuleManyMultiplicity" 8845 // $ANTLR start "entryRuleManyMultiplicity"
7210 // InternalSolverLanguageParser.g:2778:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; 8846 // InternalSolverLanguageParser.g:3477:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ;
7211 public final EObject entryRuleManyMultiplicity() throws RecognitionException { 8847 public final EObject entryRuleManyMultiplicity() throws RecognitionException {
7212 EObject current = null; 8848 EObject current = null;
7213 8849
@@ -7215,8 +8851,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7215 8851
7216 8852
7217 try { 8853 try {
7218 // InternalSolverLanguageParser.g:2778:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) 8854 // InternalSolverLanguageParser.g:3477:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF )
7219 // InternalSolverLanguageParser.g:2779:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF 8855 // InternalSolverLanguageParser.g:3478:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF
7220 { 8856 {
7221 newCompositeNode(grammarAccess.getManyMultiplicityRule()); 8857 newCompositeNode(grammarAccess.getManyMultiplicityRule());
7222 pushFollow(FOLLOW_1); 8858 pushFollow(FOLLOW_1);
@@ -7243,7 +8879,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7243 8879
7244 8880
7245 // $ANTLR start "ruleManyMultiplicity" 8881 // $ANTLR start "ruleManyMultiplicity"
7246 // InternalSolverLanguageParser.g:2785:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; 8882 // InternalSolverLanguageParser.g:3484:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ;
7247 public final EObject ruleManyMultiplicity() throws RecognitionException { 8883 public final EObject ruleManyMultiplicity() throws RecognitionException {
7248 EObject current = null; 8884 EObject current = null;
7249 8885
@@ -7254,14 +8890,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7254 enterRule(); 8890 enterRule();
7255 8891
7256 try { 8892 try {
7257 // InternalSolverLanguageParser.g:2791:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) 8893 // InternalSolverLanguageParser.g:3490:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) )
7258 // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) 8894 // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket )
7259 { 8895 {
7260 // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) 8896 // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket )
7261 // InternalSolverLanguageParser.g:2793:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket 8897 // InternalSolverLanguageParser.g:3492:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket
7262 { 8898 {
7263 // InternalSolverLanguageParser.g:2793:3: () 8899 // InternalSolverLanguageParser.g:3492:3: ()
7264 // InternalSolverLanguageParser.g:2794:4: 8900 // InternalSolverLanguageParser.g:3493:4:
7265 { 8901 {
7266 8902
7267 current = forceCreateModelElement( 8903 current = forceCreateModelElement(
@@ -7271,7 +8907,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7271 8907
7272 } 8908 }
7273 8909
7274 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_36); 8910 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_45);
7275 8911
7276 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); 8912 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1());
7277 8913
@@ -7302,7 +8938,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7302 8938
7303 8939
7304 // $ANTLR start "entryRuleExactMultiplicity" 8940 // $ANTLR start "entryRuleExactMultiplicity"
7305 // InternalSolverLanguageParser.g:2812:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; 8941 // InternalSolverLanguageParser.g:3511:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
7306 public final EObject entryRuleExactMultiplicity() throws RecognitionException { 8942 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
7307 EObject current = null; 8943 EObject current = null;
7308 8944
@@ -7310,8 +8946,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7310 8946
7311 8947
7312 try { 8948 try {
7313 // InternalSolverLanguageParser.g:2812:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) 8949 // InternalSolverLanguageParser.g:3511:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
7314 // InternalSolverLanguageParser.g:2813:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF 8950 // InternalSolverLanguageParser.g:3512:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
7315 { 8951 {
7316 newCompositeNode(grammarAccess.getExactMultiplicityRule()); 8952 newCompositeNode(grammarAccess.getExactMultiplicityRule());
7317 pushFollow(FOLLOW_1); 8953 pushFollow(FOLLOW_1);
@@ -7338,7 +8974,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7338 8974
7339 8975
7340 // $ANTLR start "ruleExactMultiplicity" 8976 // $ANTLR start "ruleExactMultiplicity"
7341 // InternalSolverLanguageParser.g:2819:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ; 8977 // InternalSolverLanguageParser.g:3518:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ;
7342 public final EObject ruleExactMultiplicity() throws RecognitionException { 8978 public final EObject ruleExactMultiplicity() throws RecognitionException {
7343 EObject current = null; 8979 EObject current = null;
7344 8980
@@ -7351,26 +8987,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7351 enterRule(); 8987 enterRule();
7352 8988
7353 try { 8989 try {
7354 // InternalSolverLanguageParser.g:2825:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ) 8990 // InternalSolverLanguageParser.g:3524:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) )
7355 // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) 8991 // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket )
7356 { 8992 {
7357 // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) 8993 // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket )
7358 // InternalSolverLanguageParser.g:2827:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket 8994 // InternalSolverLanguageParser.g:3526:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket
7359 { 8995 {
7360 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_44); 8996 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_52);
7361 8997
7362 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); 8998 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
7363 8999
7364 // InternalSolverLanguageParser.g:2831:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) 9000 // InternalSolverLanguageParser.g:3530:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) )
7365 // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) 9001 // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty )
7366 { 9002 {
7367 // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) 9003 // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty )
7368 // InternalSolverLanguageParser.g:2833:5: lv_multiplicity_1_0= ruleUpperMultiplicty 9004 // InternalSolverLanguageParser.g:3532:5: lv_multiplicity_1_0= ruleUpperMultiplicty
7369 { 9005 {
7370 9006
7371 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); 9007 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0());
7372 9008
7373 pushFollow(FOLLOW_36); 9009 pushFollow(FOLLOW_45);
7374 lv_multiplicity_1_0=ruleUpperMultiplicty(); 9010 lv_multiplicity_1_0=ruleUpperMultiplicty();
7375 9011
7376 state._fsp--; 9012 state._fsp--;
@@ -7419,7 +9055,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7419 9055
7420 9056
7421 // $ANTLR start "entryRuleBoundedMultiplicity" 9057 // $ANTLR start "entryRuleBoundedMultiplicity"
7422 // InternalSolverLanguageParser.g:2858:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; 9058 // InternalSolverLanguageParser.g:3557:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ;
7423 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { 9059 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException {
7424 EObject current = null; 9060 EObject current = null;
7425 9061
@@ -7427,8 +9063,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7427 9063
7428 9064
7429 try { 9065 try {
7430 // InternalSolverLanguageParser.g:2858:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) 9066 // InternalSolverLanguageParser.g:3557:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF )
7431 // InternalSolverLanguageParser.g:2859:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF 9067 // InternalSolverLanguageParser.g:3558:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF
7432 { 9068 {
7433 newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); 9069 newCompositeNode(grammarAccess.getBoundedMultiplicityRule());
7434 pushFollow(FOLLOW_1); 9070 pushFollow(FOLLOW_1);
@@ -7455,7 +9091,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7455 9091
7456 9092
7457 // $ANTLR start "ruleBoundedMultiplicity" 9093 // $ANTLR start "ruleBoundedMultiplicity"
7458 // InternalSolverLanguageParser.g:2865:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ; 9094 // InternalSolverLanguageParser.g:3564:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ;
7459 public final EObject ruleBoundedMultiplicity() throws RecognitionException { 9095 public final EObject ruleBoundedMultiplicity() throws RecognitionException {
7460 EObject current = null; 9096 EObject current = null;
7461 9097
@@ -7470,23 +9106,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7470 enterRule(); 9106 enterRule();
7471 9107
7472 try { 9108 try {
7473 // InternalSolverLanguageParser.g:2871:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ) 9109 // InternalSolverLanguageParser.g:3570:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) )
7474 // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) 9110 // InternalSolverLanguageParser.g:3571:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket )
7475 { 9111 {
7476 // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) 9112 // InternalSolverLanguageParser.g:3571:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket )
7477 // InternalSolverLanguageParser.g:2873:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket 9113 // InternalSolverLanguageParser.g:3572:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket
7478 { 9114 {
7479 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_45); 9115 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_53);
7480 9116
7481 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); 9117 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
7482 9118
7483 // InternalSolverLanguageParser.g:2877:3: ( (lv_lowerBound_1_0= RULE_INT ) ) 9119 // InternalSolverLanguageParser.g:3576:3: ( (lv_lowerBound_1_0= RULE_INT ) )
7484 // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) 9120 // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT )
7485 { 9121 {
7486 // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) 9122 // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT )
7487 // InternalSolverLanguageParser.g:2879:5: lv_lowerBound_1_0= RULE_INT 9123 // InternalSolverLanguageParser.g:3578:5: lv_lowerBound_1_0= RULE_INT
7488 { 9124 {
7489 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_35); 9125 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_44);
7490 9126
7491 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); 9127 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
7492 9128
@@ -7506,20 +9142,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7506 9142
7507 } 9143 }
7508 9144
7509 otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_44); 9145 otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_52);
7510 9146
7511 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); 9147 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2());
7512 9148
7513 // InternalSolverLanguageParser.g:2899:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) 9149 // InternalSolverLanguageParser.g:3598:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) )
7514 // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) 9150 // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
7515 { 9151 {
7516 // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) 9152 // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
7517 // InternalSolverLanguageParser.g:2901:5: lv_upperBound_3_0= ruleUpperMultiplicty 9153 // InternalSolverLanguageParser.g:3600:5: lv_upperBound_3_0= ruleUpperMultiplicty
7518 { 9154 {
7519 9155
7520 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); 9156 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
7521 9157
7522 pushFollow(FOLLOW_36); 9158 pushFollow(FOLLOW_45);
7523 lv_upperBound_3_0=ruleUpperMultiplicty(); 9159 lv_upperBound_3_0=ruleUpperMultiplicty();
7524 9160
7525 state._fsp--; 9161 state._fsp--;
@@ -7568,7 +9204,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7568 9204
7569 9205
7570 // $ANTLR start "entryRuleScopeDefinition" 9206 // $ANTLR start "entryRuleScopeDefinition"
7571 // InternalSolverLanguageParser.g:2926:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; 9207 // InternalSolverLanguageParser.g:3625:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ;
7572 public final EObject entryRuleScopeDefinition() throws RecognitionException { 9208 public final EObject entryRuleScopeDefinition() throws RecognitionException {
7573 EObject current = null; 9209 EObject current = null;
7574 9210
@@ -7576,8 +9212,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7576 9212
7577 9213
7578 try { 9214 try {
7579 // InternalSolverLanguageParser.g:2926:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) 9215 // InternalSolverLanguageParser.g:3625:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF )
7580 // InternalSolverLanguageParser.g:2927:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF 9216 // InternalSolverLanguageParser.g:3626:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF
7581 { 9217 {
7582 newCompositeNode(grammarAccess.getScopeDefinitionRule()); 9218 newCompositeNode(grammarAccess.getScopeDefinitionRule());
7583 pushFollow(FOLLOW_1); 9219 pushFollow(FOLLOW_1);
@@ -7604,7 +9240,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7604 9240
7605 9241
7606 // $ANTLR start "ruleScopeDefinition" 9242 // $ANTLR start "ruleScopeDefinition"
7607 // InternalSolverLanguageParser.g:2933:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ; 9243 // InternalSolverLanguageParser.g:3632:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ;
7608 public final EObject ruleScopeDefinition() throws RecognitionException { 9244 public final EObject ruleScopeDefinition() throws RecognitionException {
7609 EObject current = null; 9245 EObject current = null;
7610 9246
@@ -7619,15 +9255,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7619 enterRule(); 9255 enterRule();
7620 9256
7621 try { 9257 try {
7622 // InternalSolverLanguageParser.g:2939:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) 9258 // InternalSolverLanguageParser.g:3638:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) )
7623 // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) 9259 // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )
7624 { 9260 {
7625 // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) 9261 // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )
7626 int alt35=3; 9262 int alt44=3;
7627 alt35 = dfa35.predict(input); 9263 alt44 = dfa44.predict(input);
7628 switch (alt35) { 9264 switch (alt44) {
7629 case 1 : 9265 case 1 :
7630 // InternalSolverLanguageParser.g:2941:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition 9266 // InternalSolverLanguageParser.g:3640:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition
7631 { 9267 {
7632 9268
7633 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); 9269 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0());
@@ -7645,7 +9281,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7645 } 9281 }
7646 break; 9282 break;
7647 case 2 : 9283 case 2 :
7648 // InternalSolverLanguageParser.g:2950:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition 9284 // InternalSolverLanguageParser.g:3649:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition
7649 { 9285 {
7650 9286
7651 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); 9287 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1());
@@ -7663,7 +9299,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7663 } 9299 }
7664 break; 9300 break;
7665 case 3 : 9301 case 3 :
7666 // InternalSolverLanguageParser.g:2959:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition 9302 // InternalSolverLanguageParser.g:3658:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition
7667 { 9303 {
7668 9304
7669 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); 9305 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2());
@@ -7703,7 +9339,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7703 9339
7704 9340
7705 // $ANTLR start "entryRuleExactScopeDefinition" 9341 // $ANTLR start "entryRuleExactScopeDefinition"
7706 // InternalSolverLanguageParser.g:2971:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; 9342 // InternalSolverLanguageParser.g:3670:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ;
7707 public final EObject entryRuleExactScopeDefinition() throws RecognitionException { 9343 public final EObject entryRuleExactScopeDefinition() throws RecognitionException {
7708 EObject current = null; 9344 EObject current = null;
7709 9345
@@ -7711,8 +9347,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7711 9347
7712 9348
7713 try { 9349 try {
7714 // InternalSolverLanguageParser.g:2971:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) 9350 // InternalSolverLanguageParser.g:3670:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF )
7715 // InternalSolverLanguageParser.g:2972:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF 9351 // InternalSolverLanguageParser.g:3671:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF
7716 { 9352 {
7717 newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); 9353 newCompositeNode(grammarAccess.getExactScopeDefinitionRule());
7718 pushFollow(FOLLOW_1); 9354 pushFollow(FOLLOW_1);
@@ -7739,7 +9375,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7739 9375
7740 9376
7741 // $ANTLR start "ruleExactScopeDefinition" 9377 // $ANTLR start "ruleExactScopeDefinition"
7742 // InternalSolverLanguageParser.g:2978:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ; 9378 // InternalSolverLanguageParser.g:3677:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ;
7743 public final EObject ruleExactScopeDefinition() throws RecognitionException { 9379 public final EObject ruleExactScopeDefinition() throws RecognitionException {
7744 EObject current = null; 9380 EObject current = null;
7745 9381
@@ -7751,21 +9387,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7751 enterRule(); 9387 enterRule();
7752 9388
7753 try { 9389 try {
7754 // InternalSolverLanguageParser.g:2984:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ) 9390 // InternalSolverLanguageParser.g:3683:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) )
7755 // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) 9391 // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) )
7756 { 9392 {
7757 // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) 9393 // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) )
7758 // InternalSolverLanguageParser.g:2986:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) 9394 // InternalSolverLanguageParser.g:3685:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) )
7759 { 9395 {
7760 otherlv_0=(Token)match(input,Scope,FOLLOW_8); 9396 otherlv_0=(Token)match(input,Scope,FOLLOW_8);
7761 9397
7762 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); 9398 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0());
7763 9399
7764 // InternalSolverLanguageParser.g:2990:3: ( ( ruleQualifiedName ) ) 9400 // InternalSolverLanguageParser.g:3689:3: ( ( ruleQualifiedName ) )
7765 // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) 9401 // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName )
7766 { 9402 {
7767 // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) 9403 // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName )
7768 // InternalSolverLanguageParser.g:2992:5: ruleQualifiedName 9404 // InternalSolverLanguageParser.g:3691:5: ruleQualifiedName
7769 { 9405 {
7770 9406
7771 if (current==null) { 9407 if (current==null) {
@@ -7775,7 +9411,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7775 9411
7776 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 9412 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0());
7777 9413
7778 pushFollow(FOLLOW_46); 9414 pushFollow(FOLLOW_54);
7779 ruleQualifiedName(); 9415 ruleQualifiedName();
7780 9416
7781 state._fsp--; 9417 state._fsp--;
@@ -7789,15 +9425,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7789 9425
7790 } 9426 }
7791 9427
7792 otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_45); 9428 otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_53);
7793 9429
7794 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); 9430 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2());
7795 9431
7796 // InternalSolverLanguageParser.g:3010:3: ( (lv_exactScope_3_0= RULE_INT ) ) 9432 // InternalSolverLanguageParser.g:3709:3: ( (lv_exactScope_3_0= RULE_INT ) )
7797 // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) 9433 // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT )
7798 { 9434 {
7799 // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) 9435 // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT )
7800 // InternalSolverLanguageParser.g:3012:5: lv_exactScope_3_0= RULE_INT 9436 // InternalSolverLanguageParser.g:3711:5: lv_exactScope_3_0= RULE_INT
7801 { 9437 {
7802 lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); 9438 lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2);
7803 9439
@@ -7842,7 +9478,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7842 9478
7843 9479
7844 // $ANTLR start "entryRuleBoundedScopeDefinition" 9480 // $ANTLR start "entryRuleBoundedScopeDefinition"
7845 // InternalSolverLanguageParser.g:3032:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; 9481 // InternalSolverLanguageParser.g:3731:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ;
7846 public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException { 9482 public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException {
7847 EObject current = null; 9483 EObject current = null;
7848 9484
@@ -7850,8 +9486,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7850 9486
7851 9487
7852 try { 9488 try {
7853 // InternalSolverLanguageParser.g:3032:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) 9489 // InternalSolverLanguageParser.g:3731:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF )
7854 // InternalSolverLanguageParser.g:3033:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF 9490 // InternalSolverLanguageParser.g:3732:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF
7855 { 9491 {
7856 newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); 9492 newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule());
7857 pushFollow(FOLLOW_1); 9493 pushFollow(FOLLOW_1);
@@ -7878,7 +9514,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7878 9514
7879 9515
7880 // $ANTLR start "ruleBoundedScopeDefinition" 9516 // $ANTLR start "ruleBoundedScopeDefinition"
7881 // InternalSolverLanguageParser.g:3039:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ; 9517 // InternalSolverLanguageParser.g:3738:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ;
7882 public final EObject ruleBoundedScopeDefinition() throws RecognitionException { 9518 public final EObject ruleBoundedScopeDefinition() throws RecognitionException {
7883 EObject current = null; 9519 EObject current = null;
7884 9520
@@ -7896,70 +9532,70 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7896 enterRule(); 9532 enterRule();
7897 9533
7898 try { 9534 try {
7899 // InternalSolverLanguageParser.g:3045:2: ( (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ) 9535 // InternalSolverLanguageParser.g:3744:2: ( (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) )
7900 // InternalSolverLanguageParser.g:3046:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) 9536 // InternalSolverLanguageParser.g:3745:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) )
7901 { 9537 {
7902 // InternalSolverLanguageParser.g:3046:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) 9538 // InternalSolverLanguageParser.g:3745:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) )
7903 // InternalSolverLanguageParser.g:3047:3: otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) 9539 // InternalSolverLanguageParser.g:3746:3: otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) )
7904 { 9540 {
7905 otherlv_0=(Token)match(input,Scope,FOLLOW_47); 9541 otherlv_0=(Token)match(input,Scope,FOLLOW_55);
7906 9542
7907 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); 9543 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0());
7908 9544
7909 // InternalSolverLanguageParser.g:3051:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) 9545 // InternalSolverLanguageParser.g:3750:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) )
7910 int alt38=2; 9546 int alt47=2;
7911 int LA38_0 = input.LA(1); 9547 int LA47_0 = input.LA(1);
7912 9548
7913 if ( (LA38_0==RULE_INT) ) { 9549 if ( (LA47_0==RULE_INT) ) {
7914 int LA38_1 = input.LA(2); 9550 int LA47_1 = input.LA(2);
7915 9551
7916 if ( (LA38_1==GreaterThanSignEqualsSign) ) { 9552 if ( (LA47_1==GreaterThanSignEqualsSign) ) {
7917 alt38=2; 9553 alt47=2;
7918 } 9554 }
7919 else if ( (LA38_1==LessThanSignEqualsSign) ) { 9555 else if ( (LA47_1==LessThanSignEqualsSign) ) {
7920 alt38=1; 9556 alt47=1;
7921 } 9557 }
7922 else { 9558 else {
7923 NoViableAltException nvae = 9559 NoViableAltException nvae =
7924 new NoViableAltException("", 38, 1, input); 9560 new NoViableAltException("", 47, 1, input);
7925 9561
7926 throw nvae; 9562 throw nvae;
7927 } 9563 }
7928 } 9564 }
7929 else if ( (LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) { 9565 else if ( (LA47_0==RULE_QUOTED_ID||LA47_0==RULE_ID) ) {
7930 alt38=1; 9566 alt47=1;
7931 } 9567 }
7932 else { 9568 else {
7933 NoViableAltException nvae = 9569 NoViableAltException nvae =
7934 new NoViableAltException("", 38, 0, input); 9570 new NoViableAltException("", 47, 0, input);
7935 9571
7936 throw nvae; 9572 throw nvae;
7937 } 9573 }
7938 switch (alt38) { 9574 switch (alt47) {
7939 case 1 : 9575 case 1 :
7940 // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) 9576 // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) )
7941 { 9577 {
7942 // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) 9578 // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) )
7943 // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) 9579 // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) )
7944 { 9580 {
7945 // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? 9581 // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )?
7946 int alt36=2; 9582 int alt45=2;
7947 int LA36_0 = input.LA(1); 9583 int LA45_0 = input.LA(1);
7948 9584
7949 if ( (LA36_0==RULE_INT) ) { 9585 if ( (LA45_0==RULE_INT) ) {
7950 alt36=1; 9586 alt45=1;
7951 } 9587 }
7952 switch (alt36) { 9588 switch (alt45) {
7953 case 1 : 9589 case 1 :
7954 // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign 9590 // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign
7955 { 9591 {
7956 // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) 9592 // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) )
7957 // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) 9593 // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT )
7958 { 9594 {
7959 // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) 9595 // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT )
7960 // InternalSolverLanguageParser.g:3056:8: lv_lowerBound_1_0= RULE_INT 9596 // InternalSolverLanguageParser.g:3755:8: lv_lowerBound_1_0= RULE_INT
7961 { 9597 {
7962 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); 9598 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56);
7963 9599
7964 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); 9600 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
7965 9601
@@ -7989,11 +9625,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7989 9625
7990 } 9626 }
7991 9627
7992 // InternalSolverLanguageParser.g:3077:5: ( ( ruleQualifiedName ) ) 9628 // InternalSolverLanguageParser.g:3776:5: ( ( ruleQualifiedName ) )
7993 // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) 9629 // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName )
7994 { 9630 {
7995 // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) 9631 // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName )
7996 // InternalSolverLanguageParser.g:3079:7: ruleQualifiedName 9632 // InternalSolverLanguageParser.g:3778:7: ruleQualifiedName
7997 { 9633 {
7998 9634
7999 if (current==null) { 9635 if (current==null) {
@@ -8003,7 +9639,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8003 9639
8004 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); 9640 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0());
8005 9641
8006 pushFollow(FOLLOW_48); 9642 pushFollow(FOLLOW_56);
8007 ruleQualifiedName(); 9643 ruleQualifiedName();
8008 9644
8009 state._fsp--; 9645 state._fsp--;
@@ -8017,15 +9653,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8017 9653
8018 } 9654 }
8019 9655
8020 otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_45); 9656 otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_53);
8021 9657
8022 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); 9658 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2());
8023 9659
8024 // InternalSolverLanguageParser.g:3097:5: ( (lv_upperBound_5_0= RULE_INT ) ) 9660 // InternalSolverLanguageParser.g:3796:5: ( (lv_upperBound_5_0= RULE_INT ) )
8025 // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) 9661 // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT )
8026 { 9662 {
8027 // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) 9663 // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT )
8028 // InternalSolverLanguageParser.g:3099:7: lv_upperBound_5_0= RULE_INT 9664 // InternalSolverLanguageParser.g:3798:7: lv_upperBound_5_0= RULE_INT
8029 { 9665 {
8030 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2); 9666 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2);
8031 9667
@@ -8054,18 +9690,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8054 } 9690 }
8055 break; 9691 break;
8056 case 2 : 9692 case 2 :
8057 // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) 9693 // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
8058 { 9694 {
8059 // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) 9695 // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
8060 // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? 9696 // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )?
8061 { 9697 {
8062 // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) 9698 // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) )
8063 // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) 9699 // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT )
8064 { 9700 {
8065 // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) 9701 // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT )
8066 // InternalSolverLanguageParser.g:3120:7: lv_upperBound_6_0= RULE_INT 9702 // InternalSolverLanguageParser.g:3819:7: lv_upperBound_6_0= RULE_INT
8067 { 9703 {
8068 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_49); 9704 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_57);
8069 9705
8070 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); 9706 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
8071 9707
@@ -8089,11 +9725,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8089 9725
8090 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 9726 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
8091 9727
8092 // InternalSolverLanguageParser.g:3140:5: ( ( ruleQualifiedName ) ) 9728 // InternalSolverLanguageParser.g:3839:5: ( ( ruleQualifiedName ) )
8093 // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) 9729 // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName )
8094 { 9730 {
8095 // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) 9731 // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName )
8096 // InternalSolverLanguageParser.g:3142:7: ruleQualifiedName 9732 // InternalSolverLanguageParser.g:3841:7: ruleQualifiedName
8097 { 9733 {
8098 9734
8099 if (current==null) { 9735 if (current==null) {
@@ -8103,7 +9739,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8103 9739
8104 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); 9740 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0());
8105 9741
8106 pushFollow(FOLLOW_50); 9742 pushFollow(FOLLOW_58);
8107 ruleQualifiedName(); 9743 ruleQualifiedName();
8108 9744
8109 state._fsp--; 9745 state._fsp--;
@@ -8117,26 +9753,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8117 9753
8118 } 9754 }
8119 9755
8120 // InternalSolverLanguageParser.g:3156:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? 9756 // InternalSolverLanguageParser.g:3855:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )?
8121 int alt37=2; 9757 int alt46=2;
8122 int LA37_0 = input.LA(1); 9758 int LA46_0 = input.LA(1);
8123 9759
8124 if ( (LA37_0==GreaterThanSignEqualsSign) ) { 9760 if ( (LA46_0==GreaterThanSignEqualsSign) ) {
8125 alt37=1; 9761 alt46=1;
8126 } 9762 }
8127 switch (alt37) { 9763 switch (alt46) {
8128 case 1 : 9764 case 1 :
8129 // InternalSolverLanguageParser.g:3157:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) 9765 // InternalSolverLanguageParser.g:3856:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) )
8130 { 9766 {
8131 otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); 9767 otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53);
8132 9768
8133 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); 9769 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
8134 9770
8135 // InternalSolverLanguageParser.g:3161:6: ( (lv_lowerBound_10_0= RULE_INT ) ) 9771 // InternalSolverLanguageParser.g:3860:6: ( (lv_lowerBound_10_0= RULE_INT ) )
8136 // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) 9772 // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT )
8137 { 9773 {
8138 // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) 9774 // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT )
8139 // InternalSolverLanguageParser.g:3163:8: lv_lowerBound_10_0= RULE_INT 9775 // InternalSolverLanguageParser.g:3862:8: lv_lowerBound_10_0= RULE_INT
8140 { 9776 {
8141 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2); 9777 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2);
8142 9778
@@ -8196,7 +9832,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8196 9832
8197 9833
8198 // $ANTLR start "entryRuleLowerBoundedScopeDefinition" 9834 // $ANTLR start "entryRuleLowerBoundedScopeDefinition"
8199 // InternalSolverLanguageParser.g:3186:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; 9835 // InternalSolverLanguageParser.g:3885:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ;
8200 public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException { 9836 public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException {
8201 EObject current = null; 9837 EObject current = null;
8202 9838
@@ -8204,8 +9840,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8204 9840
8205 9841
8206 try { 9842 try {
8207 // InternalSolverLanguageParser.g:3186:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) 9843 // InternalSolverLanguageParser.g:3885:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF )
8208 // InternalSolverLanguageParser.g:3187:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF 9844 // InternalSolverLanguageParser.g:3886:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF
8209 { 9845 {
8210 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); 9846 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule());
8211 pushFollow(FOLLOW_1); 9847 pushFollow(FOLLOW_1);
@@ -8232,7 +9868,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8232 9868
8233 9869
8234 // $ANTLR start "ruleLowerBoundedScopeDefinition" 9870 // $ANTLR start "ruleLowerBoundedScopeDefinition"
8235 // InternalSolverLanguageParser.g:3193:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ; 9871 // InternalSolverLanguageParser.g:3892:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ;
8236 public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException { 9872 public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException {
8237 EObject current = null; 9873 EObject current = null;
8238 9874
@@ -8246,46 +9882,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8246 enterRule(); 9882 enterRule();
8247 9883
8248 try { 9884 try {
8249 // InternalSolverLanguageParser.g:3199:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ) 9885 // InternalSolverLanguageParser.g:3898:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) )
8250 // InternalSolverLanguageParser.g:3200:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) 9886 // InternalSolverLanguageParser.g:3899:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) )
8251 { 9887 {
8252 // InternalSolverLanguageParser.g:3200:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) 9888 // InternalSolverLanguageParser.g:3899:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) )
8253 // InternalSolverLanguageParser.g:3201:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) 9889 // InternalSolverLanguageParser.g:3900:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) )
8254 { 9890 {
8255 otherlv_0=(Token)match(input,Scope,FOLLOW_47); 9891 otherlv_0=(Token)match(input,Scope,FOLLOW_55);
8256 9892
8257 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); 9893 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0());
8258 9894
8259 // InternalSolverLanguageParser.g:3205:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) 9895 // InternalSolverLanguageParser.g:3904:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) )
8260 int alt39=2; 9896 int alt48=2;
8261 int LA39_0 = input.LA(1); 9897 int LA48_0 = input.LA(1);
8262 9898
8263 if ( (LA39_0==RULE_INT) ) { 9899 if ( (LA48_0==RULE_INT) ) {
8264 alt39=1; 9900 alt48=1;
8265 } 9901 }
8266 else if ( (LA39_0==RULE_QUOTED_ID||LA39_0==RULE_ID) ) { 9902 else if ( (LA48_0==RULE_QUOTED_ID||LA48_0==RULE_ID) ) {
8267 alt39=2; 9903 alt48=2;
8268 } 9904 }
8269 else { 9905 else {
8270 NoViableAltException nvae = 9906 NoViableAltException nvae =
8271 new NoViableAltException("", 39, 0, input); 9907 new NoViableAltException("", 48, 0, input);
8272 9908
8273 throw nvae; 9909 throw nvae;
8274 } 9910 }
8275 switch (alt39) { 9911 switch (alt48) {
8276 case 1 : 9912 case 1 :
8277 // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) 9913 // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) )
8278 { 9914 {
8279 // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) 9915 // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) )
8280 // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) 9916 // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) )
8281 { 9917 {
8282 // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) 9918 // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) )
8283 // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) 9919 // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT )
8284 { 9920 {
8285 // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) 9921 // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT )
8286 // InternalSolverLanguageParser.g:3209:7: lv_lowerBound_1_0= RULE_INT 9922 // InternalSolverLanguageParser.g:3908:7: lv_lowerBound_1_0= RULE_INT
8287 { 9923 {
8288 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); 9924 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56);
8289 9925
8290 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); 9926 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
8291 9927
@@ -8309,11 +9945,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8309 9945
8310 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); 9946 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1());
8311 9947
8312 // InternalSolverLanguageParser.g:3229:5: ( ( ruleQualifiedName ) ) 9948 // InternalSolverLanguageParser.g:3928:5: ( ( ruleQualifiedName ) )
8313 // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) 9949 // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName )
8314 { 9950 {
8315 // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) 9951 // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName )
8316 // InternalSolverLanguageParser.g:3231:7: ruleQualifiedName 9952 // InternalSolverLanguageParser.g:3930:7: ruleQualifiedName
8317 { 9953 {
8318 9954
8319 if (current==null) { 9955 if (current==null) {
@@ -8344,16 +9980,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8344 } 9980 }
8345 break; 9981 break;
8346 case 2 : 9982 case 2 :
8347 // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) 9983 // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) )
8348 { 9984 {
8349 // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) 9985 // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) )
8350 // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) 9986 // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) )
8351 { 9987 {
8352 // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) 9988 // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) )
8353 // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) 9989 // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName )
8354 { 9990 {
8355 // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) 9991 // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName )
8356 // InternalSolverLanguageParser.g:3250:7: ruleQualifiedName 9992 // InternalSolverLanguageParser.g:3949:7: ruleQualifiedName
8357 { 9993 {
8358 9994
8359 if (current==null) { 9995 if (current==null) {
@@ -8363,7 +9999,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8363 9999
8364 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); 10000 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0());
8365 10001
8366 pushFollow(FOLLOW_49); 10002 pushFollow(FOLLOW_57);
8367 ruleQualifiedName(); 10003 ruleQualifiedName();
8368 10004
8369 state._fsp--; 10005 state._fsp--;
@@ -8377,15 +10013,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8377 10013
8378 } 10014 }
8379 10015
8380 otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); 10016 otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53);
8381 10017
8382 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 10018 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
8383 10019
8384 // InternalSolverLanguageParser.g:3268:5: ( (lv_lowerBound_6_0= RULE_INT ) ) 10020 // InternalSolverLanguageParser.g:3967:5: ( (lv_lowerBound_6_0= RULE_INT ) )
8385 // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) 10021 // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT )
8386 { 10022 {
8387 // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) 10023 // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT )
8388 // InternalSolverLanguageParser.g:3270:7: lv_lowerBound_6_0= RULE_INT 10024 // InternalSolverLanguageParser.g:3969:7: lv_lowerBound_6_0= RULE_INT
8389 { 10025 {
8390 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2); 10026 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2);
8391 10027
@@ -8439,7 +10075,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8439 10075
8440 10076
8441 // $ANTLR start "entryRuleObjectiveDefinition" 10077 // $ANTLR start "entryRuleObjectiveDefinition"
8442 // InternalSolverLanguageParser.g:3292:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; 10078 // InternalSolverLanguageParser.g:3991:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ;
8443 public final EObject entryRuleObjectiveDefinition() throws RecognitionException { 10079 public final EObject entryRuleObjectiveDefinition() throws RecognitionException {
8444 EObject current = null; 10080 EObject current = null;
8445 10081
@@ -8447,8 +10083,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8447 10083
8448 10084
8449 try { 10085 try {
8450 // InternalSolverLanguageParser.g:3292:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) 10086 // InternalSolverLanguageParser.g:3991:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF )
8451 // InternalSolverLanguageParser.g:3293:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF 10087 // InternalSolverLanguageParser.g:3992:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF
8452 { 10088 {
8453 newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); 10089 newCompositeNode(grammarAccess.getObjectiveDefinitionRule());
8454 pushFollow(FOLLOW_1); 10090 pushFollow(FOLLOW_1);
@@ -8475,7 +10111,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8475 10111
8476 10112
8477 // $ANTLR start "ruleObjectiveDefinition" 10113 // $ANTLR start "ruleObjectiveDefinition"
8478 // InternalSolverLanguageParser.g:3299:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ; 10114 // InternalSolverLanguageParser.g:3998:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ;
8479 public final EObject ruleObjectiveDefinition() throws RecognitionException { 10115 public final EObject ruleObjectiveDefinition() throws RecognitionException {
8480 EObject current = null; 10116 EObject current = null;
8481 10117
@@ -8488,17 +10124,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8488 enterRule(); 10124 enterRule();
8489 10125
8490 try { 10126 try {
8491 // InternalSolverLanguageParser.g:3305:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) 10127 // InternalSolverLanguageParser.g:4004:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) )
8492 // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) 10128 // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) )
8493 { 10129 {
8494 // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) 10130 // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) )
8495 // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) 10131 // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) )
8496 { 10132 {
8497 // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) 10133 // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) )
8498 // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) 10134 // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind )
8499 { 10135 {
8500 // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) 10136 // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind )
8501 // InternalSolverLanguageParser.g:3309:5: lv_kind_0_0= ruleObjectiveKind 10137 // InternalSolverLanguageParser.g:4008:5: lv_kind_0_0= ruleObjectiveKind
8502 { 10138 {
8503 10139
8504 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); 10140 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0());
@@ -8525,11 +10161,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8525 10161
8526 } 10162 }
8527 10163
8528 // InternalSolverLanguageParser.g:3326:3: ( (lv_objective_1_0= ruleExpression ) ) 10164 // InternalSolverLanguageParser.g:4025:3: ( (lv_objective_1_0= ruleExpression ) )
8529 // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) 10165 // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression )
8530 { 10166 {
8531 // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) 10167 // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression )
8532 // InternalSolverLanguageParser.g:3328:5: lv_objective_1_0= ruleExpression 10168 // InternalSolverLanguageParser.g:4027:5: lv_objective_1_0= ruleExpression
8533 { 10169 {
8534 10170
8535 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); 10171 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0());
@@ -8579,7 +10215,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8579 10215
8580 10216
8581 // $ANTLR start "entryRuleUpperMultiplicty" 10217 // $ANTLR start "entryRuleUpperMultiplicty"
8582 // InternalSolverLanguageParser.g:3349:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; 10218 // InternalSolverLanguageParser.g:4048:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ;
8583 public final String entryRuleUpperMultiplicty() throws RecognitionException { 10219 public final String entryRuleUpperMultiplicty() throws RecognitionException {
8584 String current = null; 10220 String current = null;
8585 10221
@@ -8587,8 +10223,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8587 10223
8588 10224
8589 try { 10225 try {
8590 // InternalSolverLanguageParser.g:3349:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) 10226 // InternalSolverLanguageParser.g:4048:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF )
8591 // InternalSolverLanguageParser.g:3350:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF 10227 // InternalSolverLanguageParser.g:4049:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF
8592 { 10228 {
8593 newCompositeNode(grammarAccess.getUpperMultiplictyRule()); 10229 newCompositeNode(grammarAccess.getUpperMultiplictyRule());
8594 pushFollow(FOLLOW_1); 10230 pushFollow(FOLLOW_1);
@@ -8615,7 +10251,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8615 10251
8616 10252
8617 // $ANTLR start "ruleUpperMultiplicty" 10253 // $ANTLR start "ruleUpperMultiplicty"
8618 // InternalSolverLanguageParser.g:3356:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; 10254 // InternalSolverLanguageParser.g:4055:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ;
8619 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException { 10255 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException {
8620 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10256 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8621 10257
@@ -8626,28 +10262,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8626 enterRule(); 10262 enterRule();
8627 10263
8628 try { 10264 try {
8629 // InternalSolverLanguageParser.g:3362:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) 10265 // InternalSolverLanguageParser.g:4061:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) )
8630 // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) 10266 // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk )
8631 { 10267 {
8632 // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) 10268 // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk )
8633 int alt40=2; 10269 int alt49=2;
8634 int LA40_0 = input.LA(1); 10270 int LA49_0 = input.LA(1);
8635 10271
8636 if ( (LA40_0==RULE_INT) ) { 10272 if ( (LA49_0==RULE_INT) ) {
8637 alt40=1; 10273 alt49=1;
8638 } 10274 }
8639 else if ( (LA40_0==Asterisk) ) { 10275 else if ( (LA49_0==Asterisk) ) {
8640 alt40=2; 10276 alt49=2;
8641 } 10277 }
8642 else { 10278 else {
8643 NoViableAltException nvae = 10279 NoViableAltException nvae =
8644 new NoViableAltException("", 40, 0, input); 10280 new NoViableAltException("", 49, 0, input);
8645 10281
8646 throw nvae; 10282 throw nvae;
8647 } 10283 }
8648 switch (alt40) { 10284 switch (alt49) {
8649 case 1 : 10285 case 1 :
8650 // InternalSolverLanguageParser.g:3364:3: this_INT_0= RULE_INT 10286 // InternalSolverLanguageParser.g:4063:3: this_INT_0= RULE_INT
8651 { 10287 {
8652 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 10288 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
8653 10289
@@ -8660,7 +10296,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8660 } 10296 }
8661 break; 10297 break;
8662 case 2 : 10298 case 2 :
8663 // InternalSolverLanguageParser.g:3372:3: kw= Asterisk 10299 // InternalSolverLanguageParser.g:4071:3: kw= Asterisk
8664 { 10300 {
8665 kw=(Token)match(input,Asterisk,FOLLOW_2); 10301 kw=(Token)match(input,Asterisk,FOLLOW_2);
8666 10302
@@ -8693,7 +10329,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8693 10329
8694 10330
8695 // $ANTLR start "entryRuleReal" 10331 // $ANTLR start "entryRuleReal"
8696 // InternalSolverLanguageParser.g:3381:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; 10332 // InternalSolverLanguageParser.g:4080:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
8697 public final String entryRuleReal() throws RecognitionException { 10333 public final String entryRuleReal() throws RecognitionException {
8698 String current = null; 10334 String current = null;
8699 10335
@@ -8704,8 +10340,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8704 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10340 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8705 10341
8706 try { 10342 try {
8707 // InternalSolverLanguageParser.g:3383:2: (iv_ruleReal= ruleReal EOF ) 10343 // InternalSolverLanguageParser.g:4082:2: (iv_ruleReal= ruleReal EOF )
8708 // InternalSolverLanguageParser.g:3384:2: iv_ruleReal= ruleReal EOF 10344 // InternalSolverLanguageParser.g:4083:2: iv_ruleReal= ruleReal EOF
8709 { 10345 {
8710 newCompositeNode(grammarAccess.getRealRule()); 10346 newCompositeNode(grammarAccess.getRealRule());
8711 pushFollow(FOLLOW_1); 10347 pushFollow(FOLLOW_1);
@@ -8735,7 +10371,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8735 10371
8736 10372
8737 // $ANTLR start "ruleReal" 10373 // $ANTLR start "ruleReal"
8738 // InternalSolverLanguageParser.g:3393:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ; 10374 // InternalSolverLanguageParser.g:4092:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ;
8739 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException { 10375 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
8740 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10376 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8741 10377
@@ -8748,31 +10384,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8748 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10384 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8749 10385
8750 try { 10386 try {
8751 // InternalSolverLanguageParser.g:3400:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ) 10387 // InternalSolverLanguageParser.g:4099:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) )
8752 // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) 10388 // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? )
8753 { 10389 {
8754 // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) 10390 // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? )
8755 // InternalSolverLanguageParser.g:3402:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? 10391 // InternalSolverLanguageParser.g:4101:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )?
8756 { 10392 {
8757 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_51); 10393 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_59);
8758 10394
8759 current.merge(this_INT_0); 10395 current.merge(this_INT_0);
8760 10396
8761 10397
8762 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); 10398 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
8763 10399
8764 // InternalSolverLanguageParser.g:3409:3: (kw= FullStop this_INT_2= RULE_INT )? 10400 // InternalSolverLanguageParser.g:4108:3: (kw= FullStop this_INT_2= RULE_INT )?
8765 int alt41=2; 10401 int alt50=2;
8766 int LA41_0 = input.LA(1); 10402 int LA50_0 = input.LA(1);
8767 10403
8768 if ( (LA41_0==FullStop) ) { 10404 if ( (LA50_0==FullStop) ) {
8769 alt41=1; 10405 alt50=1;
8770 } 10406 }
8771 switch (alt41) { 10407 switch (alt50) {
8772 case 1 : 10408 case 1 :
8773 // InternalSolverLanguageParser.g:3410:4: kw= FullStop this_INT_2= RULE_INT 10409 // InternalSolverLanguageParser.g:4109:4: kw= FullStop this_INT_2= RULE_INT
8774 { 10410 {
8775 kw=(Token)match(input,FullStop,FOLLOW_45); 10411 kw=(Token)match(input,FullStop,FOLLOW_53);
8776 10412
8777 current.merge(kw); 10413 current.merge(kw);
8778 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); 10414 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0());
@@ -8816,7 +10452,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8816 10452
8817 10453
8818 // $ANTLR start "entryRuleQualifiedName" 10454 // $ANTLR start "entryRuleQualifiedName"
8819 // InternalSolverLanguageParser.g:3430:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; 10455 // InternalSolverLanguageParser.g:4129:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
8820 public final String entryRuleQualifiedName() throws RecognitionException { 10456 public final String entryRuleQualifiedName() throws RecognitionException {
8821 String current = null; 10457 String current = null;
8822 10458
@@ -8827,8 +10463,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8827 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10463 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8828 10464
8829 try { 10465 try {
8830 // InternalSolverLanguageParser.g:3432:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) 10466 // InternalSolverLanguageParser.g:4131:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
8831 // InternalSolverLanguageParser.g:3433:2: iv_ruleQualifiedName= ruleQualifiedName EOF 10467 // InternalSolverLanguageParser.g:4132:2: iv_ruleQualifiedName= ruleQualifiedName EOF
8832 { 10468 {
8833 newCompositeNode(grammarAccess.getQualifiedNameRule()); 10469 newCompositeNode(grammarAccess.getQualifiedNameRule());
8834 pushFollow(FOLLOW_1); 10470 pushFollow(FOLLOW_1);
@@ -8858,7 +10494,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8858 10494
8859 10495
8860 // $ANTLR start "ruleQualifiedName" 10496 // $ANTLR start "ruleQualifiedName"
8861 // InternalSolverLanguageParser.g:3442:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ; 10497 // InternalSolverLanguageParser.g:4141:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ;
8862 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { 10498 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
8863 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10499 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8864 10500
@@ -8872,60 +10508,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8872 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10508 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8873 10509
8874 try { 10510 try {
8875 // InternalSolverLanguageParser.g:3449:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) 10511 // InternalSolverLanguageParser.g:4148:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) )
8876 // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) 10512 // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
8877 { 10513 {
8878 // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) 10514 // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
8879 int alt43=2; 10515 int alt52=2;
8880 int LA43_0 = input.LA(1); 10516 int LA52_0 = input.LA(1);
8881 10517
8882 if ( (LA43_0==RULE_ID) ) { 10518 if ( (LA52_0==RULE_ID) ) {
8883 alt43=1; 10519 alt52=1;
8884 } 10520 }
8885 else if ( (LA43_0==RULE_QUOTED_ID) ) { 10521 else if ( (LA52_0==RULE_QUOTED_ID) ) {
8886 alt43=2; 10522 alt52=2;
8887 } 10523 }
8888 else { 10524 else {
8889 NoViableAltException nvae = 10525 NoViableAltException nvae =
8890 new NoViableAltException("", 43, 0, input); 10526 new NoViableAltException("", 52, 0, input);
8891 10527
8892 throw nvae; 10528 throw nvae;
8893 } 10529 }
8894 switch (alt43) { 10530 switch (alt52) {
8895 case 1 : 10531 case 1 :
8896 // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) 10532 // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* )
8897 { 10533 {
8898 // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) 10534 // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* )
8899 // InternalSolverLanguageParser.g:3452:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* 10535 // InternalSolverLanguageParser.g:4151:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )*
8900 { 10536 {
8901 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_51); 10537 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_59);
8902 10538
8903 current.merge(this_ID_0); 10539 current.merge(this_ID_0);
8904 10540
8905 10541
8906 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); 10542 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0());
8907 10543
8908 // InternalSolverLanguageParser.g:3459:4: (kw= FullStop this_ID_2= RULE_ID )* 10544 // InternalSolverLanguageParser.g:4158:4: (kw= FullStop this_ID_2= RULE_ID )*
8909 loop42: 10545 loop51:
8910 do { 10546 do {
8911 int alt42=2; 10547 int alt51=2;
8912 int LA42_0 = input.LA(1); 10548 int LA51_0 = input.LA(1);
8913 10549
8914 if ( (LA42_0==FullStop) ) { 10550 if ( (LA51_0==FullStop) ) {
8915 alt42=1; 10551 alt51=1;
8916 } 10552 }
8917 10553
8918 10554
8919 switch (alt42) { 10555 switch (alt51) {
8920 case 1 : 10556 case 1 :
8921 // InternalSolverLanguageParser.g:3460:5: kw= FullStop this_ID_2= RULE_ID 10557 // InternalSolverLanguageParser.g:4159:5: kw= FullStop this_ID_2= RULE_ID
8922 { 10558 {
8923 kw=(Token)match(input,FullStop,FOLLOW_38); 10559 kw=(Token)match(input,FullStop,FOLLOW_20);
8924 10560
8925 current.merge(kw); 10561 current.merge(kw);
8926 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); 10562 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0());
8927 10563
8928 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_51); 10564 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_59);
8929 10565
8930 current.merge(this_ID_2); 10566 current.merge(this_ID_2);
8931 10567
@@ -8937,7 +10573,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8937 break; 10573 break;
8938 10574
8939 default : 10575 default :
8940 break loop42; 10576 break loop51;
8941 } 10577 }
8942 } while (true); 10578 } while (true);
8943 10579
@@ -8948,7 +10584,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8948 } 10584 }
8949 break; 10585 break;
8950 case 2 : 10586 case 2 :
8951 // InternalSolverLanguageParser.g:3475:3: this_QUOTED_ID_3= RULE_QUOTED_ID 10587 // InternalSolverLanguageParser.g:4174:3: this_QUOTED_ID_3= RULE_QUOTED_ID
8952 { 10588 {
8953 this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); 10589 this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
8954 10590
@@ -8985,72 +10621,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8985 // $ANTLR end "ruleQualifiedName" 10621 // $ANTLR end "ruleQualifiedName"
8986 10622
8987 10623
8988 // $ANTLR start "ruleMetricType" 10624 // $ANTLR start "ruleImplicationOperator"
8989 // InternalSolverLanguageParser.g:3489:1: ruleMetricType returns [Enumerator current=null] : ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ; 10625 // InternalSolverLanguageParser.g:4188:1: ruleImplicationOperator returns [Enumerator current=null] : (enumLiteral_0= EqualsSignGreaterThanSign ) ;
8990 public final Enumerator ruleMetricType() throws RecognitionException { 10626 public final Enumerator ruleImplicationOperator() throws RecognitionException {
8991 Enumerator current = null; 10627 Enumerator current = null;
8992 10628
8993 Token enumLiteral_0=null; 10629 Token enumLiteral_0=null;
8994 Token enumLiteral_1=null;
8995 10630
8996 10631
8997 enterRule(); 10632 enterRule();
8998 10633
8999 try { 10634 try {
9000 // InternalSolverLanguageParser.g:3495:2: ( ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ) 10635 // InternalSolverLanguageParser.g:4194:2: ( (enumLiteral_0= EqualsSignGreaterThanSign ) )
9001 // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) 10636 // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign )
9002 { 10637 {
9003 // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) 10638 // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign )
9004 int alt44=2; 10639 // InternalSolverLanguageParser.g:4196:3: enumLiteral_0= EqualsSignGreaterThanSign
9005 int LA44_0 = input.LA(1); 10640 {
9006 10641 enumLiteral_0=(Token)match(input,EqualsSignGreaterThanSign,FOLLOW_2);
9007 if ( (LA44_0==Int) ) {
9008 alt44=1;
9009 }
9010 else if ( (LA44_0==Real) ) {
9011 alt44=2;
9012 }
9013 else {
9014 NoViableAltException nvae =
9015 new NoViableAltException("", 44, 0, input);
9016
9017 throw nvae;
9018 }
9019 switch (alt44) {
9020 case 1 :
9021 // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int )
9022 {
9023 // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int )
9024 // InternalSolverLanguageParser.g:3498:4: enumLiteral_0= Int
9025 {
9026 enumLiteral_0=(Token)match(input,Int,FOLLOW_2);
9027
9028 current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
9029 newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
9030
9031
9032 }
9033
9034
9035 }
9036 break;
9037 case 2 :
9038 // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real )
9039 {
9040 // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real )
9041 // InternalSolverLanguageParser.g:3506:4: enumLiteral_1= Real
9042 {
9043 enumLiteral_1=(Token)match(input,Real,FOLLOW_2);
9044
9045 current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
9046 newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
9047
9048
9049 }
9050
9051 10642
9052 } 10643 current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance();
9053 break; 10644 newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration());
10645
9054 10646
9055 } 10647 }
9056 10648
@@ -9070,11 +10662,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9070 } 10662 }
9071 return current; 10663 return current;
9072 } 10664 }
9073 // $ANTLR end "ruleMetricType" 10665 // $ANTLR end "ruleImplicationOperator"
9074 10666
9075 10667
9076 // $ANTLR start "ruleComparisonOperator" 10668 // $ANTLR start "ruleComparisonOperator"
9077 // InternalSolverLanguageParser.g:3516:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ; 10669 // InternalSolverLanguageParser.g:4205:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ;
9078 public final Enumerator ruleComparisonOperator() throws RecognitionException { 10670 public final Enumerator ruleComparisonOperator() throws RecognitionException {
9079 Enumerator current = null; 10671 Enumerator current = null;
9080 10672
@@ -9090,60 +10682,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9090 enterRule(); 10682 enterRule();
9091 10683
9092 try { 10684 try {
9093 // InternalSolverLanguageParser.g:3522:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ) 10685 // InternalSolverLanguageParser.g:4211:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) )
9094 // InternalSolverLanguageParser.g:3523:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) 10686 // InternalSolverLanguageParser.g:4212:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) )
9095 { 10687 {
9096 // InternalSolverLanguageParser.g:3523:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) 10688 // InternalSolverLanguageParser.g:4212:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) )
9097 int alt45=7; 10689 int alt53=7;
9098 switch ( input.LA(1) ) { 10690 switch ( input.LA(1) ) {
9099 case EqualsSignEqualsSign: 10691 case EqualsSignEqualsSign:
9100 { 10692 {
9101 alt45=1; 10693 alt53=1;
9102 } 10694 }
9103 break; 10695 break;
9104 case ExclamationMarkEqualsSign: 10696 case ExclamationMarkEqualsSign:
9105 { 10697 {
9106 alt45=2; 10698 alt53=2;
9107 } 10699 }
9108 break; 10700 break;
9109 case LessThanSign: 10701 case LessThanSign:
9110 { 10702 {
9111 alt45=3; 10703 alt53=3;
9112 } 10704 }
9113 break; 10705 break;
9114 case LessThanSignEqualsSign: 10706 case LessThanSignEqualsSign:
9115 { 10707 {
9116 alt45=4; 10708 alt53=4;
9117 } 10709 }
9118 break; 10710 break;
9119 case GreaterThanSign: 10711 case GreaterThanSign:
9120 { 10712 {
9121 alt45=5; 10713 alt53=5;
9122 } 10714 }
9123 break; 10715 break;
9124 case GreaterThanSignEqualsSign: 10716 case GreaterThanSignEqualsSign:
9125 { 10717 {
9126 alt45=6; 10718 alt53=6;
9127 } 10719 }
9128 break; 10720 break;
9129 case In: 10721 case In:
9130 { 10722 {
9131 alt45=7; 10723 alt53=7;
9132 } 10724 }
9133 break; 10725 break;
9134 default: 10726 default:
9135 NoViableAltException nvae = 10727 NoViableAltException nvae =
9136 new NoViableAltException("", 45, 0, input); 10728 new NoViableAltException("", 53, 0, input);
9137 10729
9138 throw nvae; 10730 throw nvae;
9139 } 10731 }
9140 10732
9141 switch (alt45) { 10733 switch (alt53) {
9142 case 1 : 10734 case 1 :
9143 // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) 10735 // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign )
9144 { 10736 {
9145 // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) 10737 // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign )
9146 // InternalSolverLanguageParser.g:3525:4: enumLiteral_0= EqualsSignEqualsSign 10738 // InternalSolverLanguageParser.g:4214:4: enumLiteral_0= EqualsSignEqualsSign
9147 { 10739 {
9148 enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2); 10740 enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2);
9149 10741
@@ -9157,10 +10749,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9157 } 10749 }
9158 break; 10750 break;
9159 case 2 : 10751 case 2 :
9160 // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) 10752 // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign )
9161 { 10753 {
9162 // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) 10754 // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign )
9163 // InternalSolverLanguageParser.g:3533:4: enumLiteral_1= ExclamationMarkEqualsSign 10755 // InternalSolverLanguageParser.g:4222:4: enumLiteral_1= ExclamationMarkEqualsSign
9164 { 10756 {
9165 enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2); 10757 enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2);
9166 10758
@@ -9174,10 +10766,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9174 } 10766 }
9175 break; 10767 break;
9176 case 3 : 10768 case 3 :
9177 // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) 10769 // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign )
9178 { 10770 {
9179 // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) 10771 // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign )
9180 // InternalSolverLanguageParser.g:3541:4: enumLiteral_2= LessThanSign 10772 // InternalSolverLanguageParser.g:4230:4: enumLiteral_2= LessThanSign
9181 { 10773 {
9182 enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2); 10774 enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2);
9183 10775
@@ -9191,10 +10783,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9191 } 10783 }
9192 break; 10784 break;
9193 case 4 : 10785 case 4 :
9194 // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) 10786 // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign )
9195 { 10787 {
9196 // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) 10788 // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign )
9197 // InternalSolverLanguageParser.g:3549:4: enumLiteral_3= LessThanSignEqualsSign 10789 // InternalSolverLanguageParser.g:4238:4: enumLiteral_3= LessThanSignEqualsSign
9198 { 10790 {
9199 enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2); 10791 enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2);
9200 10792
@@ -9208,10 +10800,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9208 } 10800 }
9209 break; 10801 break;
9210 case 5 : 10802 case 5 :
9211 // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) 10803 // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign )
9212 { 10804 {
9213 // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) 10805 // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign )
9214 // InternalSolverLanguageParser.g:3557:4: enumLiteral_4= GreaterThanSign 10806 // InternalSolverLanguageParser.g:4246:4: enumLiteral_4= GreaterThanSign
9215 { 10807 {
9216 enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2); 10808 enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2);
9217 10809
@@ -9225,10 +10817,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9225 } 10817 }
9226 break; 10818 break;
9227 case 6 : 10819 case 6 :
9228 // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) 10820 // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign )
9229 { 10821 {
9230 // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) 10822 // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign )
9231 // InternalSolverLanguageParser.g:3565:4: enumLiteral_5= GreaterThanSignEqualsSign 10823 // InternalSolverLanguageParser.g:4254:4: enumLiteral_5= GreaterThanSignEqualsSign
9232 { 10824 {
9233 enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2); 10825 enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2);
9234 10826
@@ -9242,10 +10834,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9242 } 10834 }
9243 break; 10835 break;
9244 case 7 : 10836 case 7 :
9245 // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) 10837 // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In )
9246 { 10838 {
9247 // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) 10839 // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In )
9248 // InternalSolverLanguageParser.g:3573:4: enumLiteral_6= In 10840 // InternalSolverLanguageParser.g:4262:4: enumLiteral_6= In
9249 { 10841 {
9250 enumLiteral_6=(Token)match(input,In,FOLLOW_2); 10842 enumLiteral_6=(Token)match(input,In,FOLLOW_2);
9251 10843
@@ -9281,7 +10873,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9281 10873
9282 10874
9283 // $ANTLR start "ruleAdditiveBinaryOperator" 10875 // $ANTLR start "ruleAdditiveBinaryOperator"
9284 // InternalSolverLanguageParser.g:3583:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; 10876 // InternalSolverLanguageParser.g:4272:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ;
9285 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException { 10877 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException {
9286 Enumerator current = null; 10878 Enumerator current = null;
9287 10879
@@ -9292,31 +10884,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9292 enterRule(); 10884 enterRule();
9293 10885
9294 try { 10886 try {
9295 // InternalSolverLanguageParser.g:3589:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) 10887 // InternalSolverLanguageParser.g:4278:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) )
9296 // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) 10888 // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) )
9297 { 10889 {
9298 // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) 10890 // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) )
9299 int alt46=2; 10891 int alt54=2;
9300 int LA46_0 = input.LA(1); 10892 int LA54_0 = input.LA(1);
9301 10893
9302 if ( (LA46_0==PlusSign) ) { 10894 if ( (LA54_0==PlusSign) ) {
9303 alt46=1; 10895 alt54=1;
9304 } 10896 }
9305 else if ( (LA46_0==HyphenMinus) ) { 10897 else if ( (LA54_0==HyphenMinus) ) {
9306 alt46=2; 10898 alt54=2;
9307 } 10899 }
9308 else { 10900 else {
9309 NoViableAltException nvae = 10901 NoViableAltException nvae =
9310 new NoViableAltException("", 46, 0, input); 10902 new NoViableAltException("", 54, 0, input);
9311 10903
9312 throw nvae; 10904 throw nvae;
9313 } 10905 }
9314 switch (alt46) { 10906 switch (alt54) {
9315 case 1 : 10907 case 1 :
9316 // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) 10908 // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign )
9317 { 10909 {
9318 // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) 10910 // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign )
9319 // InternalSolverLanguageParser.g:3592:4: enumLiteral_0= PlusSign 10911 // InternalSolverLanguageParser.g:4281:4: enumLiteral_0= PlusSign
9320 { 10912 {
9321 enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2); 10913 enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2);
9322 10914
@@ -9330,10 +10922,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9330 } 10922 }
9331 break; 10923 break;
9332 case 2 : 10924 case 2 :
9333 // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) 10925 // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus )
9334 { 10926 {
9335 // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) 10927 // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus )
9336 // InternalSolverLanguageParser.g:3600:4: enumLiteral_1= HyphenMinus 10928 // InternalSolverLanguageParser.g:4289:4: enumLiteral_1= HyphenMinus
9337 { 10929 {
9338 enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2); 10930 enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2);
9339 10931
@@ -9369,7 +10961,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9369 10961
9370 10962
9371 // $ANTLR start "ruleMultiplicativeBinaryOperator" 10963 // $ANTLR start "ruleMultiplicativeBinaryOperator"
9372 // InternalSolverLanguageParser.g:3610:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; 10964 // InternalSolverLanguageParser.g:4299:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ;
9373 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException { 10965 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException {
9374 Enumerator current = null; 10966 Enumerator current = null;
9375 10967
@@ -9380,31 +10972,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9380 enterRule(); 10972 enterRule();
9381 10973
9382 try { 10974 try {
9383 // InternalSolverLanguageParser.g:3616:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) 10975 // InternalSolverLanguageParser.g:4305:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) )
9384 // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) 10976 // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) )
9385 { 10977 {
9386 // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) 10978 // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) )
9387 int alt47=2; 10979 int alt55=2;
9388 int LA47_0 = input.LA(1); 10980 int LA55_0 = input.LA(1);
9389 10981
9390 if ( (LA47_0==Asterisk) ) { 10982 if ( (LA55_0==Asterisk) ) {
9391 alt47=1; 10983 alt55=1;
9392 } 10984 }
9393 else if ( (LA47_0==Solidus) ) { 10985 else if ( (LA55_0==Solidus) ) {
9394 alt47=2; 10986 alt55=2;
9395 } 10987 }
9396 else { 10988 else {
9397 NoViableAltException nvae = 10989 NoViableAltException nvae =
9398 new NoViableAltException("", 47, 0, input); 10990 new NoViableAltException("", 55, 0, input);
9399 10991
9400 throw nvae; 10992 throw nvae;
9401 } 10993 }
9402 switch (alt47) { 10994 switch (alt55) {
9403 case 1 : 10995 case 1 :
9404 // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) 10996 // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk )
9405 { 10997 {
9406 // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) 10998 // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk )
9407 // InternalSolverLanguageParser.g:3619:4: enumLiteral_0= Asterisk 10999 // InternalSolverLanguageParser.g:4308:4: enumLiteral_0= Asterisk
9408 { 11000 {
9409 enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2); 11001 enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2);
9410 11002
@@ -9418,10 +11010,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9418 } 11010 }
9419 break; 11011 break;
9420 case 2 : 11012 case 2 :
9421 // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) 11013 // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus )
9422 { 11014 {
9423 // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) 11015 // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus )
9424 // InternalSolverLanguageParser.g:3627:4: enumLiteral_1= Solidus 11016 // InternalSolverLanguageParser.g:4316:4: enumLiteral_1= Solidus
9425 { 11017 {
9426 enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2); 11018 enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2);
9427 11019
@@ -9457,7 +11049,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9457 11049
9458 11050
9459 // $ANTLR start "ruleExponentialOp" 11051 // $ANTLR start "ruleExponentialOp"
9460 // InternalSolverLanguageParser.g:3637:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; 11052 // InternalSolverLanguageParser.g:4326:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ;
9461 public final Enumerator ruleExponentialOp() throws RecognitionException { 11053 public final Enumerator ruleExponentialOp() throws RecognitionException {
9462 Enumerator current = null; 11054 Enumerator current = null;
9463 11055
@@ -9467,11 +11059,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9467 enterRule(); 11059 enterRule();
9468 11060
9469 try { 11061 try {
9470 // InternalSolverLanguageParser.g:3643:2: ( (enumLiteral_0= CircumflexAccent ) ) 11062 // InternalSolverLanguageParser.g:4332:2: ( (enumLiteral_0= CircumflexAccent ) )
9471 // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) 11063 // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent )
9472 { 11064 {
9473 // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) 11065 // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent )
9474 // InternalSolverLanguageParser.g:3645:3: enumLiteral_0= CircumflexAccent 11066 // InternalSolverLanguageParser.g:4334:3: enumLiteral_0= CircumflexAccent
9475 { 11067 {
9476 enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2); 11068 enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2);
9477 11069
@@ -9501,7 +11093,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9501 11093
9502 11094
9503 // $ANTLR start "ruleUnaryOp" 11095 // $ANTLR start "ruleUnaryOp"
9504 // InternalSolverLanguageParser.g:3654:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ; 11096 // InternalSolverLanguageParser.g:4343:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ;
9505 public final Enumerator ruleUnaryOp() throws RecognitionException { 11097 public final Enumerator ruleUnaryOp() throws RecognitionException {
9506 Enumerator current = null; 11098 Enumerator current = null;
9507 11099
@@ -9516,55 +11108,55 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9516 enterRule(); 11108 enterRule();
9517 11109
9518 try { 11110 try {
9519 // InternalSolverLanguageParser.g:3660:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ) 11111 // InternalSolverLanguageParser.g:4349:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) )
9520 // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) 11112 // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) )
9521 { 11113 {
9522 // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) 11114 // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) )
9523 int alt48=6; 11115 int alt56=6;
9524 switch ( input.LA(1) ) { 11116 switch ( input.LA(1) ) {
9525 case ExclamationMark: 11117 case ExclamationMark:
9526 { 11118 {
9527 alt48=1; 11119 alt56=1;
9528 } 11120 }
9529 break; 11121 break;
9530 case PlusSign: 11122 case PlusSign:
9531 { 11123 {
9532 alt48=2; 11124 alt56=2;
9533 } 11125 }
9534 break; 11126 break;
9535 case HyphenMinus: 11127 case HyphenMinus:
9536 { 11128 {
9537 alt48=3; 11129 alt56=3;
9538 } 11130 }
9539 break; 11131 break;
9540 case May: 11132 case May:
9541 { 11133 {
9542 alt48=4; 11134 alt56=4;
9543 } 11135 }
9544 break; 11136 break;
9545 case Must: 11137 case Must:
9546 { 11138 {
9547 alt48=5; 11139 alt56=5;
9548 } 11140 }
9549 break; 11141 break;
9550 case Current: 11142 case Current:
9551 { 11143 {
9552 alt48=6; 11144 alt56=6;
9553 } 11145 }
9554 break; 11146 break;
9555 default: 11147 default:
9556 NoViableAltException nvae = 11148 NoViableAltException nvae =
9557 new NoViableAltException("", 48, 0, input); 11149 new NoViableAltException("", 56, 0, input);
9558 11150
9559 throw nvae; 11151 throw nvae;
9560 } 11152 }
9561 11153
9562 switch (alt48) { 11154 switch (alt56) {
9563 case 1 : 11155 case 1 :
9564 // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) 11156 // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark )
9565 { 11157 {
9566 // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) 11158 // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark )
9567 // InternalSolverLanguageParser.g:3663:4: enumLiteral_0= ExclamationMark 11159 // InternalSolverLanguageParser.g:4352:4: enumLiteral_0= ExclamationMark
9568 { 11160 {
9569 enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2); 11161 enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2);
9570 11162
@@ -9578,10 +11170,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9578 } 11170 }
9579 break; 11171 break;
9580 case 2 : 11172 case 2 :
9581 // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) 11173 // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign )
9582 { 11174 {
9583 // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) 11175 // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign )
9584 // InternalSolverLanguageParser.g:3671:4: enumLiteral_1= PlusSign 11176 // InternalSolverLanguageParser.g:4360:4: enumLiteral_1= PlusSign
9585 { 11177 {
9586 enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2); 11178 enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2);
9587 11179
@@ -9595,10 +11187,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9595 } 11187 }
9596 break; 11188 break;
9597 case 3 : 11189 case 3 :
9598 // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) 11190 // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus )
9599 { 11191 {
9600 // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) 11192 // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus )
9601 // InternalSolverLanguageParser.g:3679:4: enumLiteral_2= HyphenMinus 11193 // InternalSolverLanguageParser.g:4368:4: enumLiteral_2= HyphenMinus
9602 { 11194 {
9603 enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2); 11195 enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2);
9604 11196
@@ -9612,10 +11204,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9612 } 11204 }
9613 break; 11205 break;
9614 case 4 : 11206 case 4 :
9615 // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) 11207 // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May )
9616 { 11208 {
9617 // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) 11209 // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May )
9618 // InternalSolverLanguageParser.g:3687:4: enumLiteral_3= May 11210 // InternalSolverLanguageParser.g:4376:4: enumLiteral_3= May
9619 { 11211 {
9620 enumLiteral_3=(Token)match(input,May,FOLLOW_2); 11212 enumLiteral_3=(Token)match(input,May,FOLLOW_2);
9621 11213
@@ -9629,10 +11221,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9629 } 11221 }
9630 break; 11222 break;
9631 case 5 : 11223 case 5 :
9632 // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) 11224 // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must )
9633 { 11225 {
9634 // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) 11226 // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must )
9635 // InternalSolverLanguageParser.g:3695:4: enumLiteral_4= Must 11227 // InternalSolverLanguageParser.g:4384:4: enumLiteral_4= Must
9636 { 11228 {
9637 enumLiteral_4=(Token)match(input,Must,FOLLOW_2); 11229 enumLiteral_4=(Token)match(input,Must,FOLLOW_2);
9638 11230
@@ -9646,10 +11238,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9646 } 11238 }
9647 break; 11239 break;
9648 case 6 : 11240 case 6 :
9649 // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) 11241 // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current )
9650 { 11242 {
9651 // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) 11243 // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current )
9652 // InternalSolverLanguageParser.g:3703:4: enumLiteral_5= Current 11244 // InternalSolverLanguageParser.g:4392:4: enumLiteral_5= Current
9653 { 11245 {
9654 enumLiteral_5=(Token)match(input,Current,FOLLOW_2); 11246 enumLiteral_5=(Token)match(input,Current,FOLLOW_2);
9655 11247
@@ -9684,76 +11276,58 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9684 // $ANTLR end "ruleUnaryOp" 11276 // $ANTLR end "ruleUnaryOp"
9685 11277
9686 11278
9687 // $ANTLR start "ruleAggregationOp" 11279 // $ANTLR start "ruleQuantifier"
9688 // InternalSolverLanguageParser.g:3713:1: ruleAggregationOp returns [Enumerator current=null] : ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ; 11280 // InternalSolverLanguageParser.g:4402:1: ruleQuantifier returns [Enumerator current=null] : ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) ;
9689 public final Enumerator ruleAggregationOp() throws RecognitionException { 11281 public final Enumerator ruleQuantifier() throws RecognitionException {
9690 Enumerator current = null; 11282 Enumerator current = null;
9691 11283
9692 Token enumLiteral_0=null; 11284 Token enumLiteral_0=null;
9693 Token enumLiteral_1=null; 11285 Token enumLiteral_1=null;
9694 Token enumLiteral_2=null; 11286 Token enumLiteral_2=null;
9695 Token enumLiteral_3=null;
9696 Token enumLiteral_4=null;
9697 Token enumLiteral_5=null;
9698 11287
9699 11288
9700 enterRule(); 11289 enterRule();
9701 11290
9702 try { 11291 try {
9703 // InternalSolverLanguageParser.g:3719:2: ( ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ) 11292 // InternalSolverLanguageParser.g:4408:2: ( ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) )
9704 // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) 11293 // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) )
9705 { 11294 {
9706 // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) 11295 // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) )
9707 int alt49=6; 11296 int alt57=3;
9708 switch ( input.LA(1) ) { 11297 switch ( input.LA(1) ) {
9709 case Only: 11298 case Exists:
9710 {
9711 alt49=1;
9712 }
9713 break;
9714 case Sum:
9715 { 11299 {
9716 alt49=2; 11300 alt57=1;
9717 }
9718 break;
9719 case Prod:
9720 {
9721 alt49=3;
9722 }
9723 break;
9724 case Avg:
9725 {
9726 alt49=4;
9727 } 11301 }
9728 break; 11302 break;
9729 case Min: 11303 case Forall:
9730 { 11304 {
9731 alt49=5; 11305 alt57=2;
9732 } 11306 }
9733 break; 11307 break;
9734 case Max: 11308 case Count:
9735 { 11309 {
9736 alt49=6; 11310 alt57=3;
9737 } 11311 }
9738 break; 11312 break;
9739 default: 11313 default:
9740 NoViableAltException nvae = 11314 NoViableAltException nvae =
9741 new NoViableAltException("", 49, 0, input); 11315 new NoViableAltException("", 57, 0, input);
9742 11316
9743 throw nvae; 11317 throw nvae;
9744 } 11318 }
9745 11319
9746 switch (alt49) { 11320 switch (alt57) {
9747 case 1 : 11321 case 1 :
9748 // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) 11322 // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists )
9749 { 11323 {
9750 // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) 11324 // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists )
9751 // InternalSolverLanguageParser.g:3722:4: enumLiteral_0= Only 11325 // InternalSolverLanguageParser.g:4411:4: enumLiteral_0= Exists
9752 { 11326 {
9753 enumLiteral_0=(Token)match(input,Only,FOLLOW_2); 11327 enumLiteral_0=(Token)match(input,Exists,FOLLOW_2);
9754 11328
9755 current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 11329 current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
9756 newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); 11330 newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
9757 11331
9758 11332
9759 } 11333 }
@@ -9762,15 +11336,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9762 } 11336 }
9763 break; 11337 break;
9764 case 2 : 11338 case 2 :
9765 // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) 11339 // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall )
9766 { 11340 {
9767 // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) 11341 // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall )
9768 // InternalSolverLanguageParser.g:3730:4: enumLiteral_1= Sum 11342 // InternalSolverLanguageParser.g:4419:4: enumLiteral_1= Forall
9769 { 11343 {
9770 enumLiteral_1=(Token)match(input,Sum,FOLLOW_2); 11344 enumLiteral_1=(Token)match(input,Forall,FOLLOW_2);
9771 11345
9772 current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 11346 current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
9773 newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); 11347 newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
9774 11348
9775 11349
9776 } 11350 }
@@ -9779,66 +11353,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9779 } 11353 }
9780 break; 11354 break;
9781 case 3 : 11355 case 3 :
9782 // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod ) 11356 // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count )
9783 {
9784 // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod )
9785 // InternalSolverLanguageParser.g:3738:4: enumLiteral_2= Prod
9786 {
9787 enumLiteral_2=(Token)match(input,Prod,FOLLOW_2);
9788
9789 current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
9790 newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
9791
9792
9793 }
9794
9795
9796 }
9797 break;
9798 case 4 :
9799 // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg )
9800 { 11357 {
9801 // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg ) 11358 // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count )
9802 // InternalSolverLanguageParser.g:3746:4: enumLiteral_3= Avg 11359 // InternalSolverLanguageParser.g:4427:4: enumLiteral_2= Count
9803 { 11360 {
9804 enumLiteral_3=(Token)match(input,Avg,FOLLOW_2); 11361 enumLiteral_2=(Token)match(input,Count,FOLLOW_2);
9805 11362
9806 current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 11363 current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
9807 newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); 11364 newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
9808
9809
9810 }
9811
9812
9813 }
9814 break;
9815 case 5 :
9816 // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min )
9817 {
9818 // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min )
9819 // InternalSolverLanguageParser.g:3754:4: enumLiteral_4= Min
9820 {
9821 enumLiteral_4=(Token)match(input,Min,FOLLOW_2);
9822
9823 current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
9824 newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
9825
9826
9827 }
9828
9829
9830 }
9831 break;
9832 case 6 :
9833 // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max )
9834 {
9835 // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max )
9836 // InternalSolverLanguageParser.g:3762:4: enumLiteral_5= Max
9837 {
9838 enumLiteral_5=(Token)match(input,Max,FOLLOW_2);
9839
9840 current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
9841 newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
9842 11365
9843 11366
9844 } 11367 }
@@ -9865,11 +11388,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9865 } 11388 }
9866 return current; 11389 return current;
9867 } 11390 }
9868 // $ANTLR end "ruleAggregationOp" 11391 // $ANTLR end "ruleQuantifier"
9869 11392
9870 11393
9871 // $ANTLR start "ruleLogicValue" 11394 // $ANTLR start "ruleLogicValue"
9872 // InternalSolverLanguageParser.g:3772:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ; 11395 // InternalSolverLanguageParser.g:4437:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ;
9873 public final Enumerator ruleLogicValue() throws RecognitionException { 11396 public final Enumerator ruleLogicValue() throws RecognitionException {
9874 Enumerator current = null; 11397 Enumerator current = null;
9875 11398
@@ -9882,45 +11405,45 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9882 enterRule(); 11405 enterRule();
9883 11406
9884 try { 11407 try {
9885 // InternalSolverLanguageParser.g:3778:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ) 11408 // InternalSolverLanguageParser.g:4443:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) )
9886 // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) 11409 // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) )
9887 { 11410 {
9888 // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) 11411 // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) )
9889 int alt50=4; 11412 int alt58=4;
9890 switch ( input.LA(1) ) { 11413 switch ( input.LA(1) ) {
9891 case True: 11414 case True:
9892 { 11415 {
9893 alt50=1; 11416 alt58=1;
9894 } 11417 }
9895 break; 11418 break;
9896 case False: 11419 case False:
9897 { 11420 {
9898 alt50=2; 11421 alt58=2;
9899 } 11422 }
9900 break; 11423 break;
9901 case Unknown: 11424 case Unknown:
9902 { 11425 {
9903 alt50=3; 11426 alt58=3;
9904 } 11427 }
9905 break; 11428 break;
9906 case Error: 11429 case Error:
9907 { 11430 {
9908 alt50=4; 11431 alt58=4;
9909 } 11432 }
9910 break; 11433 break;
9911 default: 11434 default:
9912 NoViableAltException nvae = 11435 NoViableAltException nvae =
9913 new NoViableAltException("", 50, 0, input); 11436 new NoViableAltException("", 58, 0, input);
9914 11437
9915 throw nvae; 11438 throw nvae;
9916 } 11439 }
9917 11440
9918 switch (alt50) { 11441 switch (alt58) {
9919 case 1 : 11442 case 1 :
9920 // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) 11443 // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True )
9921 { 11444 {
9922 // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) 11445 // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True )
9923 // InternalSolverLanguageParser.g:3781:4: enumLiteral_0= True 11446 // InternalSolverLanguageParser.g:4446:4: enumLiteral_0= True
9924 { 11447 {
9925 enumLiteral_0=(Token)match(input,True,FOLLOW_2); 11448 enumLiteral_0=(Token)match(input,True,FOLLOW_2);
9926 11449
@@ -9934,10 +11457,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9934 } 11457 }
9935 break; 11458 break;
9936 case 2 : 11459 case 2 :
9937 // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) 11460 // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False )
9938 { 11461 {
9939 // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) 11462 // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False )
9940 // InternalSolverLanguageParser.g:3789:4: enumLiteral_1= False 11463 // InternalSolverLanguageParser.g:4454:4: enumLiteral_1= False
9941 { 11464 {
9942 enumLiteral_1=(Token)match(input,False,FOLLOW_2); 11465 enumLiteral_1=(Token)match(input,False,FOLLOW_2);
9943 11466
@@ -9951,10 +11474,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9951 } 11474 }
9952 break; 11475 break;
9953 case 3 : 11476 case 3 :
9954 // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) 11477 // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown )
9955 { 11478 {
9956 // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) 11479 // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown )
9957 // InternalSolverLanguageParser.g:3797:4: enumLiteral_2= Unknown 11480 // InternalSolverLanguageParser.g:4462:4: enumLiteral_2= Unknown
9958 { 11481 {
9959 enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2); 11482 enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2);
9960 11483
@@ -9968,10 +11491,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9968 } 11491 }
9969 break; 11492 break;
9970 case 4 : 11493 case 4 :
9971 // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) 11494 // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error )
9972 { 11495 {
9973 // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) 11496 // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error )
9974 // InternalSolverLanguageParser.g:3805:4: enumLiteral_3= Error 11497 // InternalSolverLanguageParser.g:4470:4: enumLiteral_3= Error
9975 { 11498 {
9976 enumLiteral_3=(Token)match(input,Error,FOLLOW_2); 11499 enumLiteral_3=(Token)match(input,Error,FOLLOW_2);
9977 11500
@@ -10007,7 +11530,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10007 11530
10008 11531
10009 // $ANTLR start "ruleObjectiveKind" 11532 // $ANTLR start "ruleObjectiveKind"
10010 // InternalSolverLanguageParser.g:3815:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; 11533 // InternalSolverLanguageParser.g:4480:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ;
10011 public final Enumerator ruleObjectiveKind() throws RecognitionException { 11534 public final Enumerator ruleObjectiveKind() throws RecognitionException {
10012 Enumerator current = null; 11535 Enumerator current = null;
10013 11536
@@ -10018,31 +11541,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10018 enterRule(); 11541 enterRule();
10019 11542
10020 try { 11543 try {
10021 // InternalSolverLanguageParser.g:3821:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) 11544 // InternalSolverLanguageParser.g:4486:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) )
10022 // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) 11545 // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) )
10023 { 11546 {
10024 // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) 11547 // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) )
10025 int alt51=2; 11548 int alt59=2;
10026 int LA51_0 = input.LA(1); 11549 int LA59_0 = input.LA(1);
10027 11550
10028 if ( (LA51_0==Minimize) ) { 11551 if ( (LA59_0==Minimize) ) {
10029 alt51=1; 11552 alt59=1;
10030 } 11553 }
10031 else if ( (LA51_0==Maximize) ) { 11554 else if ( (LA59_0==Maximize) ) {
10032 alt51=2; 11555 alt59=2;
10033 } 11556 }
10034 else { 11557 else {
10035 NoViableAltException nvae = 11558 NoViableAltException nvae =
10036 new NoViableAltException("", 51, 0, input); 11559 new NoViableAltException("", 59, 0, input);
10037 11560
10038 throw nvae; 11561 throw nvae;
10039 } 11562 }
10040 switch (alt51) { 11563 switch (alt59) {
10041 case 1 : 11564 case 1 :
10042 // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) 11565 // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize )
10043 { 11566 {
10044 // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) 11567 // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize )
10045 // InternalSolverLanguageParser.g:3824:4: enumLiteral_0= Minimize 11568 // InternalSolverLanguageParser.g:4489:4: enumLiteral_0= Minimize
10046 { 11569 {
10047 enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2); 11570 enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2);
10048 11571
@@ -10056,10 +11579,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10056 } 11579 }
10057 break; 11580 break;
10058 case 2 : 11581 case 2 :
10059 // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) 11582 // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize )
10060 { 11583 {
10061 // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) 11584 // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize )
10062 // InternalSolverLanguageParser.g:3832:4: enumLiteral_1= Maximize 11585 // InternalSolverLanguageParser.g:4497:4: enumLiteral_1= Maximize
10063 { 11586 {
10064 enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2); 11587 enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2);
10065 11588
@@ -10097,28 +11620,43 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10097 11620
10098 11621
10099 protected DFA2 dfa2 = new DFA2(this); 11622 protected DFA2 dfa2 = new DFA2(this);
10100 protected DFA20 dfa20 = new DFA20(this); 11623 protected DFA23 dfa23 = new DFA23(this);
10101 protected DFA24 dfa24 = new DFA24(this); 11624 protected DFA29 dfa29 = new DFA29(this);
10102 protected DFA35 dfa35 = new DFA35(this); 11625 protected DFA33 dfa33 = new DFA33(this);
10103 static final String dfa_1s = "\15\uffff"; 11626 protected DFA44 dfa44 = new DFA44(this);
10104 static final String dfa_2s = "\1\5\1\uffff\1\5\2\uffff\1\36\7\uffff"; 11627 static final String dfa_1s = "\33\uffff";
10105 static final String dfa_3s = "\1\123\1\uffff\1\122\2\uffff\1\122\7\uffff"; 11628 static final String dfa_2s = "\1\4\1\uffff\2\40\1\4\2\uffff\1\7\3\uffff\1\105\2\uffff\2\54\1\uffff\1\40\1\105\2\54\1\uffff\1\54\1\105\2\uffff\1\54";
10106 static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\2\1\4\1\uffff\1\6\1\10\1\11\1\12\1\3\1\5\1\7"; 11629 static final String dfa_3s = "\1\106\1\uffff\3\105\2\uffff\1\105\3\uffff\1\105\2\uffff\2\105\1\uffff\2\105\2\74\1\uffff\2\105\2\uffff\1\74";
10107 static final String dfa_5s = "\15\uffff}>"; 11630 static final String dfa_4s = "\1\uffff\1\1\3\uffff\1\2\1\4\1\uffff\1\12\1\13\1\14\1\uffff\1\5\1\3\2\uffff\1\11\4\uffff\1\6\2\uffff\1\7\1\10\1\uffff";
11631 static final String dfa_5s = "\33\uffff}>";
10108 static final String[] dfa_6s = { 11632 static final String[] dfa_6s = {
10109 "\1\3\1\7\1\uffff\2\11\3\uffff\1\1\1\4\1\uffff\1\1\1\uffff\1\5\1\7\2\1\1\2\1\1\1\10\2\uffff\3\1\1\6\1\uffff\1\1\5\uffff\2\1\1\6\4\1\11\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\1\1\5\uffff\2\1\4\uffff\2\1", 11633 "\1\5\1\10\2\uffff\2\12\1\uffff\1\1\1\6\1\uffff\2\1\1\7\1\1\1\10\2\1\1\4\1\1\1\11\1\uffff\1\1\1\uffff\1\1\1\uffff\3\1\11\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\1\1\5\uffff\1\1\1\3\4\uffff\1\2\1\1",
10110 "", 11634 "",
10111 "\1\3\47\uffff\2\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\12\1\uffff\4\1\1\uffff\6\1\2\uffff\1\1\4\uffff\1\3\3\uffff\1\1\1\3", 11635 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\13\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11636 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11637 "\1\5\33\uffff\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\15\1\uffff\4\1\1\uffff\6\1\2\uffff\1\1\4\uffff\1\5\3\uffff\1\1\1\5",
10112 "", 11638 "",
10113 "", 11639 "",
10114 "\1\14\11\uffff\1\14\44\uffff\1\13\4\uffff\1\13", 11640 "\1\20\70\uffff\1\17\4\uffff\1\16",
10115 "", 11641 "",
10116 "", 11642 "",
10117 "", 11643 "",
11644 "\1\21",
10118 "", 11645 "",
10119 "", 11646 "",
11647 "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23",
11648 "\1\25\23\uffff\1\24\4\uffff\1\23",
10120 "", 11649 "",
10121 "" 11650 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\13\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11651 "\1\26",
11652 "\1\30\5\uffff\1\27\11\uffff\1\31",
11653 "\1\30\17\uffff\1\31",
11654 "",
11655 "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23",
11656 "\1\32",
11657 "",
11658 "",
11659 "\1\30\5\uffff\1\27\11\uffff\1\31"
10122 }; 11660 };
10123 11661
10124 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 11662 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -10142,26 +11680,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10142 this.transition = dfa_6; 11680 this.transition = dfa_6;
10143 } 11681 }
10144 public String getDescription() { 11682 public String getDescription() {
10145 return "109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition )"; 11683 return "109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition )";
10146 } 11684 }
10147 } 11685 }
10148 static final String dfa_7s = "\12\uffff"; 11686 static final String dfa_7s = "\10\uffff";
10149 static final String dfa_8s = "\1\uffff\2\10\6\uffff\1\10"; 11687 static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\3";
10150 static final String dfa_9s = "\1\20\2\32\3\uffff\1\122\2\uffff\1\32"; 11688 static final String dfa_9s = "\1\16\2\30\2\uffff\1\105\1\uffff\1\30";
10151 static final String dfa_10s = "\1\123\2\121\3\uffff\1\122\2\uffff\1\121"; 11689 static final String dfa_10s = "\1\106\2\104\2\uffff\1\105\1\uffff\1\104";
10152 static final String dfa_11s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff"; 11690 static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\1\uffff";
10153 static final String dfa_12s = "\12\uffff}>"; 11691 static final String dfa_12s = "\10\uffff}>";
10154 static final String[] dfa_13s = { 11692 static final String[] dfa_13s = {
10155 "\1\4\4\uffff\3\4\10\uffff\1\4\6\uffff\1\4\21\uffff\1\5\14\uffff\1\3\5\uffff\1\4\1\2\4\uffff\1\1\1\4", 11693 "\1\3\1\4\1\uffff\1\4\1\uffff\1\4\3\3\4\uffff\1\3\1\uffff\1\3\16\uffff\1\3\14\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3",
10156 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", 11694 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\5\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3",
10157 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\uffff\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", 11695 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\uffff\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3",
10158 "", 11696 "",
10159 "", 11697 "",
11698 "\1\7",
10160 "", 11699 "",
10161 "\1\11", 11700 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\5\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3"
10162 "",
10163 "",
10164 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10"
10165 }; 11701 };
10166 11702
10167 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); 11703 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
@@ -10172,11 +11708,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10172 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); 11708 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
10173 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); 11709 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
10174 11710
10175 class DFA20 extends DFA { 11711 class DFA23 extends DFA {
10176 11712
10177 public DFA20(BaseRecognizer recognizer) { 11713 public DFA23(BaseRecognizer recognizer) {
10178 this.recognizer = recognizer; 11714 this.recognizer = recognizer;
10179 this.decisionNumber = 20; 11715 this.decisionNumber = 23;
10180 this.eot = dfa_7; 11716 this.eot = dfa_7;
10181 this.eof = dfa_8; 11717 this.eof = dfa_8;
10182 this.min = dfa_9; 11718 this.min = dfa_9;
@@ -10186,60 +11722,104 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10186 this.transition = dfa_13; 11722 this.transition = dfa_13;
10187 } 11723 }
10188 public String getDescription() { 11724 public String getDescription() {
10189 return "1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )"; 11725 return "2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )";
10190 } 11726 }
10191 } 11727 }
10192 static final String dfa_14s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff"; 11728 static final String dfa_14s = "\12\uffff";
10193 static final String dfa_15s = "\1\15\2\55\2\uffff\1\122\1\15\1\uffff\1\55\1\uffff"; 11729 static final String dfa_15s = "\1\uffff\2\10\6\uffff\1\10";
10194 static final String dfa_16s = "\1\123\2\122\2\uffff\1\122\1\123\1\uffff\1\122\1\uffff"; 11730 static final String dfa_16s = "\1\16\2\30\3\uffff\1\105\2\uffff\1\30";
10195 static final String dfa_17s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4"; 11731 static final String dfa_17s = "\1\106\2\104\3\uffff\1\105\2\uffff\1\104";
10196 static final String[] dfa_18s = { 11732 static final String dfa_18s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff";
10197 "\1\3\2\uffff\1\3\3\uffff\4\3\3\uffff\3\3\2\uffff\1\3\5\uffff\2\3\1\uffff\4\3\13\uffff\2\3\1\uffff\1\4\1\3\1\uffff\1\3\7\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3", 11733 static final String dfa_19s = "\12\uffff}>";
10198 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11734 static final String[] dfa_20s = {
10199 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11735 "\1\4\5\uffff\3\4\4\uffff\1\4\1\uffff\1\4\16\uffff\1\5\14\uffff\1\3\5\uffff\1\4\1\2\4\uffff\1\1\1\4",
11736 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10",
11737 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\uffff\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10",
10200 "", 11738 "",
10201 "", 11739 "",
10202 "\1\10",
10203 "\1\3\2\uffff\1\3\3\uffff\4\3\3\uffff\3\3\2\uffff\1\3\5\uffff\2\3\1\uffff\4\3\13\uffff\2\3\1\11\1\uffff\1\3\1\11\1\3\7\uffff\1\3\5\uffff\2\3\4\uffff\2\3",
10204 "", 11740 "",
10205 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11741 "\1\11",
10206 "" 11742 "",
11743 "",
11744 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10"
10207 }; 11745 };
11746
10208 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); 11747 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s);
10209 static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); 11748 static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s);
10210 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); 11749 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s);
10211 static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); 11750 static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s);
10212 static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); 11751 static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
11752 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
11753 static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s);
10213 11754
10214 class DFA24 extends DFA { 11755 class DFA29 extends DFA {
10215 11756
10216 public DFA24(BaseRecognizer recognizer) { 11757 public DFA29(BaseRecognizer recognizer) {
10217 this.recognizer = recognizer; 11758 this.recognizer = recognizer;
10218 this.decisionNumber = 24; 11759 this.decisionNumber = 29;
10219 this.eot = dfa_7; 11760 this.eot = dfa_14;
10220 this.eof = dfa_14; 11761 this.eof = dfa_15;
10221 this.min = dfa_15; 11762 this.min = dfa_16;
10222 this.max = dfa_16; 11763 this.max = dfa_17;
10223 this.accept = dfa_17; 11764 this.accept = dfa_18;
10224 this.special = dfa_12; 11765 this.special = dfa_19;
10225 this.transition = dfa_18; 11766 this.transition = dfa_20;
10226 } 11767 }
10227 public String getDescription() { 11768 public String getDescription() {
10228 return "1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; 11769 return "2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )";
10229 } 11770 }
10230 } 11771 }
10231 static final String dfa_19s = "\17\uffff"; 11772 static final String dfa_21s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff";
10232 static final String dfa_20s = "\12\uffff\2\10\2\uffff\1\10"; 11773 static final String dfa_22s = "\1\13\2\40\2\uffff\1\105\1\13\1\uffff\1\40\1\uffff";
10233 static final String dfa_21s = "\1\30\1\115\3\61\1\115\1\uffff\1\122\2\uffff\3\61\1\122\1\61"; 11774 static final String dfa_23s = "\1\106\2\105\2\uffff\1\105\1\106\1\uffff\1\105\1\uffff";
10234 static final String dfa_22s = "\1\30\1\123\1\63\1\77\1\63\1\122\1\uffff\1\122\2\uffff\2\121\1\77\1\122\1\121"; 11775 static final String dfa_24s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4";
10235 static final String dfa_23s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff";
10236 static final String dfa_24s = "\17\uffff}>";
10237 static final String[] dfa_25s = { 11776 static final String[] dfa_25s = {
11777 "\1\3\2\uffff\2\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\1\uffff\1\4\1\3\1\uffff\1\3\7\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3",
11778 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11779 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11780 "",
11781 "",
11782 "\1\10",
11783 "\1\3\2\uffff\2\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\1\11\1\uffff\1\3\1\11\1\3\7\uffff\1\3\5\uffff\2\3\4\uffff\2\3",
11784 "",
11785 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11786 ""
11787 };
11788 static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
11789 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s);
11790 static final char[] dfa_23 = DFA.unpackEncodedStringToUnsignedChars(dfa_23s);
11791 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s);
11792 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s);
11793
11794 class DFA33 extends DFA {
11795
11796 public DFA33(BaseRecognizer recognizer) {
11797 this.recognizer = recognizer;
11798 this.decisionNumber = 33;
11799 this.eot = dfa_14;
11800 this.eof = dfa_21;
11801 this.min = dfa_22;
11802 this.max = dfa_23;
11803 this.accept = dfa_24;
11804 this.special = dfa_19;
11805 this.transition = dfa_25;
11806 }
11807 public String getDescription() {
11808 return "2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )";
11809 }
11810 }
11811 static final String dfa_26s = "\17\uffff";
11812 static final String dfa_27s = "\12\uffff\2\10\2\uffff\1\10";
11813 static final String dfa_28s = "\1\27\1\100\3\44\1\100\1\uffff\1\105\2\uffff\3\44\1\105\1\44";
11814 static final String dfa_29s = "\1\27\1\106\1\47\1\62\1\47\1\105\1\uffff\1\105\2\uffff\2\104\1\62\1\105\1\104";
11815 static final String dfa_30s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff";
11816 static final String dfa_31s = "\17\uffff}>";
11817 static final String[] dfa_32s = {
10238 "\1\1", 11818 "\1\1",
10239 "\1\4\4\uffff\1\3\1\2", 11819 "\1\4\4\uffff\1\3\1\2",
10240 "\1\5\1\uffff\1\6", 11820 "\1\5\2\uffff\1\6",
10241 "\1\6\1\11\1\10\13\uffff\1\7", 11821 "\1\6\1\11\1\uffff\1\10\12\uffff\1\7",
10242 "\1\6\1\11\1\10", 11822 "\1\6\1\11\1\uffff\1\10",
10243 "\1\13\4\uffff\1\12", 11823 "\1\13\4\uffff\1\12",
10244 "", 11824 "",
10245 "\1\14", 11825 "\1\14",
@@ -10247,88 +11827,96 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10247 "", 11827 "",
10248 "\1\6\15\uffff\1\15\21\uffff\1\10", 11828 "\1\6\15\uffff\1\15\21\uffff\1\10",
10249 "\1\6\37\uffff\1\10", 11829 "\1\6\37\uffff\1\10",
10250 "\1\6\1\11\1\10\13\uffff\1\7", 11830 "\1\6\1\11\1\uffff\1\10\12\uffff\1\7",
10251 "\1\16", 11831 "\1\16",
10252 "\1\6\15\uffff\1\15\21\uffff\1\10" 11832 "\1\6\15\uffff\1\15\21\uffff\1\10"
10253 }; 11833 };
10254 11834
10255 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); 11835 static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s);
10256 static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); 11836 static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s);
10257 static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); 11837 static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s);
10258 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); 11838 static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s);
10259 static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); 11839 static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s);
10260 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); 11840 static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
10261 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); 11841 static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s);
10262 11842
10263 class DFA35 extends DFA { 11843 class DFA44 extends DFA {
10264 11844
10265 public DFA35(BaseRecognizer recognizer) { 11845 public DFA44(BaseRecognizer recognizer) {
10266 this.recognizer = recognizer; 11846 this.recognizer = recognizer;
10267 this.decisionNumber = 35; 11847 this.decisionNumber = 44;
10268 this.eot = dfa_19; 11848 this.eot = dfa_26;
10269 this.eof = dfa_20; 11849 this.eof = dfa_27;
10270 this.min = dfa_21; 11850 this.min = dfa_28;
10271 this.max = dfa_22; 11851 this.max = dfa_29;
10272 this.accept = dfa_23; 11852 this.accept = dfa_30;
10273 this.special = dfa_24; 11853 this.special = dfa_31;
10274 this.transition = dfa_25; 11854 this.transition = dfa_32;
10275 } 11855 }
10276 public String getDescription() { 11856 public String getDescription() {
10277 return "2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; 11857 return "3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )";
10278 } 11858 }
10279 } 11859 }
10280 11860
10281 11861
10282 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 11862 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
10283 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 11863 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
10284 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x53401FC179FD6362L,0x00000000000C3040L}); 11864 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x82029A00EAFFDB32L,0x0000000000000061L});
10285 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); 11865 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
10286 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0001000000000002L,0x0000000000000012L}); 11866 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0090000800000002L});
10287 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x53401EC138F12000L,0x00000000000C3040L}); 11867 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x82029A00EA7AC800L,0x0000000000000061L});
10288 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000400000L,0x0000000000042000L}); 11868 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000021L});
10289 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000042000L}); 11869 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000021L});
10290 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000020L,0x0000000000042000L}); 11870 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000021L});
10291 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0001000000000000L}); 11871 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000800000000L});
10292 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0200000000000000L}); 11872 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000100000000000L});
10293 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); 11873 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0010000000000000L});
10294 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); 11874 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0080000000000000L});
10295 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000010040000000L}); 11875 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x1000000000000000L});
10296 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000080000000L}); 11876 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000000L});
10297 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000004000000L}); 11877 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x4000000000000000L});
10298 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000400000000002L,0x0000000000000004L}); 11878 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000080L});
10299 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L}); 11879 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000002000L});
10300 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000400000000000L}); 11880 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0001000000000002L});
10301 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x2000000000000002L}); 11881 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
10302 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x008E200000000002L,0x0000000000000028L}); 11882 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004000000L});
10303 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x5000000000000002L}); 11883 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000001000000L});
10304 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0800000000000002L,0x0000000000000001L}); 11884 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0001040000000000L});
10305 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L}); 11885 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000004000000002L});
10306 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x02001AC130F10000L,0x00000000000C3040L}); 11886 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0020000200000002L});
10307 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); 11887 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0020000000000002L});
10308 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); 11888 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000200000000L});
10309 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); 11889 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x014004B100000002L});
10310 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0400000000000000L}); 11890 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0002800000000002L});
10311 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0200000000000000L,0x0000000000018000L}); 11891 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0008400000000002L});
10312 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x5F401EC138F12000L,0x00000000000C3040L}); 11892 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0800000000000002L});
10313 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x2400000000000000L}); 11893 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000002L});
10314 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x5B401EC138F12000L,0x00000000000C3040L}); 11894 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x82001000287AC000L,0x0000000000000061L});
10315 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0800000000000000L}); 11895 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000021L});
10316 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000800000000000L}); 11896 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0401000000000000L});
10317 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); 11897 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x1200000000000000L});
10318 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000080000L}); 11898 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x6000000000000000L});
10319 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); 11899 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000200000000000L});
10320 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000200L}); 11900 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000100000000000L,0x000000000000000CL});
10321 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L}); 11901 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x8202FA00EA7AC800L,0x0000000000000061L});
10322 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000080L,0x0000000000042800L}); 11902 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0001200000000000L});
10323 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040040L}); 11903 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x8202DA00EA7AC800L,0x0000000000000061L});
10324 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000402L,0x0000000000000004L}); 11904 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000400000000000L});
10325 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0800000000000000L,0x0000000000080000L}); 11905 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000400000000L});
10326 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); 11906 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000000L});
10327 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0004000000000000L}); 11907 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000040000L});
10328 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C2000L}); 11908 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x1000000000002000L});
10329 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0002000000000000L}); 11909 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x1001000000000000L});
10330 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0008000000000000L}); 11910 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x4000000000000040L,0x0000000000000021L});
10331 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0008000000000002L}); 11911 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000020L});
10332 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8000000000000002L}); 11912 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0020000000000402L});
11913 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000040L});
11914 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
11915 public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000002000000000L});
11916 public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000061L});
11917 public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000001000000000L});
11918 public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000008000000000L});
11919 public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000008000000002L});
11920 public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0004000000000002L});
10333 11921
10334} \ No newline at end of file 11922} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
index 81343db5..736b2f0a 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
@@ -1,83 +1,70 @@
1'!'=56 1'!'=43
2'!='=45 2'!='=32
3'('=57 3'('=44
4')'=58 4')'=45
5'*'=59 5'*'=46
6'+'=60 6'+'=47
7','=61 7','=48
8'-'=62 8'-'=49
9'->'=46 9'->'=33
10'.'=63 10'.'=50
11'..'=47 11'..'=34
12'/'=64 12'...'=28
13':'=65 13'/'=51
14':-'=48 14':'=52
15';'=66 15':-'=35
16'<'=67 16';'=53
17'<='=49 17'<'=54
18'='=68 18'<='=36
19'=='=50 19'='=55
20'>'=69 20'=='=37
21'>='=51 21'=>'=38
22'ADD'=33 22'>'=56
23'DIV'=34 23'>='=39
24'EQ'=52 24'['=57
25'GREATER'=11 25']'=58
26'GREATER_EQ'=4 26'^'=59
27'IN'=53 27'abstract'=5
28'LESS'=25 28'as'=40
29'LESS_EQ'=12 29'class'=18
30'MUL'=35 30'contains'=6
31'NOT_EQ'=17 31'count'=19
32'POW'=36 32'current'=11
33'SUB'=37 33'datatype'=7
34'['=70 34'default'=12
35']'=71 35'else'=24
36'^'=72 36'empty'=20
37'abstract'=6 37'error'=21
38'avg'=38 38'exists'=15
39'class'=19 39'extends'=13
40'contains'=7 40'extern'=16
41'count'=20 41'false'=22
42'current'=13 42'forall'=17
43'default'=14 43'functional'=4
44'else'=26 44'if'=41
45'empty'=21 45'in'=42
46'error'=22 46'inf'=29
47'extends'=15 47'let'=30
48'extern'=18
49'false'=23
50'functional'=5
51'if'=54
52'in'=55
53'inf'=39
54'int'=40
55'max'=41
56'maximize'=8 48'maximize'=8
57'may'=42 49'may'=31
58'min'=43
59'minimize'=9 50'minimize'=9
60'must'=27 51'must'=25
61'only'=28
62'opposite'=10 52'opposite'=10
63'prod'=29 53'scope'=23
64'real'=30 54'then'=26
65'scope'=24 55'true'=27
66'sum'=44 56'unknown'=14
67'then'=31 57'{'=60
68'true'=32 58'|'=61
69'unknown'=16 59'}'=62
70'{'=73 60RULE_ANY_OTHER=73
71'|'=74 61RULE_FULL_STOP=68
72'}'=75 62RULE_ID=69
73RULE_ANY_OTHER=86 63RULE_INT=70
74RULE_FULL_STOP=81 64RULE_ML_COMMENT=71
75RULE_ID=82 65RULE_QUOTED_ID=64
76RULE_INT=83 66RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67
77RULE_ML_COMMENT=84 67RULE_SL_COMMENT=65
78RULE_QUOTED_ID=77 68RULE_STRING=63
79RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 69RULE_TRANSITIVE_CLOSURE=66
80RULE_SL_COMMENT=78 70RULE_WS=72
81RULE_STRING=76
82RULE_TRANSITIVE_CLOSURE=79
83RULE_WS=85
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
index 1a29e53b..3c496e8a 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
@@ -11,24 +11,20 @@ package org.eclipse.viatra.solver.language.parser.antlr.lexer;
11import org.eclipse.xtext.parser.antlr.Lexer; 11import org.eclipse.xtext.parser.antlr.Lexer;
12} 12}
13 13
14GREATER_EQ : 'GREATER_EQ';
15
16Functional : 'functional'; 14Functional : 'functional';
17 15
18Abstract : 'abstract'; 16Abstract : 'abstract';
19 17
20Contains : 'contains'; 18Contains : 'contains';
21 19
20Datatype : 'datatype';
21
22Maximize : 'maximize'; 22Maximize : 'maximize';
23 23
24Minimize : 'minimize'; 24Minimize : 'minimize';
25 25
26Opposite : 'opposite'; 26Opposite : 'opposite';
27 27
28GREATER : 'GREATER';
29
30LESS_EQ : 'LESS_EQ';
31
32Current : 'current'; 28Current : 'current';
33 29
34Default : 'default'; 30Default : 'default';
@@ -37,10 +33,12 @@ Extends : 'extends';
37 33
38Unknown : 'unknown'; 34Unknown : 'unknown';
39 35
40NOT_EQ : 'NOT_EQ'; 36Exists : 'exists';
41 37
42Extern : 'extern'; 38Extern : 'extern';
43 39
40Forall : 'forall';
41
44Class : 'class'; 42Class : 'class';
45 43
46Count : 'count'; 44Count : 'count';
@@ -53,46 +51,22 @@ False : 'false';
53 51
54Scope : 'scope'; 52Scope : 'scope';
55 53
56LESS : 'LESS';
57
58Else : 'else'; 54Else : 'else';
59 55
60Must : 'must'; 56Must : 'must';
61 57
62Only : 'only';
63
64Prod : 'prod';
65
66Real : 'real';
67
68Then : 'then'; 58Then : 'then';
69 59
70True : 'true'; 60True : 'true';
71 61
72ADD : 'ADD'; 62FullStopFullStopFullStop : '...';
73
74DIV : 'DIV';
75
76MUL : 'MUL';
77
78POW : 'POW';
79
80SUB : 'SUB';
81
82Avg : 'avg';
83 63
84Inf : 'inf'; 64Inf : 'inf';
85 65
86Int : 'int'; 66Let : 'let';
87
88Max : 'max';
89 67
90May : 'may'; 68May : 'may';
91 69
92Min : 'min';
93
94Sum : 'sum';
95
96ExclamationMarkEqualsSign : '!='; 70ExclamationMarkEqualsSign : '!=';
97 71
98HyphenMinusGreaterThanSign : '->'; 72HyphenMinusGreaterThanSign : '->';
@@ -105,11 +79,11 @@ LessThanSignEqualsSign : '<=';
105 79
106EqualsSignEqualsSign : '=='; 80EqualsSignEqualsSign : '==';
107 81
108GreaterThanSignEqualsSign : '>='; 82EqualsSignGreaterThanSign : '=>';
109 83
110EQ : 'EQ'; 84GreaterThanSignEqualsSign : '>=';
111 85
112IN : 'IN'; 86As : 'as';
113 87
114If : 'if'; 88If : 'if';
115 89
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
index b46f86fc..b113baaf 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
@@ -12,90 +12,77 @@ import java.util.ArrayList;
12 12
13@SuppressWarnings("all") 13@SuppressWarnings("all")
14public class InternalSolverLanguageLexer extends Lexer { 14public class InternalSolverLanguageLexer extends Lexer {
15 public static final int ADD=33; 15 public static final int EqualsSignGreaterThanSign=38;
16 public static final int True=32; 16 public static final int True=27;
17 public static final int GREATER_EQ=4; 17 public static final int Count=19;
18 public static final int Count=20; 18 public static final int False=22;
19 public static final int False=23; 19 public static final int Must=25;
20 public static final int Must=27; 20 public static final int FullStopFullStopFullStop=28;
21 public static final int LessThanSign=67; 21 public static final int LessThanSign=54;
22 public static final int LeftParenthesis=57; 22 public static final int Datatype=7;
23 public static final int Unknown=16; 23 public static final int LeftParenthesis=44;
24 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; 24 public static final int Unknown=14;
25 public static final int FullStopFullStop=47; 25 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67;
26 public static final int Real=30; 26 public static final int FullStopFullStop=34;
27 public static final int Then=31; 27 public static final int Then=26;
28 public static final int Extends=15; 28 public static final int Extends=13;
29 public static final int RightSquareBracket=71; 29 public static final int Forall=17;
30 public static final int ExclamationMark=56; 30 public static final int RightSquareBracket=58;
31 public static final int ExclamationMark=43;
31 public static final int Opposite=10; 32 public static final int Opposite=10;
32 public static final int SUB=37; 33 public static final int GreaterThanSign=56;
33 public static final int GreaterThanSign=69; 34 public static final int RULE_ID=69;
34 public static final int NOT_EQ=17; 35 public static final int RULE_QUOTED_ID=64;
35 public static final int RULE_ID=82; 36 public static final int RightParenthesis=45;
36 public static final int MUL=35; 37 public static final int GreaterThanSignEqualsSign=39;
37 public static final int IN=53; 38 public static final int Functional=4;
38 public static final int RULE_QUOTED_ID=77; 39 public static final int EqualsSignEqualsSign=37;
39 public static final int RightParenthesis=58; 40 public static final int VerticalLine=61;
40 public static final int Sum=44; 41 public static final int PlusSign=47;
41 public static final int EQ=52; 42 public static final int RULE_INT=70;
42 public static final int GreaterThanSignEqualsSign=51; 43 public static final int Contains=6;
43 public static final int Functional=5; 44 public static final int RULE_ML_COMMENT=71;
44 public static final int EqualsSignEqualsSign=50; 45 public static final int RULE_TRANSITIVE_CLOSURE=66;
45 public static final int Avg=38; 46 public static final int Class=18;
46 public static final int Min=43; 47 public static final int LeftSquareBracket=57;
47 public static final int VerticalLine=74; 48 public static final int RULE_FULL_STOP=68;
48 public static final int PlusSign=60; 49 public static final int Current=11;
49 public static final int RULE_INT=83; 50 public static final int If=41;
50 public static final int Contains=7; 51 public static final int Inf=29;
51 public static final int RULE_ML_COMMENT=84; 52 public static final int May=31;
52 public static final int POW=36; 53 public static final int In=42;
53 public static final int RULE_TRANSITIVE_CLOSURE=79; 54 public static final int RULE_STRING=63;
54 public static final int Class=19; 55 public static final int Extern=16;
55 public static final int LESS=25; 56 public static final int RULE_SL_COMMENT=65;
56 public static final int LeftSquareBracket=70; 57 public static final int Comma=48;
57 public static final int RULE_FULL_STOP=81; 58 public static final int EqualsSign=55;
58 public static final int Current=13; 59 public static final int Empty=20;
59 public static final int If=54; 60 public static final int As=40;
60 public static final int Inf=39; 61 public static final int HyphenMinus=49;
61 public static final int LESS_EQ=12;
62 public static final int May=42;
63 public static final int Max=41;
64 public static final int In=55;
65 public static final int RULE_STRING=76;
66 public static final int Int=40;
67 public static final int Extern=18;
68 public static final int RULE_SL_COMMENT=78;
69 public static final int Prod=29;
70 public static final int Comma=61;
71 public static final int EqualsSign=68;
72 public static final int Empty=21;
73 public static final int HyphenMinus=62;
74 public static final int Maximize=8; 62 public static final int Maximize=8;
75 public static final int LessThanSignEqualsSign=49; 63 public static final int LessThanSignEqualsSign=36;
76 public static final int Solidus=64; 64 public static final int Solidus=51;
77 public static final int Colon=65; 65 public static final int Colon=52;
78 public static final int RightCurlyBracket=75; 66 public static final int RightCurlyBracket=62;
79 public static final int EOF=-1; 67 public static final int EOF=-1;
80 public static final int Asterisk=59; 68 public static final int Asterisk=46;
81 public static final int FullStop=63; 69 public static final int FullStop=50;
82 public static final int RULE_WS=85; 70 public static final int RULE_WS=72;
83 public static final int Abstract=6; 71 public static final int Abstract=5;
84 public static final int Minimize=9; 72 public static final int Minimize=9;
85 public static final int GREATER=11; 73 public static final int LeftCurlyBracket=60;
86 public static final int LeftCurlyBracket=73; 74 public static final int Error=21;
87 public static final int Error=22; 75 public static final int RULE_ANY_OTHER=73;
88 public static final int Only=28; 76 public static final int Default=12;
89 public static final int RULE_ANY_OTHER=86; 77 public static final int ColonHyphenMinus=35;
90 public static final int Default=14; 78 public static final int CircumflexAccent=59;
91 public static final int ColonHyphenMinus=48; 79 public static final int Semicolon=53;
92 public static final int CircumflexAccent=72; 80 public static final int Scope=23;
93 public static final int DIV=34; 81 public static final int Exists=15;
94 public static final int Semicolon=66; 82 public static final int Else=24;
95 public static final int Scope=24; 83 public static final int Let=30;
96 public static final int Else=26; 84 public static final int ExclamationMarkEqualsSign=32;
97 public static final int ExclamationMarkEqualsSign=45; 85 public static final int HyphenMinusGreaterThanSign=33;
98 public static final int HyphenMinusGreaterThanSign=46;
99 86
100 // delegates 87 // delegates
101 // delegators 88 // delegators
@@ -110,34 +97,13 @@ public class InternalSolverLanguageLexer extends Lexer {
110 } 97 }
111 public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; } 98 public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; }
112 99
113 // $ANTLR start "GREATER_EQ"
114 public final void mGREATER_EQ() throws RecognitionException {
115 try {
116 int _type = GREATER_EQ;
117 int _channel = DEFAULT_TOKEN_CHANNEL;
118 // InternalSolverLanguageLexer.g:14:12: ( 'GREATER_EQ' )
119 // InternalSolverLanguageLexer.g:14:14: 'GREATER_EQ'
120 {
121 match("GREATER_EQ");
122
123
124 }
125
126 state.type = _type;
127 state.channel = _channel;
128 }
129 finally {
130 }
131 }
132 // $ANTLR end "GREATER_EQ"
133
134 // $ANTLR start "Functional" 100 // $ANTLR start "Functional"
135 public final void mFunctional() throws RecognitionException { 101 public final void mFunctional() throws RecognitionException {
136 try { 102 try {
137 int _type = Functional; 103 int _type = Functional;
138 int _channel = DEFAULT_TOKEN_CHANNEL; 104 int _channel = DEFAULT_TOKEN_CHANNEL;
139 // InternalSolverLanguageLexer.g:16:12: ( 'functional' ) 105 // InternalSolverLanguageLexer.g:14:12: ( 'functional' )
140 // InternalSolverLanguageLexer.g:16:14: 'functional' 106 // InternalSolverLanguageLexer.g:14:14: 'functional'
141 { 107 {
142 match("functional"); 108 match("functional");
143 109
@@ -157,8 +123,8 @@ public class InternalSolverLanguageLexer extends Lexer {
157 try { 123 try {
158 int _type = Abstract; 124 int _type = Abstract;
159 int _channel = DEFAULT_TOKEN_CHANNEL; 125 int _channel = DEFAULT_TOKEN_CHANNEL;
160 // InternalSolverLanguageLexer.g:18:10: ( 'abstract' ) 126 // InternalSolverLanguageLexer.g:16:10: ( 'abstract' )
161 // InternalSolverLanguageLexer.g:18:12: 'abstract' 127 // InternalSolverLanguageLexer.g:16:12: 'abstract'
162 { 128 {
163 match("abstract"); 129 match("abstract");
164 130
@@ -178,8 +144,8 @@ public class InternalSolverLanguageLexer extends Lexer {
178 try { 144 try {
179 int _type = Contains; 145 int _type = Contains;
180 int _channel = DEFAULT_TOKEN_CHANNEL; 146 int _channel = DEFAULT_TOKEN_CHANNEL;
181 // InternalSolverLanguageLexer.g:20:10: ( 'contains' ) 147 // InternalSolverLanguageLexer.g:18:10: ( 'contains' )
182 // InternalSolverLanguageLexer.g:20:12: 'contains' 148 // InternalSolverLanguageLexer.g:18:12: 'contains'
183 { 149 {
184 match("contains"); 150 match("contains");
185 151
@@ -194,6 +160,27 @@ public class InternalSolverLanguageLexer extends Lexer {
194 } 160 }
195 // $ANTLR end "Contains" 161 // $ANTLR end "Contains"
196 162
163 // $ANTLR start "Datatype"
164 public final void mDatatype() throws RecognitionException {
165 try {
166 int _type = Datatype;
167 int _channel = DEFAULT_TOKEN_CHANNEL;
168 // InternalSolverLanguageLexer.g:20:10: ( 'datatype' )
169 // InternalSolverLanguageLexer.g:20:12: 'datatype'
170 {
171 match("datatype");
172
173
174 }
175
176 state.type = _type;
177 state.channel = _channel;
178 }
179 finally {
180 }
181 }
182 // $ANTLR end "Datatype"
183
197 // $ANTLR start "Maximize" 184 // $ANTLR start "Maximize"
198 public final void mMaximize() throws RecognitionException { 185 public final void mMaximize() throws RecognitionException {
199 try { 186 try {
@@ -257,55 +244,13 @@ public class InternalSolverLanguageLexer extends Lexer {
257 } 244 }
258 // $ANTLR end "Opposite" 245 // $ANTLR end "Opposite"
259 246
260 // $ANTLR start "GREATER"
261 public final void mGREATER() throws RecognitionException {
262 try {
263 int _type = GREATER;
264 int _channel = DEFAULT_TOKEN_CHANNEL;
265 // InternalSolverLanguageLexer.g:28:9: ( 'GREATER' )
266 // InternalSolverLanguageLexer.g:28:11: 'GREATER'
267 {
268 match("GREATER");
269
270
271 }
272
273 state.type = _type;
274 state.channel = _channel;
275 }
276 finally {
277 }
278 }
279 // $ANTLR end "GREATER"
280
281 // $ANTLR start "LESS_EQ"
282 public final void mLESS_EQ() throws RecognitionException {
283 try {
284 int _type = LESS_EQ;
285 int _channel = DEFAULT_TOKEN_CHANNEL;
286 // InternalSolverLanguageLexer.g:30:9: ( 'LESS_EQ' )
287 // InternalSolverLanguageLexer.g:30:11: 'LESS_EQ'
288 {
289 match("LESS_EQ");
290
291
292 }
293
294 state.type = _type;
295 state.channel = _channel;
296 }
297 finally {
298 }
299 }
300 // $ANTLR end "LESS_EQ"
301
302 // $ANTLR start "Current" 247 // $ANTLR start "Current"
303 public final void mCurrent() throws RecognitionException { 248 public final void mCurrent() throws RecognitionException {
304 try { 249 try {
305 int _type = Current; 250 int _type = Current;
306 int _channel = DEFAULT_TOKEN_CHANNEL; 251 int _channel = DEFAULT_TOKEN_CHANNEL;
307 // InternalSolverLanguageLexer.g:32:9: ( 'current' ) 252 // InternalSolverLanguageLexer.g:28:9: ( 'current' )
308 // InternalSolverLanguageLexer.g:32:11: 'current' 253 // InternalSolverLanguageLexer.g:28:11: 'current'
309 { 254 {
310 match("current"); 255 match("current");
311 256
@@ -325,8 +270,8 @@ public class InternalSolverLanguageLexer extends Lexer {
325 try { 270 try {
326 int _type = Default; 271 int _type = Default;
327 int _channel = DEFAULT_TOKEN_CHANNEL; 272 int _channel = DEFAULT_TOKEN_CHANNEL;
328 // InternalSolverLanguageLexer.g:34:9: ( 'default' ) 273 // InternalSolverLanguageLexer.g:30:9: ( 'default' )
329 // InternalSolverLanguageLexer.g:34:11: 'default' 274 // InternalSolverLanguageLexer.g:30:11: 'default'
330 { 275 {
331 match("default"); 276 match("default");
332 277
@@ -346,8 +291,8 @@ public class InternalSolverLanguageLexer extends Lexer {
346 try { 291 try {
347 int _type = Extends; 292 int _type = Extends;
348 int _channel = DEFAULT_TOKEN_CHANNEL; 293 int _channel = DEFAULT_TOKEN_CHANNEL;
349 // InternalSolverLanguageLexer.g:36:9: ( 'extends' ) 294 // InternalSolverLanguageLexer.g:32:9: ( 'extends' )
350 // InternalSolverLanguageLexer.g:36:11: 'extends' 295 // InternalSolverLanguageLexer.g:32:11: 'extends'
351 { 296 {
352 match("extends"); 297 match("extends");
353 298
@@ -367,8 +312,8 @@ public class InternalSolverLanguageLexer extends Lexer {
367 try { 312 try {
368 int _type = Unknown; 313 int _type = Unknown;
369 int _channel = DEFAULT_TOKEN_CHANNEL; 314 int _channel = DEFAULT_TOKEN_CHANNEL;
370 // InternalSolverLanguageLexer.g:38:9: ( 'unknown' ) 315 // InternalSolverLanguageLexer.g:34:9: ( 'unknown' )
371 // InternalSolverLanguageLexer.g:38:11: 'unknown' 316 // InternalSolverLanguageLexer.g:34:11: 'unknown'
372 { 317 {
373 match("unknown"); 318 match("unknown");
374 319
@@ -383,15 +328,15 @@ public class InternalSolverLanguageLexer extends Lexer {
383 } 328 }
384 // $ANTLR end "Unknown" 329 // $ANTLR end "Unknown"
385 330
386 // $ANTLR start "NOT_EQ" 331 // $ANTLR start "Exists"
387 public final void mNOT_EQ() throws RecognitionException { 332 public final void mExists() throws RecognitionException {
388 try { 333 try {
389 int _type = NOT_EQ; 334 int _type = Exists;
390 int _channel = DEFAULT_TOKEN_CHANNEL; 335 int _channel = DEFAULT_TOKEN_CHANNEL;
391 // InternalSolverLanguageLexer.g:40:8: ( 'NOT_EQ' ) 336 // InternalSolverLanguageLexer.g:36:8: ( 'exists' )
392 // InternalSolverLanguageLexer.g:40:10: 'NOT_EQ' 337 // InternalSolverLanguageLexer.g:36:10: 'exists'
393 { 338 {
394 match("NOT_EQ"); 339 match("exists");
395 340
396 341
397 } 342 }
@@ -402,15 +347,15 @@ public class InternalSolverLanguageLexer extends Lexer {
402 finally { 347 finally {
403 } 348 }
404 } 349 }
405 // $ANTLR end "NOT_EQ" 350 // $ANTLR end "Exists"
406 351
407 // $ANTLR start "Extern" 352 // $ANTLR start "Extern"
408 public final void mExtern() throws RecognitionException { 353 public final void mExtern() throws RecognitionException {
409 try { 354 try {
410 int _type = Extern; 355 int _type = Extern;
411 int _channel = DEFAULT_TOKEN_CHANNEL; 356 int _channel = DEFAULT_TOKEN_CHANNEL;
412 // InternalSolverLanguageLexer.g:42:8: ( 'extern' ) 357 // InternalSolverLanguageLexer.g:38:8: ( 'extern' )
413 // InternalSolverLanguageLexer.g:42:10: 'extern' 358 // InternalSolverLanguageLexer.g:38:10: 'extern'
414 { 359 {
415 match("extern"); 360 match("extern");
416 361
@@ -425,13 +370,34 @@ public class InternalSolverLanguageLexer extends Lexer {
425 } 370 }
426 // $ANTLR end "Extern" 371 // $ANTLR end "Extern"
427 372
373 // $ANTLR start "Forall"
374 public final void mForall() throws RecognitionException {
375 try {
376 int _type = Forall;
377 int _channel = DEFAULT_TOKEN_CHANNEL;
378 // InternalSolverLanguageLexer.g:40:8: ( 'forall' )
379 // InternalSolverLanguageLexer.g:40:10: 'forall'
380 {
381 match("forall");
382
383
384 }
385
386 state.type = _type;
387 state.channel = _channel;
388 }
389 finally {
390 }
391 }
392 // $ANTLR end "Forall"
393
428 // $ANTLR start "Class" 394 // $ANTLR start "Class"
429 public final void mClass() throws RecognitionException { 395 public final void mClass() throws RecognitionException {
430 try { 396 try {
431 int _type = Class; 397 int _type = Class;
432 int _channel = DEFAULT_TOKEN_CHANNEL; 398 int _channel = DEFAULT_TOKEN_CHANNEL;
433 // InternalSolverLanguageLexer.g:44:7: ( 'class' ) 399 // InternalSolverLanguageLexer.g:42:7: ( 'class' )
434 // InternalSolverLanguageLexer.g:44:9: 'class' 400 // InternalSolverLanguageLexer.g:42:9: 'class'
435 { 401 {
436 match("class"); 402 match("class");
437 403
@@ -451,8 +417,8 @@ public class InternalSolverLanguageLexer extends Lexer {
451 try { 417 try {
452 int _type = Count; 418 int _type = Count;
453 int _channel = DEFAULT_TOKEN_CHANNEL; 419 int _channel = DEFAULT_TOKEN_CHANNEL;
454 // InternalSolverLanguageLexer.g:46:7: ( 'count' ) 420 // InternalSolverLanguageLexer.g:44:7: ( 'count' )
455 // InternalSolverLanguageLexer.g:46:9: 'count' 421 // InternalSolverLanguageLexer.g:44:9: 'count'
456 { 422 {
457 match("count"); 423 match("count");
458 424
@@ -472,8 +438,8 @@ public class InternalSolverLanguageLexer extends Lexer {
472 try { 438 try {
473 int _type = Empty; 439 int _type = Empty;
474 int _channel = DEFAULT_TOKEN_CHANNEL; 440 int _channel = DEFAULT_TOKEN_CHANNEL;
475 // InternalSolverLanguageLexer.g:48:7: ( 'empty' ) 441 // InternalSolverLanguageLexer.g:46:7: ( 'empty' )
476 // InternalSolverLanguageLexer.g:48:9: 'empty' 442 // InternalSolverLanguageLexer.g:46:9: 'empty'
477 { 443 {
478 match("empty"); 444 match("empty");
479 445
@@ -493,8 +459,8 @@ public class InternalSolverLanguageLexer extends Lexer {
493 try { 459 try {
494 int _type = Error; 460 int _type = Error;
495 int _channel = DEFAULT_TOKEN_CHANNEL; 461 int _channel = DEFAULT_TOKEN_CHANNEL;
496 // InternalSolverLanguageLexer.g:50:7: ( 'error' ) 462 // InternalSolverLanguageLexer.g:48:7: ( 'error' )
497 // InternalSolverLanguageLexer.g:50:9: 'error' 463 // InternalSolverLanguageLexer.g:48:9: 'error'
498 { 464 {
499 match("error"); 465 match("error");
500 466
@@ -514,8 +480,8 @@ public class InternalSolverLanguageLexer extends Lexer {
514 try { 480 try {
515 int _type = False; 481 int _type = False;
516 int _channel = DEFAULT_TOKEN_CHANNEL; 482 int _channel = DEFAULT_TOKEN_CHANNEL;
517 // InternalSolverLanguageLexer.g:52:7: ( 'false' ) 483 // InternalSolverLanguageLexer.g:50:7: ( 'false' )
518 // InternalSolverLanguageLexer.g:52:9: 'false' 484 // InternalSolverLanguageLexer.g:50:9: 'false'
519 { 485 {
520 match("false"); 486 match("false");
521 487
@@ -535,8 +501,8 @@ public class InternalSolverLanguageLexer extends Lexer {
535 try { 501 try {
536 int _type = Scope; 502 int _type = Scope;
537 int _channel = DEFAULT_TOKEN_CHANNEL; 503 int _channel = DEFAULT_TOKEN_CHANNEL;
538 // InternalSolverLanguageLexer.g:54:7: ( 'scope' ) 504 // InternalSolverLanguageLexer.g:52:7: ( 'scope' )
539 // InternalSolverLanguageLexer.g:54:9: 'scope' 505 // InternalSolverLanguageLexer.g:52:9: 'scope'
540 { 506 {
541 match("scope"); 507 match("scope");
542 508
@@ -551,34 +517,13 @@ public class InternalSolverLanguageLexer extends Lexer {
551 } 517 }
552 // $ANTLR end "Scope" 518 // $ANTLR end "Scope"
553 519
554 // $ANTLR start "LESS"
555 public final void mLESS() throws RecognitionException {
556 try {
557 int _type = LESS;
558 int _channel = DEFAULT_TOKEN_CHANNEL;
559 // InternalSolverLanguageLexer.g:56:6: ( 'LESS' )
560 // InternalSolverLanguageLexer.g:56:8: 'LESS'
561 {
562 match("LESS");
563
564
565 }
566
567 state.type = _type;
568 state.channel = _channel;
569 }
570 finally {
571 }
572 }
573 // $ANTLR end "LESS"
574
575 // $ANTLR start "Else" 520 // $ANTLR start "Else"
576 public final void mElse() throws RecognitionException { 521 public final void mElse() throws RecognitionException {
577 try { 522 try {
578 int _type = Else; 523 int _type = Else;
579 int _channel = DEFAULT_TOKEN_CHANNEL; 524 int _channel = DEFAULT_TOKEN_CHANNEL;
580 // InternalSolverLanguageLexer.g:58:6: ( 'else' ) 525 // InternalSolverLanguageLexer.g:54:6: ( 'else' )
581 // InternalSolverLanguageLexer.g:58:8: 'else' 526 // InternalSolverLanguageLexer.g:54:8: 'else'
582 { 527 {
583 match("else"); 528 match("else");
584 529
@@ -598,8 +543,8 @@ public class InternalSolverLanguageLexer extends Lexer {
598 try { 543 try {
599 int _type = Must; 544 int _type = Must;
600 int _channel = DEFAULT_TOKEN_CHANNEL; 545 int _channel = DEFAULT_TOKEN_CHANNEL;
601 // InternalSolverLanguageLexer.g:60:6: ( 'must' ) 546 // InternalSolverLanguageLexer.g:56:6: ( 'must' )
602 // InternalSolverLanguageLexer.g:60:8: 'must' 547 // InternalSolverLanguageLexer.g:56:8: 'must'
603 { 548 {
604 match("must"); 549 match("must");
605 550
@@ -614,76 +559,13 @@ public class InternalSolverLanguageLexer extends Lexer {
614 } 559 }
615 // $ANTLR end "Must" 560 // $ANTLR end "Must"
616 561
617 // $ANTLR start "Only"
618 public final void mOnly() throws RecognitionException {
619 try {
620 int _type = Only;
621 int _channel = DEFAULT_TOKEN_CHANNEL;
622 // InternalSolverLanguageLexer.g:62:6: ( 'only' )
623 // InternalSolverLanguageLexer.g:62:8: 'only'
624 {
625 match("only");
626
627
628 }
629
630 state.type = _type;
631 state.channel = _channel;
632 }
633 finally {
634 }
635 }
636 // $ANTLR end "Only"
637
638 // $ANTLR start "Prod"
639 public final void mProd() throws RecognitionException {
640 try {
641 int _type = Prod;
642 int _channel = DEFAULT_TOKEN_CHANNEL;
643 // InternalSolverLanguageLexer.g:64:6: ( 'prod' )
644 // InternalSolverLanguageLexer.g:64:8: 'prod'
645 {
646 match("prod");
647
648
649 }
650
651 state.type = _type;
652 state.channel = _channel;
653 }
654 finally {
655 }
656 }
657 // $ANTLR end "Prod"
658
659 // $ANTLR start "Real"
660 public final void mReal() throws RecognitionException {
661 try {
662 int _type = Real;
663 int _channel = DEFAULT_TOKEN_CHANNEL;
664 // InternalSolverLanguageLexer.g:66:6: ( 'real' )
665 // InternalSolverLanguageLexer.g:66:8: 'real'
666 {
667 match("real");
668
669
670 }
671
672 state.type = _type;
673 state.channel = _channel;
674 }
675 finally {
676 }
677 }
678 // $ANTLR end "Real"
679
680 // $ANTLR start "Then" 562 // $ANTLR start "Then"
681 public final void mThen() throws RecognitionException { 563 public final void mThen() throws RecognitionException {
682 try { 564 try {
683 int _type = Then; 565 int _type = Then;
684 int _channel = DEFAULT_TOKEN_CHANNEL; 566 int _channel = DEFAULT_TOKEN_CHANNEL;
685 // InternalSolverLanguageLexer.g:68:6: ( 'then' ) 567 // InternalSolverLanguageLexer.g:58:6: ( 'then' )
686 // InternalSolverLanguageLexer.g:68:8: 'then' 568 // InternalSolverLanguageLexer.g:58:8: 'then'
687 { 569 {
688 match("then"); 570 match("then");
689 571
@@ -703,8 +585,8 @@ public class InternalSolverLanguageLexer extends Lexer {
703 try { 585 try {
704 int _type = True; 586 int _type = True;
705 int _channel = DEFAULT_TOKEN_CHANNEL; 587 int _channel = DEFAULT_TOKEN_CHANNEL;
706 // InternalSolverLanguageLexer.g:70:6: ( 'true' ) 588 // InternalSolverLanguageLexer.g:60:6: ( 'true' )
707 // InternalSolverLanguageLexer.g:70:8: 'true' 589 // InternalSolverLanguageLexer.g:60:8: 'true'
708 { 590 {
709 match("true"); 591 match("true");
710 592
@@ -719,15 +601,15 @@ public class InternalSolverLanguageLexer extends Lexer {
719 } 601 }
720 // $ANTLR end "True" 602 // $ANTLR end "True"
721 603
722 // $ANTLR start "ADD" 604 // $ANTLR start "FullStopFullStopFullStop"
723 public final void mADD() throws RecognitionException { 605 public final void mFullStopFullStopFullStop() throws RecognitionException {
724 try { 606 try {
725 int _type = ADD; 607 int _type = FullStopFullStopFullStop;
726 int _channel = DEFAULT_TOKEN_CHANNEL; 608 int _channel = DEFAULT_TOKEN_CHANNEL;
727 // InternalSolverLanguageLexer.g:72:5: ( 'ADD' ) 609 // InternalSolverLanguageLexer.g:62:26: ( '...' )
728 // InternalSolverLanguageLexer.g:72:7: 'ADD' 610 // InternalSolverLanguageLexer.g:62:28: '...'
729 { 611 {
730 match("ADD"); 612 match("...");
731 613
732 614
733 } 615 }
@@ -738,120 +620,15 @@ public class InternalSolverLanguageLexer extends Lexer {
738 finally { 620 finally {
739 } 621 }
740 } 622 }
741 // $ANTLR end "ADD" 623 // $ANTLR end "FullStopFullStopFullStop"
742
743 // $ANTLR start "DIV"
744 public final void mDIV() throws RecognitionException {
745 try {
746 int _type = DIV;
747 int _channel = DEFAULT_TOKEN_CHANNEL;
748 // InternalSolverLanguageLexer.g:74:5: ( 'DIV' )
749 // InternalSolverLanguageLexer.g:74:7: 'DIV'
750 {
751 match("DIV");
752
753
754 }
755
756 state.type = _type;
757 state.channel = _channel;
758 }
759 finally {
760 }
761 }
762 // $ANTLR end "DIV"
763
764 // $ANTLR start "MUL"
765 public final void mMUL() throws RecognitionException {
766 try {
767 int _type = MUL;
768 int _channel = DEFAULT_TOKEN_CHANNEL;
769 // InternalSolverLanguageLexer.g:76:5: ( 'MUL' )
770 // InternalSolverLanguageLexer.g:76:7: 'MUL'
771 {
772 match("MUL");
773
774
775 }
776
777 state.type = _type;
778 state.channel = _channel;
779 }
780 finally {
781 }
782 }
783 // $ANTLR end "MUL"
784
785 // $ANTLR start "POW"
786 public final void mPOW() throws RecognitionException {
787 try {
788 int _type = POW;
789 int _channel = DEFAULT_TOKEN_CHANNEL;
790 // InternalSolverLanguageLexer.g:78:5: ( 'POW' )
791 // InternalSolverLanguageLexer.g:78:7: 'POW'
792 {
793 match("POW");
794
795
796 }
797
798 state.type = _type;
799 state.channel = _channel;
800 }
801 finally {
802 }
803 }
804 // $ANTLR end "POW"
805
806 // $ANTLR start "SUB"
807 public final void mSUB() throws RecognitionException {
808 try {
809 int _type = SUB;
810 int _channel = DEFAULT_TOKEN_CHANNEL;
811 // InternalSolverLanguageLexer.g:80:5: ( 'SUB' )
812 // InternalSolverLanguageLexer.g:80:7: 'SUB'
813 {
814 match("SUB");
815
816
817 }
818
819 state.type = _type;
820 state.channel = _channel;
821 }
822 finally {
823 }
824 }
825 // $ANTLR end "SUB"
826
827 // $ANTLR start "Avg"
828 public final void mAvg() throws RecognitionException {
829 try {
830 int _type = Avg;
831 int _channel = DEFAULT_TOKEN_CHANNEL;
832 // InternalSolverLanguageLexer.g:82:5: ( 'avg' )
833 // InternalSolverLanguageLexer.g:82:7: 'avg'
834 {
835 match("avg");
836
837
838 }
839
840 state.type = _type;
841 state.channel = _channel;
842 }
843 finally {
844 }
845 }
846 // $ANTLR end "Avg"
847 624
848 // $ANTLR start "Inf" 625 // $ANTLR start "Inf"
849 public final void mInf() throws RecognitionException { 626 public final void mInf() throws RecognitionException {
850 try { 627 try {
851 int _type = Inf; 628 int _type = Inf;
852 int _channel = DEFAULT_TOKEN_CHANNEL; 629 int _channel = DEFAULT_TOKEN_CHANNEL;
853 // InternalSolverLanguageLexer.g:84:5: ( 'inf' ) 630 // InternalSolverLanguageLexer.g:64:5: ( 'inf' )
854 // InternalSolverLanguageLexer.g:84:7: 'inf' 631 // InternalSolverLanguageLexer.g:64:7: 'inf'
855 { 632 {
856 match("inf"); 633 match("inf");
857 634
@@ -866,36 +643,15 @@ public class InternalSolverLanguageLexer extends Lexer {
866 } 643 }
867 // $ANTLR end "Inf" 644 // $ANTLR end "Inf"
868 645
869 // $ANTLR start "Int" 646 // $ANTLR start "Let"
870 public final void mInt() throws RecognitionException { 647 public final void mLet() throws RecognitionException {
871 try {
872 int _type = Int;
873 int _channel = DEFAULT_TOKEN_CHANNEL;
874 // InternalSolverLanguageLexer.g:86:5: ( 'int' )
875 // InternalSolverLanguageLexer.g:86:7: 'int'
876 {
877 match("int");
878
879
880 }
881
882 state.type = _type;
883 state.channel = _channel;
884 }
885 finally {
886 }
887 }
888 // $ANTLR end "Int"
889
890 // $ANTLR start "Max"
891 public final void mMax() throws RecognitionException {
892 try { 648 try {
893 int _type = Max; 649 int _type = Let;
894 int _channel = DEFAULT_TOKEN_CHANNEL; 650 int _channel = DEFAULT_TOKEN_CHANNEL;
895 // InternalSolverLanguageLexer.g:88:5: ( 'max' ) 651 // InternalSolverLanguageLexer.g:66:5: ( 'let' )
896 // InternalSolverLanguageLexer.g:88:7: 'max' 652 // InternalSolverLanguageLexer.g:66:7: 'let'
897 { 653 {
898 match("max"); 654 match("let");
899 655
900 656
901 } 657 }
@@ -906,15 +662,15 @@ public class InternalSolverLanguageLexer extends Lexer {
906 finally { 662 finally {
907 } 663 }
908 } 664 }
909 // $ANTLR end "Max" 665 // $ANTLR end "Let"
910 666
911 // $ANTLR start "May" 667 // $ANTLR start "May"
912 public final void mMay() throws RecognitionException { 668 public final void mMay() throws RecognitionException {
913 try { 669 try {
914 int _type = May; 670 int _type = May;
915 int _channel = DEFAULT_TOKEN_CHANNEL; 671 int _channel = DEFAULT_TOKEN_CHANNEL;
916 // InternalSolverLanguageLexer.g:90:5: ( 'may' ) 672 // InternalSolverLanguageLexer.g:68:5: ( 'may' )
917 // InternalSolverLanguageLexer.g:90:7: 'may' 673 // InternalSolverLanguageLexer.g:68:7: 'may'
918 { 674 {
919 match("may"); 675 match("may");
920 676
@@ -929,55 +685,13 @@ public class InternalSolverLanguageLexer extends Lexer {
929 } 685 }
930 // $ANTLR end "May" 686 // $ANTLR end "May"
931 687
932 // $ANTLR start "Min"
933 public final void mMin() throws RecognitionException {
934 try {
935 int _type = Min;
936 int _channel = DEFAULT_TOKEN_CHANNEL;
937 // InternalSolverLanguageLexer.g:92:5: ( 'min' )
938 // InternalSolverLanguageLexer.g:92:7: 'min'
939 {
940 match("min");
941
942
943 }
944
945 state.type = _type;
946 state.channel = _channel;
947 }
948 finally {
949 }
950 }
951 // $ANTLR end "Min"
952
953 // $ANTLR start "Sum"
954 public final void mSum() throws RecognitionException {
955 try {
956 int _type = Sum;
957 int _channel = DEFAULT_TOKEN_CHANNEL;
958 // InternalSolverLanguageLexer.g:94:5: ( 'sum' )
959 // InternalSolverLanguageLexer.g:94:7: 'sum'
960 {
961 match("sum");
962
963
964 }
965
966 state.type = _type;
967 state.channel = _channel;
968 }
969 finally {
970 }
971 }
972 // $ANTLR end "Sum"
973
974 // $ANTLR start "ExclamationMarkEqualsSign" 688 // $ANTLR start "ExclamationMarkEqualsSign"
975 public final void mExclamationMarkEqualsSign() throws RecognitionException { 689 public final void mExclamationMarkEqualsSign() throws RecognitionException {
976 try { 690 try {
977 int _type = ExclamationMarkEqualsSign; 691 int _type = ExclamationMarkEqualsSign;
978 int _channel = DEFAULT_TOKEN_CHANNEL; 692 int _channel = DEFAULT_TOKEN_CHANNEL;
979 // InternalSolverLanguageLexer.g:96:27: ( '!=' ) 693 // InternalSolverLanguageLexer.g:70:27: ( '!=' )
980 // InternalSolverLanguageLexer.g:96:29: '!=' 694 // InternalSolverLanguageLexer.g:70:29: '!='
981 { 695 {
982 match("!="); 696 match("!=");
983 697
@@ -997,8 +711,8 @@ public class InternalSolverLanguageLexer extends Lexer {
997 try { 711 try {
998 int _type = HyphenMinusGreaterThanSign; 712 int _type = HyphenMinusGreaterThanSign;
999 int _channel = DEFAULT_TOKEN_CHANNEL; 713 int _channel = DEFAULT_TOKEN_CHANNEL;
1000 // InternalSolverLanguageLexer.g:98:28: ( '->' ) 714 // InternalSolverLanguageLexer.g:72:28: ( '->' )
1001 // InternalSolverLanguageLexer.g:98:30: '->' 715 // InternalSolverLanguageLexer.g:72:30: '->'
1002 { 716 {
1003 match("->"); 717 match("->");
1004 718
@@ -1018,8 +732,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1018 try { 732 try {
1019 int _type = FullStopFullStop; 733 int _type = FullStopFullStop;
1020 int _channel = DEFAULT_TOKEN_CHANNEL; 734 int _channel = DEFAULT_TOKEN_CHANNEL;
1021 // InternalSolverLanguageLexer.g:100:18: ( '..' ) 735 // InternalSolverLanguageLexer.g:74:18: ( '..' )
1022 // InternalSolverLanguageLexer.g:100:20: '..' 736 // InternalSolverLanguageLexer.g:74:20: '..'
1023 { 737 {
1024 match(".."); 738 match("..");
1025 739
@@ -1039,8 +753,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1039 try { 753 try {
1040 int _type = ColonHyphenMinus; 754 int _type = ColonHyphenMinus;
1041 int _channel = DEFAULT_TOKEN_CHANNEL; 755 int _channel = DEFAULT_TOKEN_CHANNEL;
1042 // InternalSolverLanguageLexer.g:102:18: ( ':-' ) 756 // InternalSolverLanguageLexer.g:76:18: ( ':-' )
1043 // InternalSolverLanguageLexer.g:102:20: ':-' 757 // InternalSolverLanguageLexer.g:76:20: ':-'
1044 { 758 {
1045 match(":-"); 759 match(":-");
1046 760
@@ -1060,8 +774,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1060 try { 774 try {
1061 int _type = LessThanSignEqualsSign; 775 int _type = LessThanSignEqualsSign;
1062 int _channel = DEFAULT_TOKEN_CHANNEL; 776 int _channel = DEFAULT_TOKEN_CHANNEL;
1063 // InternalSolverLanguageLexer.g:104:24: ( '<=' ) 777 // InternalSolverLanguageLexer.g:78:24: ( '<=' )
1064 // InternalSolverLanguageLexer.g:104:26: '<=' 778 // InternalSolverLanguageLexer.g:78:26: '<='
1065 { 779 {
1066 match("<="); 780 match("<=");
1067 781
@@ -1081,8 +795,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1081 try { 795 try {
1082 int _type = EqualsSignEqualsSign; 796 int _type = EqualsSignEqualsSign;
1083 int _channel = DEFAULT_TOKEN_CHANNEL; 797 int _channel = DEFAULT_TOKEN_CHANNEL;
1084 // InternalSolverLanguageLexer.g:106:22: ( '==' ) 798 // InternalSolverLanguageLexer.g:80:22: ( '==' )
1085 // InternalSolverLanguageLexer.g:106:24: '==' 799 // InternalSolverLanguageLexer.g:80:24: '=='
1086 { 800 {
1087 match("=="); 801 match("==");
1088 802
@@ -1097,15 +811,15 @@ public class InternalSolverLanguageLexer extends Lexer {
1097 } 811 }
1098 // $ANTLR end "EqualsSignEqualsSign" 812 // $ANTLR end "EqualsSignEqualsSign"
1099 813
1100 // $ANTLR start "GreaterThanSignEqualsSign" 814 // $ANTLR start "EqualsSignGreaterThanSign"
1101 public final void mGreaterThanSignEqualsSign() throws RecognitionException { 815 public final void mEqualsSignGreaterThanSign() throws RecognitionException {
1102 try { 816 try {
1103 int _type = GreaterThanSignEqualsSign; 817 int _type = EqualsSignGreaterThanSign;
1104 int _channel = DEFAULT_TOKEN_CHANNEL; 818 int _channel = DEFAULT_TOKEN_CHANNEL;
1105 // InternalSolverLanguageLexer.g:108:27: ( '>=' ) 819 // InternalSolverLanguageLexer.g:82:27: ( '=>' )
1106 // InternalSolverLanguageLexer.g:108:29: '>=' 820 // InternalSolverLanguageLexer.g:82:29: '=>'
1107 { 821 {
1108 match(">="); 822 match("=>");
1109 823
1110 824
1111 } 825 }
@@ -1116,17 +830,17 @@ public class InternalSolverLanguageLexer extends Lexer {
1116 finally { 830 finally {
1117 } 831 }
1118 } 832 }
1119 // $ANTLR end "GreaterThanSignEqualsSign" 833 // $ANTLR end "EqualsSignGreaterThanSign"
1120 834
1121 // $ANTLR start "EQ" 835 // $ANTLR start "GreaterThanSignEqualsSign"
1122 public final void mEQ() throws RecognitionException { 836 public final void mGreaterThanSignEqualsSign() throws RecognitionException {
1123 try { 837 try {
1124 int _type = EQ; 838 int _type = GreaterThanSignEqualsSign;
1125 int _channel = DEFAULT_TOKEN_CHANNEL; 839 int _channel = DEFAULT_TOKEN_CHANNEL;
1126 // InternalSolverLanguageLexer.g:110:4: ( 'EQ' ) 840 // InternalSolverLanguageLexer.g:84:27: ( '>=' )
1127 // InternalSolverLanguageLexer.g:110:6: 'EQ' 841 // InternalSolverLanguageLexer.g:84:29: '>='
1128 { 842 {
1129 match("EQ"); 843 match(">=");
1130 844
1131 845
1132 } 846 }
@@ -1137,17 +851,17 @@ public class InternalSolverLanguageLexer extends Lexer {
1137 finally { 851 finally {
1138 } 852 }
1139 } 853 }
1140 // $ANTLR end "EQ" 854 // $ANTLR end "GreaterThanSignEqualsSign"
1141 855
1142 // $ANTLR start "IN" 856 // $ANTLR start "As"
1143 public final void mIN() throws RecognitionException { 857 public final void mAs() throws RecognitionException {
1144 try { 858 try {
1145 int _type = IN; 859 int _type = As;
1146 int _channel = DEFAULT_TOKEN_CHANNEL; 860 int _channel = DEFAULT_TOKEN_CHANNEL;
1147 // InternalSolverLanguageLexer.g:112:4: ( 'IN' ) 861 // InternalSolverLanguageLexer.g:86:4: ( 'as' )
1148 // InternalSolverLanguageLexer.g:112:6: 'IN' 862 // InternalSolverLanguageLexer.g:86:6: 'as'
1149 { 863 {
1150 match("IN"); 864 match("as");
1151 865
1152 866
1153 } 867 }
@@ -1158,15 +872,15 @@ public class InternalSolverLanguageLexer extends Lexer {
1158 finally { 872 finally {
1159 } 873 }
1160 } 874 }
1161 // $ANTLR end "IN" 875 // $ANTLR end "As"
1162 876
1163 // $ANTLR start "If" 877 // $ANTLR start "If"
1164 public final void mIf() throws RecognitionException { 878 public final void mIf() throws RecognitionException {
1165 try { 879 try {
1166 int _type = If; 880 int _type = If;
1167 int _channel = DEFAULT_TOKEN_CHANNEL; 881 int _channel = DEFAULT_TOKEN_CHANNEL;
1168 // InternalSolverLanguageLexer.g:114:4: ( 'if' ) 882 // InternalSolverLanguageLexer.g:88:4: ( 'if' )
1169 // InternalSolverLanguageLexer.g:114:6: 'if' 883 // InternalSolverLanguageLexer.g:88:6: 'if'
1170 { 884 {
1171 match("if"); 885 match("if");
1172 886
@@ -1186,8 +900,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1186 try { 900 try {
1187 int _type = In; 901 int _type = In;
1188 int _channel = DEFAULT_TOKEN_CHANNEL; 902 int _channel = DEFAULT_TOKEN_CHANNEL;
1189 // InternalSolverLanguageLexer.g:116:4: ( 'in' ) 903 // InternalSolverLanguageLexer.g:90:4: ( 'in' )
1190 // InternalSolverLanguageLexer.g:116:6: 'in' 904 // InternalSolverLanguageLexer.g:90:6: 'in'
1191 { 905 {
1192 match("in"); 906 match("in");
1193 907
@@ -1207,8 +921,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1207 try { 921 try {
1208 int _type = ExclamationMark; 922 int _type = ExclamationMark;
1209 int _channel = DEFAULT_TOKEN_CHANNEL; 923 int _channel = DEFAULT_TOKEN_CHANNEL;
1210 // InternalSolverLanguageLexer.g:118:17: ( '!' ) 924 // InternalSolverLanguageLexer.g:92:17: ( '!' )
1211 // InternalSolverLanguageLexer.g:118:19: '!' 925 // InternalSolverLanguageLexer.g:92:19: '!'
1212 { 926 {
1213 match('!'); 927 match('!');
1214 928
@@ -1227,8 +941,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1227 try { 941 try {
1228 int _type = LeftParenthesis; 942 int _type = LeftParenthesis;
1229 int _channel = DEFAULT_TOKEN_CHANNEL; 943 int _channel = DEFAULT_TOKEN_CHANNEL;
1230 // InternalSolverLanguageLexer.g:120:17: ( '(' ) 944 // InternalSolverLanguageLexer.g:94:17: ( '(' )
1231 // InternalSolverLanguageLexer.g:120:19: '(' 945 // InternalSolverLanguageLexer.g:94:19: '('
1232 { 946 {
1233 match('('); 947 match('(');
1234 948
@@ -1247,8 +961,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1247 try { 961 try {
1248 int _type = RightParenthesis; 962 int _type = RightParenthesis;
1249 int _channel = DEFAULT_TOKEN_CHANNEL; 963 int _channel = DEFAULT_TOKEN_CHANNEL;
1250 // InternalSolverLanguageLexer.g:122:18: ( ')' ) 964 // InternalSolverLanguageLexer.g:96:18: ( ')' )
1251 // InternalSolverLanguageLexer.g:122:20: ')' 965 // InternalSolverLanguageLexer.g:96:20: ')'
1252 { 966 {
1253 match(')'); 967 match(')');
1254 968
@@ -1267,8 +981,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1267 try { 981 try {
1268 int _type = Asterisk; 982 int _type = Asterisk;
1269 int _channel = DEFAULT_TOKEN_CHANNEL; 983 int _channel = DEFAULT_TOKEN_CHANNEL;
1270 // InternalSolverLanguageLexer.g:124:10: ( '*' ) 984 // InternalSolverLanguageLexer.g:98:10: ( '*' )
1271 // InternalSolverLanguageLexer.g:124:12: '*' 985 // InternalSolverLanguageLexer.g:98:12: '*'
1272 { 986 {
1273 match('*'); 987 match('*');
1274 988
@@ -1287,8 +1001,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1287 try { 1001 try {
1288 int _type = PlusSign; 1002 int _type = PlusSign;
1289 int _channel = DEFAULT_TOKEN_CHANNEL; 1003 int _channel = DEFAULT_TOKEN_CHANNEL;
1290 // InternalSolverLanguageLexer.g:126:10: ( '+' ) 1004 // InternalSolverLanguageLexer.g:100:10: ( '+' )
1291 // InternalSolverLanguageLexer.g:126:12: '+' 1005 // InternalSolverLanguageLexer.g:100:12: '+'
1292 { 1006 {
1293 match('+'); 1007 match('+');
1294 1008
@@ -1307,8 +1021,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1307 try { 1021 try {
1308 int _type = Comma; 1022 int _type = Comma;
1309 int _channel = DEFAULT_TOKEN_CHANNEL; 1023 int _channel = DEFAULT_TOKEN_CHANNEL;
1310 // InternalSolverLanguageLexer.g:128:7: ( ',' ) 1024 // InternalSolverLanguageLexer.g:102:7: ( ',' )
1311 // InternalSolverLanguageLexer.g:128:9: ',' 1025 // InternalSolverLanguageLexer.g:102:9: ','
1312 { 1026 {
1313 match(','); 1027 match(',');
1314 1028
@@ -1327,8 +1041,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1327 try { 1041 try {
1328 int _type = HyphenMinus; 1042 int _type = HyphenMinus;
1329 int _channel = DEFAULT_TOKEN_CHANNEL; 1043 int _channel = DEFAULT_TOKEN_CHANNEL;
1330 // InternalSolverLanguageLexer.g:130:13: ( '-' ) 1044 // InternalSolverLanguageLexer.g:104:13: ( '-' )
1331 // InternalSolverLanguageLexer.g:130:15: '-' 1045 // InternalSolverLanguageLexer.g:104:15: '-'
1332 { 1046 {
1333 match('-'); 1047 match('-');
1334 1048
@@ -1347,8 +1061,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1347 try { 1061 try {
1348 int _type = FullStop; 1062 int _type = FullStop;
1349 int _channel = DEFAULT_TOKEN_CHANNEL; 1063 int _channel = DEFAULT_TOKEN_CHANNEL;
1350 // InternalSolverLanguageLexer.g:132:10: ( '.' ) 1064 // InternalSolverLanguageLexer.g:106:10: ( '.' )
1351 // InternalSolverLanguageLexer.g:132:12: '.' 1065 // InternalSolverLanguageLexer.g:106:12: '.'
1352 { 1066 {
1353 match('.'); 1067 match('.');
1354 1068
@@ -1367,8 +1081,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1367 try { 1081 try {
1368 int _type = Solidus; 1082 int _type = Solidus;
1369 int _channel = DEFAULT_TOKEN_CHANNEL; 1083 int _channel = DEFAULT_TOKEN_CHANNEL;
1370 // InternalSolverLanguageLexer.g:134:9: ( '/' ) 1084 // InternalSolverLanguageLexer.g:108:9: ( '/' )
1371 // InternalSolverLanguageLexer.g:134:11: '/' 1085 // InternalSolverLanguageLexer.g:108:11: '/'
1372 { 1086 {
1373 match('/'); 1087 match('/');
1374 1088
@@ -1387,8 +1101,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1387 try { 1101 try {
1388 int _type = Colon; 1102 int _type = Colon;
1389 int _channel = DEFAULT_TOKEN_CHANNEL; 1103 int _channel = DEFAULT_TOKEN_CHANNEL;
1390 // InternalSolverLanguageLexer.g:136:7: ( ':' ) 1104 // InternalSolverLanguageLexer.g:110:7: ( ':' )
1391 // InternalSolverLanguageLexer.g:136:9: ':' 1105 // InternalSolverLanguageLexer.g:110:9: ':'
1392 { 1106 {
1393 match(':'); 1107 match(':');
1394 1108
@@ -1407,8 +1121,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1407 try { 1121 try {
1408 int _type = Semicolon; 1122 int _type = Semicolon;
1409 int _channel = DEFAULT_TOKEN_CHANNEL; 1123 int _channel = DEFAULT_TOKEN_CHANNEL;
1410 // InternalSolverLanguageLexer.g:138:11: ( ';' ) 1124 // InternalSolverLanguageLexer.g:112:11: ( ';' )
1411 // InternalSolverLanguageLexer.g:138:13: ';' 1125 // InternalSolverLanguageLexer.g:112:13: ';'
1412 { 1126 {
1413 match(';'); 1127 match(';');
1414 1128
@@ -1427,8 +1141,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1427 try { 1141 try {
1428 int _type = LessThanSign; 1142 int _type = LessThanSign;
1429 int _channel = DEFAULT_TOKEN_CHANNEL; 1143 int _channel = DEFAULT_TOKEN_CHANNEL;
1430 // InternalSolverLanguageLexer.g:140:14: ( '<' ) 1144 // InternalSolverLanguageLexer.g:114:14: ( '<' )
1431 // InternalSolverLanguageLexer.g:140:16: '<' 1145 // InternalSolverLanguageLexer.g:114:16: '<'
1432 { 1146 {
1433 match('<'); 1147 match('<');
1434 1148
@@ -1447,8 +1161,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1447 try { 1161 try {
1448 int _type = EqualsSign; 1162 int _type = EqualsSign;
1449 int _channel = DEFAULT_TOKEN_CHANNEL; 1163 int _channel = DEFAULT_TOKEN_CHANNEL;
1450 // InternalSolverLanguageLexer.g:142:12: ( '=' ) 1164 // InternalSolverLanguageLexer.g:116:12: ( '=' )
1451 // InternalSolverLanguageLexer.g:142:14: '=' 1165 // InternalSolverLanguageLexer.g:116:14: '='
1452 { 1166 {
1453 match('='); 1167 match('=');
1454 1168
@@ -1467,8 +1181,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1467 try { 1181 try {
1468 int _type = GreaterThanSign; 1182 int _type = GreaterThanSign;
1469 int _channel = DEFAULT_TOKEN_CHANNEL; 1183 int _channel = DEFAULT_TOKEN_CHANNEL;
1470 // InternalSolverLanguageLexer.g:144:17: ( '>' ) 1184 // InternalSolverLanguageLexer.g:118:17: ( '>' )
1471 // InternalSolverLanguageLexer.g:144:19: '>' 1185 // InternalSolverLanguageLexer.g:118:19: '>'
1472 { 1186 {
1473 match('>'); 1187 match('>');
1474 1188
@@ -1487,8 +1201,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1487 try { 1201 try {
1488 int _type = LeftSquareBracket; 1202 int _type = LeftSquareBracket;
1489 int _channel = DEFAULT_TOKEN_CHANNEL; 1203 int _channel = DEFAULT_TOKEN_CHANNEL;
1490 // InternalSolverLanguageLexer.g:146:19: ( '[' ) 1204 // InternalSolverLanguageLexer.g:120:19: ( '[' )
1491 // InternalSolverLanguageLexer.g:146:21: '[' 1205 // InternalSolverLanguageLexer.g:120:21: '['
1492 { 1206 {
1493 match('['); 1207 match('[');
1494 1208
@@ -1507,8 +1221,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1507 try { 1221 try {
1508 int _type = RightSquareBracket; 1222 int _type = RightSquareBracket;
1509 int _channel = DEFAULT_TOKEN_CHANNEL; 1223 int _channel = DEFAULT_TOKEN_CHANNEL;
1510 // InternalSolverLanguageLexer.g:148:20: ( ']' ) 1224 // InternalSolverLanguageLexer.g:122:20: ( ']' )
1511 // InternalSolverLanguageLexer.g:148:22: ']' 1225 // InternalSolverLanguageLexer.g:122:22: ']'
1512 { 1226 {
1513 match(']'); 1227 match(']');
1514 1228
@@ -1527,8 +1241,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1527 try { 1241 try {
1528 int _type = CircumflexAccent; 1242 int _type = CircumflexAccent;
1529 int _channel = DEFAULT_TOKEN_CHANNEL; 1243 int _channel = DEFAULT_TOKEN_CHANNEL;
1530 // InternalSolverLanguageLexer.g:150:18: ( '^' ) 1244 // InternalSolverLanguageLexer.g:124:18: ( '^' )
1531 // InternalSolverLanguageLexer.g:150:20: '^' 1245 // InternalSolverLanguageLexer.g:124:20: '^'
1532 { 1246 {
1533 match('^'); 1247 match('^');
1534 1248
@@ -1547,8 +1261,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1547 try { 1261 try {
1548 int _type = LeftCurlyBracket; 1262 int _type = LeftCurlyBracket;
1549 int _channel = DEFAULT_TOKEN_CHANNEL; 1263 int _channel = DEFAULT_TOKEN_CHANNEL;
1550 // InternalSolverLanguageLexer.g:152:18: ( '{' ) 1264 // InternalSolverLanguageLexer.g:126:18: ( '{' )
1551 // InternalSolverLanguageLexer.g:152:20: '{' 1265 // InternalSolverLanguageLexer.g:126:20: '{'
1552 { 1266 {
1553 match('{'); 1267 match('{');
1554 1268
@@ -1567,8 +1281,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1567 try { 1281 try {
1568 int _type = VerticalLine; 1282 int _type = VerticalLine;
1569 int _channel = DEFAULT_TOKEN_CHANNEL; 1283 int _channel = DEFAULT_TOKEN_CHANNEL;
1570 // InternalSolverLanguageLexer.g:154:14: ( '|' ) 1284 // InternalSolverLanguageLexer.g:128:14: ( '|' )
1571 // InternalSolverLanguageLexer.g:154:16: '|' 1285 // InternalSolverLanguageLexer.g:128:16: '|'
1572 { 1286 {
1573 match('|'); 1287 match('|');
1574 1288
@@ -1587,8 +1301,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1587 try { 1301 try {
1588 int _type = RightCurlyBracket; 1302 int _type = RightCurlyBracket;
1589 int _channel = DEFAULT_TOKEN_CHANNEL; 1303 int _channel = DEFAULT_TOKEN_CHANNEL;
1590 // InternalSolverLanguageLexer.g:156:19: ( '}' ) 1304 // InternalSolverLanguageLexer.g:130:19: ( '}' )
1591 // InternalSolverLanguageLexer.g:156:21: '}' 1305 // InternalSolverLanguageLexer.g:130:21: '}'
1592 { 1306 {
1593 match('}'); 1307 match('}');
1594 1308
@@ -1607,11 +1321,11 @@ public class InternalSolverLanguageLexer extends Lexer {
1607 try { 1321 try {
1608 int _type = RULE_STRING; 1322 int _type = RULE_STRING;
1609 int _channel = DEFAULT_TOKEN_CHANNEL; 1323 int _channel = DEFAULT_TOKEN_CHANNEL;
1610 // InternalSolverLanguageLexer.g:158:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 1324 // InternalSolverLanguageLexer.g:132:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
1611 // InternalSolverLanguageLexer.g:158:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 1325 // InternalSolverLanguageLexer.g:132:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1612 { 1326 {
1613 match('\"'); 1327 match('\"');
1614 // InternalSolverLanguageLexer.g:158:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 1328 // InternalSolverLanguageLexer.g:132:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
1615 loop1: 1329 loop1:
1616 do { 1330 do {
1617 int alt1=3; 1331 int alt1=3;
@@ -1627,7 +1341,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1627 1341
1628 switch (alt1) { 1342 switch (alt1) {
1629 case 1 : 1343 case 1 :
1630 // InternalSolverLanguageLexer.g:158:20: '\\\\' . 1344 // InternalSolverLanguageLexer.g:132:20: '\\\\' .
1631 { 1345 {
1632 match('\\'); 1346 match('\\');
1633 matchAny(); 1347 matchAny();
@@ -1635,7 +1349,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1635 } 1349 }
1636 break; 1350 break;
1637 case 2 : 1351 case 2 :
1638 // InternalSolverLanguageLexer.g:158:27: ~ ( ( '\\\\' | '\"' ) ) 1352 // InternalSolverLanguageLexer.g:132:27: ~ ( ( '\\\\' | '\"' ) )
1639 { 1353 {
1640 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1354 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1641 input.consume(); 1355 input.consume();
@@ -1672,11 +1386,11 @@ public class InternalSolverLanguageLexer extends Lexer {
1672 try { 1386 try {
1673 int _type = RULE_QUOTED_ID; 1387 int _type = RULE_QUOTED_ID;
1674 int _channel = DEFAULT_TOKEN_CHANNEL; 1388 int _channel = DEFAULT_TOKEN_CHANNEL;
1675 // InternalSolverLanguageLexer.g:160:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 1389 // InternalSolverLanguageLexer.g:134:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1676 // InternalSolverLanguageLexer.g:160:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' 1390 // InternalSolverLanguageLexer.g:134:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1677 { 1391 {
1678 match('\''); 1392 match('\'');
1679 // InternalSolverLanguageLexer.g:160:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* 1393 // InternalSolverLanguageLexer.g:134:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1680 loop2: 1394 loop2:
1681 do { 1395 do {
1682 int alt2=3; 1396 int alt2=3;
@@ -1692,7 +1406,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1692 1406
1693 switch (alt2) { 1407 switch (alt2) {
1694 case 1 : 1408 case 1 :
1695 // InternalSolverLanguageLexer.g:160:24: '\\\\' . 1409 // InternalSolverLanguageLexer.g:134:24: '\\\\' .
1696 { 1410 {
1697 match('\\'); 1411 match('\\');
1698 matchAny(); 1412 matchAny();
@@ -1700,7 +1414,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1700 } 1414 }
1701 break; 1415 break;
1702 case 2 : 1416 case 2 :
1703 // InternalSolverLanguageLexer.g:160:31: ~ ( ( '\\\\' | '\\'' ) ) 1417 // InternalSolverLanguageLexer.g:134:31: ~ ( ( '\\\\' | '\\'' ) )
1704 { 1418 {
1705 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1419 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1706 input.consume(); 1420 input.consume();
@@ -1737,10 +1451,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1737 try { 1451 try {
1738 int _type = RULE_SL_COMMENT; 1452 int _type = RULE_SL_COMMENT;
1739 int _channel = DEFAULT_TOKEN_CHANNEL; 1453 int _channel = DEFAULT_TOKEN_CHANNEL;
1740 // InternalSolverLanguageLexer.g:162:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1454 // InternalSolverLanguageLexer.g:136:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1741 // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1455 // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1742 { 1456 {
1743 // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) 1457 // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' )
1744 int alt3=2; 1458 int alt3=2;
1745 int LA3_0 = input.LA(1); 1459 int LA3_0 = input.LA(1);
1746 1460
@@ -1758,14 +1472,14 @@ public class InternalSolverLanguageLexer extends Lexer {
1758 } 1472 }
1759 switch (alt3) { 1473 switch (alt3) {
1760 case 1 : 1474 case 1 :
1761 // InternalSolverLanguageLexer.g:162:20: '%' 1475 // InternalSolverLanguageLexer.g:136:20: '%'
1762 { 1476 {
1763 match('%'); 1477 match('%');
1764 1478
1765 } 1479 }
1766 break; 1480 break;
1767 case 2 : 1481 case 2 :
1768 // InternalSolverLanguageLexer.g:162:24: '//' 1482 // InternalSolverLanguageLexer.g:136:24: '//'
1769 { 1483 {
1770 match("//"); 1484 match("//");
1771 1485
@@ -1775,7 +1489,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1775 1489
1776 } 1490 }
1777 1491
1778 // InternalSolverLanguageLexer.g:162:30: (~ ( ( '\\n' | '\\r' ) ) )* 1492 // InternalSolverLanguageLexer.g:136:30: (~ ( ( '\\n' | '\\r' ) ) )*
1779 loop4: 1493 loop4:
1780 do { 1494 do {
1781 int alt4=2; 1495 int alt4=2;
@@ -1788,7 +1502,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1788 1502
1789 switch (alt4) { 1503 switch (alt4) {
1790 case 1 : 1504 case 1 :
1791 // InternalSolverLanguageLexer.g:162:30: ~ ( ( '\\n' | '\\r' ) ) 1505 // InternalSolverLanguageLexer.g:136:30: ~ ( ( '\\n' | '\\r' ) )
1792 { 1506 {
1793 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { 1507 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
1794 input.consume(); 1508 input.consume();
@@ -1808,7 +1522,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1808 } 1522 }
1809 } while (true); 1523 } while (true);
1810 1524
1811 // InternalSolverLanguageLexer.g:162:46: ( ( '\\r' )? '\\n' )? 1525 // InternalSolverLanguageLexer.g:136:46: ( ( '\\r' )? '\\n' )?
1812 int alt6=2; 1526 int alt6=2;
1813 int LA6_0 = input.LA(1); 1527 int LA6_0 = input.LA(1);
1814 1528
@@ -1817,9 +1531,9 @@ public class InternalSolverLanguageLexer extends Lexer {
1817 } 1531 }
1818 switch (alt6) { 1532 switch (alt6) {
1819 case 1 : 1533 case 1 :
1820 // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? '\\n' 1534 // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? '\\n'
1821 { 1535 {
1822 // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? 1536 // InternalSolverLanguageLexer.g:136:47: ( '\\r' )?
1823 int alt5=2; 1537 int alt5=2;
1824 int LA5_0 = input.LA(1); 1538 int LA5_0 = input.LA(1);
1825 1539
@@ -1828,7 +1542,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1828 } 1542 }
1829 switch (alt5) { 1543 switch (alt5) {
1830 case 1 : 1544 case 1 :
1831 // InternalSolverLanguageLexer.g:162:47: '\\r' 1545 // InternalSolverLanguageLexer.g:136:47: '\\r'
1832 { 1546 {
1833 match('\r'); 1547 match('\r');
1834 1548
@@ -1858,8 +1572,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1858 // $ANTLR start "RULE_TRANSITIVE_CLOSURE" 1572 // $ANTLR start "RULE_TRANSITIVE_CLOSURE"
1859 public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException { 1573 public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException {
1860 try { 1574 try {
1861 // InternalSolverLanguageLexer.g:164:34: () 1575 // InternalSolverLanguageLexer.g:138:34: ()
1862 // InternalSolverLanguageLexer.g:164:36: 1576 // InternalSolverLanguageLexer.g:138:36:
1863 { 1577 {
1864 } 1578 }
1865 1579
@@ -1872,8 +1586,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1872 // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE" 1586 // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE"
1873 public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException { 1587 public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException {
1874 try { 1588 try {
1875 // InternalSolverLanguageLexer.g:166:44: () 1589 // InternalSolverLanguageLexer.g:140:44: ()
1876 // InternalSolverLanguageLexer.g:166:46: 1590 // InternalSolverLanguageLexer.g:140:46:
1877 { 1591 {
1878 } 1592 }
1879 1593
@@ -1886,8 +1600,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1886 // $ANTLR start "RULE_FULL_STOP" 1600 // $ANTLR start "RULE_FULL_STOP"
1887 public final void mRULE_FULL_STOP() throws RecognitionException { 1601 public final void mRULE_FULL_STOP() throws RecognitionException {
1888 try { 1602 try {
1889 // InternalSolverLanguageLexer.g:168:25: () 1603 // InternalSolverLanguageLexer.g:142:25: ()
1890 // InternalSolverLanguageLexer.g:168:27: 1604 // InternalSolverLanguageLexer.g:142:27:
1891 { 1605 {
1892 } 1606 }
1893 1607
@@ -1902,10 +1616,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1902 try { 1616 try {
1903 int _type = RULE_ID; 1617 int _type = RULE_ID;
1904 int _channel = DEFAULT_TOKEN_CHANNEL; 1618 int _channel = DEFAULT_TOKEN_CHANNEL;
1905 // InternalSolverLanguageLexer.g:170:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 1619 // InternalSolverLanguageLexer.g:144:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
1906 // InternalSolverLanguageLexer.g:170:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1620 // InternalSolverLanguageLexer.g:144:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1907 { 1621 {
1908 // InternalSolverLanguageLexer.g:170:11: ( '^' )? 1622 // InternalSolverLanguageLexer.g:144:11: ( '^' )?
1909 int alt7=2; 1623 int alt7=2;
1910 int LA7_0 = input.LA(1); 1624 int LA7_0 = input.LA(1);
1911 1625
@@ -1914,7 +1628,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1914 } 1628 }
1915 switch (alt7) { 1629 switch (alt7) {
1916 case 1 : 1630 case 1 :
1917 // InternalSolverLanguageLexer.g:170:11: '^' 1631 // InternalSolverLanguageLexer.g:144:11: '^'
1918 { 1632 {
1919 match('^'); 1633 match('^');
1920 1634
@@ -1932,7 +1646,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1932 recover(mse); 1646 recover(mse);
1933 throw mse;} 1647 throw mse;}
1934 1648
1935 // InternalSolverLanguageLexer.g:170:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1649 // InternalSolverLanguageLexer.g:144:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1936 loop8: 1650 loop8:
1937 do { 1651 do {
1938 int alt8=2; 1652 int alt8=2;
@@ -1981,10 +1695,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1981 try { 1695 try {
1982 int _type = RULE_INT; 1696 int _type = RULE_INT;
1983 int _channel = DEFAULT_TOKEN_CHANNEL; 1697 int _channel = DEFAULT_TOKEN_CHANNEL;
1984 // InternalSolverLanguageLexer.g:172:10: ( ( '0' .. '9' )+ ) 1698 // InternalSolverLanguageLexer.g:146:10: ( ( '0' .. '9' )+ )
1985 // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ 1699 // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+
1986 { 1700 {
1987 // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ 1701 // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+
1988 int cnt9=0; 1702 int cnt9=0;
1989 loop9: 1703 loop9:
1990 do { 1704 do {
@@ -1998,7 +1712,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1998 1712
1999 switch (alt9) { 1713 switch (alt9) {
2000 case 1 : 1714 case 1 :
2001 // InternalSolverLanguageLexer.g:172:13: '0' .. '9' 1715 // InternalSolverLanguageLexer.g:146:13: '0' .. '9'
2002 { 1716 {
2003 matchRange('0','9'); 1717 matchRange('0','9');
2004 1718
@@ -2030,12 +1744,12 @@ public class InternalSolverLanguageLexer extends Lexer {
2030 try { 1744 try {
2031 int _type = RULE_ML_COMMENT; 1745 int _type = RULE_ML_COMMENT;
2032 int _channel = DEFAULT_TOKEN_CHANNEL; 1746 int _channel = DEFAULT_TOKEN_CHANNEL;
2033 // InternalSolverLanguageLexer.g:174:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 1747 // InternalSolverLanguageLexer.g:148:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
2034 // InternalSolverLanguageLexer.g:174:19: '/*' ( options {greedy=false; } : . )* '*/' 1748 // InternalSolverLanguageLexer.g:148:19: '/*' ( options {greedy=false; } : . )* '*/'
2035 { 1749 {
2036 match("/*"); 1750 match("/*");
2037 1751
2038 // InternalSolverLanguageLexer.g:174:24: ( options {greedy=false; } : . )* 1752 // InternalSolverLanguageLexer.g:148:24: ( options {greedy=false; } : . )*
2039 loop10: 1753 loop10:
2040 do { 1754 do {
2041 int alt10=2; 1755 int alt10=2;
@@ -2060,7 +1774,7 @@ public class InternalSolverLanguageLexer extends Lexer {
2060 1774
2061 switch (alt10) { 1775 switch (alt10) {
2062 case 1 : 1776 case 1 :
2063 // InternalSolverLanguageLexer.g:174:52: . 1777 // InternalSolverLanguageLexer.g:148:52: .
2064 { 1778 {
2065 matchAny(); 1779 matchAny();
2066 1780
@@ -2090,10 +1804,10 @@ public class InternalSolverLanguageLexer extends Lexer {
2090 try { 1804 try {
2091 int _type = RULE_WS; 1805 int _type = RULE_WS;
2092 int _channel = DEFAULT_TOKEN_CHANNEL; 1806 int _channel = DEFAULT_TOKEN_CHANNEL;
2093 // InternalSolverLanguageLexer.g:176:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1807 // InternalSolverLanguageLexer.g:150:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
2094 // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1808 // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2095 { 1809 {
2096 // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1810 // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2097 int cnt11=0; 1811 int cnt11=0;
2098 loop11: 1812 loop11:
2099 do { 1813 do {
@@ -2147,8 +1861,8 @@ public class InternalSolverLanguageLexer extends Lexer {
2147 try { 1861 try {
2148 int _type = RULE_ANY_OTHER; 1862 int _type = RULE_ANY_OTHER;
2149 int _channel = DEFAULT_TOKEN_CHANNEL; 1863 int _channel = DEFAULT_TOKEN_CHANNEL;
2150 // InternalSolverLanguageLexer.g:178:16: ( . ) 1864 // InternalSolverLanguageLexer.g:152:16: ( . )
2151 // InternalSolverLanguageLexer.g:178:18: . 1865 // InternalSolverLanguageLexer.g:152:18: .
2152 { 1866 {
2153 matchAny(); 1867 matchAny();
2154 1868
@@ -2163,565 +1877,474 @@ public class InternalSolverLanguageLexer extends Lexer {
2163 // $ANTLR end "RULE_ANY_OTHER" 1877 // $ANTLR end "RULE_ANY_OTHER"
2164 1878
2165 public void mTokens() throws RecognitionException { 1879 public void mTokens() throws RecognitionException {
2166 // InternalSolverLanguageLexer.g:1:8: ( GREATER_EQ | Functional | Abstract | Contains | Maximize | Minimize | Opposite | GREATER | LESS_EQ | Current | Default | Extends | Unknown | NOT_EQ | Extern | Class | Count | Empty | Error | False | Scope | LESS | Else | Must | Only | Prod | Real | Then | True | ADD | DIV | MUL | POW | SUB | Avg | Inf | Int | Max | May | Min | Sum | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | GreaterThanSignEqualsSign | EQ | IN | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1880 // InternalSolverLanguageLexer.g:1:8: ( Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Current | Default | Extends | Unknown | Exists | Extern | Forall | Class | Count | Empty | Error | False | Scope | Else | Must | Then | True | FullStopFullStopFullStop | Inf | Let | May | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER )
2167 int alt12=80; 1881 int alt12=67;
2168 alt12 = dfa12.predict(input); 1882 alt12 = dfa12.predict(input);
2169 switch (alt12) { 1883 switch (alt12) {
2170 case 1 : 1884 case 1 :
2171 // InternalSolverLanguageLexer.g:1:10: GREATER_EQ 1885 // InternalSolverLanguageLexer.g:1:10: Functional
2172 { 1886 {
2173 mGREATER_EQ(); 1887 mFunctional();
2174 1888
2175 } 1889 }
2176 break; 1890 break;
2177 case 2 : 1891 case 2 :
2178 // InternalSolverLanguageLexer.g:1:21: Functional 1892 // InternalSolverLanguageLexer.g:1:21: Abstract
2179 { 1893 {
2180 mFunctional(); 1894 mAbstract();
2181 1895
2182 } 1896 }
2183 break; 1897 break;
2184 case 3 : 1898 case 3 :
2185 // InternalSolverLanguageLexer.g:1:32: Abstract 1899 // InternalSolverLanguageLexer.g:1:30: Contains
2186 { 1900 {
2187 mAbstract(); 1901 mContains();
2188 1902
2189 } 1903 }
2190 break; 1904 break;
2191 case 4 : 1905 case 4 :
2192 // InternalSolverLanguageLexer.g:1:41: Contains 1906 // InternalSolverLanguageLexer.g:1:39: Datatype
2193 { 1907 {
2194 mContains(); 1908 mDatatype();
2195 1909
2196 } 1910 }
2197 break; 1911 break;
2198 case 5 : 1912 case 5 :
2199 // InternalSolverLanguageLexer.g:1:50: Maximize 1913 // InternalSolverLanguageLexer.g:1:48: Maximize
2200 { 1914 {
2201 mMaximize(); 1915 mMaximize();
2202 1916
2203 } 1917 }
2204 break; 1918 break;
2205 case 6 : 1919 case 6 :
2206 // InternalSolverLanguageLexer.g:1:59: Minimize 1920 // InternalSolverLanguageLexer.g:1:57: Minimize
2207 { 1921 {
2208 mMinimize(); 1922 mMinimize();
2209 1923
2210 } 1924 }
2211 break; 1925 break;
2212 case 7 : 1926 case 7 :
2213 // InternalSolverLanguageLexer.g:1:68: Opposite 1927 // InternalSolverLanguageLexer.g:1:66: Opposite
2214 { 1928 {
2215 mOpposite(); 1929 mOpposite();
2216 1930
2217 } 1931 }
2218 break; 1932 break;
2219 case 8 : 1933 case 8 :
2220 // InternalSolverLanguageLexer.g:1:77: GREATER 1934 // InternalSolverLanguageLexer.g:1:75: Current
2221 { 1935 {
2222 mGREATER(); 1936 mCurrent();
2223 1937
2224 } 1938 }
2225 break; 1939 break;
2226 case 9 : 1940 case 9 :
2227 // InternalSolverLanguageLexer.g:1:85: LESS_EQ 1941 // InternalSolverLanguageLexer.g:1:83: Default
2228 { 1942 {
2229 mLESS_EQ(); 1943 mDefault();
2230 1944
2231 } 1945 }
2232 break; 1946 break;
2233 case 10 : 1947 case 10 :
2234 // InternalSolverLanguageLexer.g:1:93: Current 1948 // InternalSolverLanguageLexer.g:1:91: Extends
2235 { 1949 {
2236 mCurrent(); 1950 mExtends();
2237 1951
2238 } 1952 }
2239 break; 1953 break;
2240 case 11 : 1954 case 11 :
2241 // InternalSolverLanguageLexer.g:1:101: Default 1955 // InternalSolverLanguageLexer.g:1:99: Unknown
2242 { 1956 {
2243 mDefault(); 1957 mUnknown();
2244 1958
2245 } 1959 }
2246 break; 1960 break;
2247 case 12 : 1961 case 12 :
2248 // InternalSolverLanguageLexer.g:1:109: Extends 1962 // InternalSolverLanguageLexer.g:1:107: Exists
2249 { 1963 {
2250 mExtends(); 1964 mExists();
2251 1965
2252 } 1966 }
2253 break; 1967 break;
2254 case 13 : 1968 case 13 :
2255 // InternalSolverLanguageLexer.g:1:117: Unknown 1969 // InternalSolverLanguageLexer.g:1:114: Extern
2256 { 1970 {
2257 mUnknown(); 1971 mExtern();
2258 1972
2259 } 1973 }
2260 break; 1974 break;
2261 case 14 : 1975 case 14 :
2262 // InternalSolverLanguageLexer.g:1:125: NOT_EQ 1976 // InternalSolverLanguageLexer.g:1:121: Forall
2263 { 1977 {
2264 mNOT_EQ(); 1978 mForall();
2265 1979
2266 } 1980 }
2267 break; 1981 break;
2268 case 15 : 1982 case 15 :
2269 // InternalSolverLanguageLexer.g:1:132: Extern 1983 // InternalSolverLanguageLexer.g:1:128: Class
2270 { 1984 {
2271 mExtern(); 1985 mClass();
2272 1986
2273 } 1987 }
2274 break; 1988 break;
2275 case 16 : 1989 case 16 :
2276 // InternalSolverLanguageLexer.g:1:139: Class 1990 // InternalSolverLanguageLexer.g:1:134: Count
2277 { 1991 {
2278 mClass(); 1992 mCount();
2279 1993
2280 } 1994 }
2281 break; 1995 break;
2282 case 17 : 1996 case 17 :
2283 // InternalSolverLanguageLexer.g:1:145: Count 1997 // InternalSolverLanguageLexer.g:1:140: Empty
2284 { 1998 {
2285 mCount(); 1999 mEmpty();
2286 2000
2287 } 2001 }
2288 break; 2002 break;
2289 case 18 : 2003 case 18 :
2290 // InternalSolverLanguageLexer.g:1:151: Empty 2004 // InternalSolverLanguageLexer.g:1:146: Error
2291 { 2005 {
2292 mEmpty(); 2006 mError();
2293 2007
2294 } 2008 }
2295 break; 2009 break;
2296 case 19 : 2010 case 19 :
2297 // InternalSolverLanguageLexer.g:1:157: Error 2011 // InternalSolverLanguageLexer.g:1:152: False
2298 { 2012 {
2299 mError(); 2013 mFalse();
2300 2014
2301 } 2015 }
2302 break; 2016 break;
2303 case 20 : 2017 case 20 :
2304 // InternalSolverLanguageLexer.g:1:163: False 2018 // InternalSolverLanguageLexer.g:1:158: Scope
2305 { 2019 {
2306 mFalse(); 2020 mScope();
2307 2021
2308 } 2022 }
2309 break; 2023 break;
2310 case 21 : 2024 case 21 :
2311 // InternalSolverLanguageLexer.g:1:169: Scope 2025 // InternalSolverLanguageLexer.g:1:164: Else
2312 { 2026 {
2313 mScope(); 2027 mElse();
2314 2028
2315 } 2029 }
2316 break; 2030 break;
2317 case 22 : 2031 case 22 :
2318 // InternalSolverLanguageLexer.g:1:175: LESS 2032 // InternalSolverLanguageLexer.g:1:169: Must
2319 { 2033 {
2320 mLESS(); 2034 mMust();
2321 2035
2322 } 2036 }
2323 break; 2037 break;
2324 case 23 : 2038 case 23 :
2325 // InternalSolverLanguageLexer.g:1:180: Else 2039 // InternalSolverLanguageLexer.g:1:174: Then
2326 { 2040 {
2327 mElse(); 2041 mThen();
2328 2042
2329 } 2043 }
2330 break; 2044 break;
2331 case 24 : 2045 case 24 :
2332 // InternalSolverLanguageLexer.g:1:185: Must 2046 // InternalSolverLanguageLexer.g:1:179: True
2333 { 2047 {
2334 mMust(); 2048 mTrue();
2335 2049
2336 } 2050 }
2337 break; 2051 break;
2338 case 25 : 2052 case 25 :
2339 // InternalSolverLanguageLexer.g:1:190: Only 2053 // InternalSolverLanguageLexer.g:1:184: FullStopFullStopFullStop
2340 { 2054 {
2341 mOnly(); 2055 mFullStopFullStopFullStop();
2342 2056
2343 } 2057 }
2344 break; 2058 break;
2345 case 26 : 2059 case 26 :
2346 // InternalSolverLanguageLexer.g:1:195: Prod 2060 // InternalSolverLanguageLexer.g:1:209: Inf
2347 { 2061 {
2348 mProd(); 2062 mInf();
2349 2063
2350 } 2064 }
2351 break; 2065 break;
2352 case 27 : 2066 case 27 :
2353 // InternalSolverLanguageLexer.g:1:200: Real 2067 // InternalSolverLanguageLexer.g:1:213: Let
2354 { 2068 {
2355 mReal(); 2069 mLet();
2356 2070
2357 } 2071 }
2358 break; 2072 break;
2359 case 28 : 2073 case 28 :
2360 // InternalSolverLanguageLexer.g:1:205: Then 2074 // InternalSolverLanguageLexer.g:1:217: May
2361 { 2075 {
2362 mThen(); 2076 mMay();
2363 2077
2364 } 2078 }
2365 break; 2079 break;
2366 case 29 : 2080 case 29 :
2367 // InternalSolverLanguageLexer.g:1:210: True 2081 // InternalSolverLanguageLexer.g:1:221: ExclamationMarkEqualsSign
2368 { 2082 {
2369 mTrue(); 2083 mExclamationMarkEqualsSign();
2370 2084
2371 } 2085 }
2372 break; 2086 break;
2373 case 30 : 2087 case 30 :
2374 // InternalSolverLanguageLexer.g:1:215: ADD 2088 // InternalSolverLanguageLexer.g:1:247: HyphenMinusGreaterThanSign
2375 { 2089 {
2376 mADD(); 2090 mHyphenMinusGreaterThanSign();
2377 2091
2378 } 2092 }
2379 break; 2093 break;
2380 case 31 : 2094 case 31 :
2381 // InternalSolverLanguageLexer.g:1:219: DIV 2095 // InternalSolverLanguageLexer.g:1:274: FullStopFullStop
2382 { 2096 {
2383 mDIV(); 2097 mFullStopFullStop();
2384 2098
2385 } 2099 }
2386 break; 2100 break;
2387 case 32 : 2101 case 32 :
2388 // InternalSolverLanguageLexer.g:1:223: MUL 2102 // InternalSolverLanguageLexer.g:1:291: ColonHyphenMinus
2389 { 2103 {
2390 mMUL(); 2104 mColonHyphenMinus();
2391 2105
2392 } 2106 }
2393 break; 2107 break;
2394 case 33 : 2108 case 33 :
2395 // InternalSolverLanguageLexer.g:1:227: POW 2109 // InternalSolverLanguageLexer.g:1:308: LessThanSignEqualsSign
2396 { 2110 {
2397 mPOW(); 2111 mLessThanSignEqualsSign();
2398 2112
2399 } 2113 }
2400 break; 2114 break;
2401 case 34 : 2115 case 34 :
2402 // InternalSolverLanguageLexer.g:1:231: SUB 2116 // InternalSolverLanguageLexer.g:1:331: EqualsSignEqualsSign
2403 { 2117 {
2404 mSUB(); 2118 mEqualsSignEqualsSign();
2405 2119
2406 } 2120 }
2407 break; 2121 break;
2408 case 35 : 2122 case 35 :
2409 // InternalSolverLanguageLexer.g:1:235: Avg 2123 // InternalSolverLanguageLexer.g:1:352: EqualsSignGreaterThanSign
2410 { 2124 {
2411 mAvg(); 2125 mEqualsSignGreaterThanSign();
2412 2126
2413 } 2127 }
2414 break; 2128 break;
2415 case 36 : 2129 case 36 :
2416 // InternalSolverLanguageLexer.g:1:239: Inf 2130 // InternalSolverLanguageLexer.g:1:378: GreaterThanSignEqualsSign
2417 { 2131 {
2418 mInf(); 2132 mGreaterThanSignEqualsSign();
2419 2133
2420 } 2134 }
2421 break; 2135 break;
2422 case 37 : 2136 case 37 :
2423 // InternalSolverLanguageLexer.g:1:243: Int 2137 // InternalSolverLanguageLexer.g:1:404: As
2424 { 2138 {
2425 mInt(); 2139 mAs();
2426 2140
2427 } 2141 }
2428 break; 2142 break;
2429 case 38 : 2143 case 38 :
2430 // InternalSolverLanguageLexer.g:1:247: Max 2144 // InternalSolverLanguageLexer.g:1:407: If
2431 {
2432 mMax();
2433
2434 }
2435 break;
2436 case 39 :
2437 // InternalSolverLanguageLexer.g:1:251: May
2438 {
2439 mMay();
2440
2441 }
2442 break;
2443 case 40 :
2444 // InternalSolverLanguageLexer.g:1:255: Min
2445 {
2446 mMin();
2447
2448 }
2449 break;
2450 case 41 :
2451 // InternalSolverLanguageLexer.g:1:259: Sum
2452 {
2453 mSum();
2454
2455 }
2456 break;
2457 case 42 :
2458 // InternalSolverLanguageLexer.g:1:263: ExclamationMarkEqualsSign
2459 {
2460 mExclamationMarkEqualsSign();
2461
2462 }
2463 break;
2464 case 43 :
2465 // InternalSolverLanguageLexer.g:1:289: HyphenMinusGreaterThanSign
2466 {
2467 mHyphenMinusGreaterThanSign();
2468
2469 }
2470 break;
2471 case 44 :
2472 // InternalSolverLanguageLexer.g:1:316: FullStopFullStop
2473 {
2474 mFullStopFullStop();
2475
2476 }
2477 break;
2478 case 45 :
2479 // InternalSolverLanguageLexer.g:1:333: ColonHyphenMinus
2480 {
2481 mColonHyphenMinus();
2482
2483 }
2484 break;
2485 case 46 :
2486 // InternalSolverLanguageLexer.g:1:350: LessThanSignEqualsSign
2487 {
2488 mLessThanSignEqualsSign();
2489
2490 }
2491 break;
2492 case 47 :
2493 // InternalSolverLanguageLexer.g:1:373: EqualsSignEqualsSign
2494 {
2495 mEqualsSignEqualsSign();
2496
2497 }
2498 break;
2499 case 48 :
2500 // InternalSolverLanguageLexer.g:1:394: GreaterThanSignEqualsSign
2501 {
2502 mGreaterThanSignEqualsSign();
2503
2504 }
2505 break;
2506 case 49 :
2507 // InternalSolverLanguageLexer.g:1:420: EQ
2508 {
2509 mEQ();
2510
2511 }
2512 break;
2513 case 50 :
2514 // InternalSolverLanguageLexer.g:1:423: IN
2515 {
2516 mIN();
2517
2518 }
2519 break;
2520 case 51 :
2521 // InternalSolverLanguageLexer.g:1:426: If
2522 { 2145 {
2523 mIf(); 2146 mIf();
2524 2147
2525 } 2148 }
2526 break; 2149 break;
2527 case 52 : 2150 case 39 :
2528 // InternalSolverLanguageLexer.g:1:429: In 2151 // InternalSolverLanguageLexer.g:1:410: In
2529 { 2152 {
2530 mIn(); 2153 mIn();
2531 2154
2532 } 2155 }
2533 break; 2156 break;
2534 case 53 : 2157 case 40 :
2535 // InternalSolverLanguageLexer.g:1:432: ExclamationMark 2158 // InternalSolverLanguageLexer.g:1:413: ExclamationMark
2536 { 2159 {
2537 mExclamationMark(); 2160 mExclamationMark();
2538 2161
2539 } 2162 }
2540 break; 2163 break;
2541 case 54 : 2164 case 41 :
2542 // InternalSolverLanguageLexer.g:1:448: LeftParenthesis 2165 // InternalSolverLanguageLexer.g:1:429: LeftParenthesis
2543 { 2166 {
2544 mLeftParenthesis(); 2167 mLeftParenthesis();
2545 2168
2546 } 2169 }
2547 break; 2170 break;
2548 case 55 : 2171 case 42 :
2549 // InternalSolverLanguageLexer.g:1:464: RightParenthesis 2172 // InternalSolverLanguageLexer.g:1:445: RightParenthesis
2550 { 2173 {
2551 mRightParenthesis(); 2174 mRightParenthesis();
2552 2175
2553 } 2176 }
2554 break; 2177 break;
2555 case 56 : 2178 case 43 :
2556 // InternalSolverLanguageLexer.g:1:481: Asterisk 2179 // InternalSolverLanguageLexer.g:1:462: Asterisk
2557 { 2180 {
2558 mAsterisk(); 2181 mAsterisk();
2559 2182
2560 } 2183 }
2561 break; 2184 break;
2562 case 57 : 2185 case 44 :
2563 // InternalSolverLanguageLexer.g:1:490: PlusSign 2186 // InternalSolverLanguageLexer.g:1:471: PlusSign
2564 { 2187 {
2565 mPlusSign(); 2188 mPlusSign();
2566 2189
2567 } 2190 }
2568 break; 2191 break;
2569 case 58 : 2192 case 45 :
2570 // InternalSolverLanguageLexer.g:1:499: Comma 2193 // InternalSolverLanguageLexer.g:1:480: Comma
2571 { 2194 {
2572 mComma(); 2195 mComma();
2573 2196
2574 } 2197 }
2575 break; 2198 break;
2576 case 59 : 2199 case 46 :
2577 // InternalSolverLanguageLexer.g:1:505: HyphenMinus 2200 // InternalSolverLanguageLexer.g:1:486: HyphenMinus
2578 { 2201 {
2579 mHyphenMinus(); 2202 mHyphenMinus();
2580 2203
2581 } 2204 }
2582 break; 2205 break;
2583 case 60 : 2206 case 47 :
2584 // InternalSolverLanguageLexer.g:1:517: FullStop 2207 // InternalSolverLanguageLexer.g:1:498: FullStop
2585 { 2208 {
2586 mFullStop(); 2209 mFullStop();
2587 2210
2588 } 2211 }
2589 break; 2212 break;
2590 case 61 : 2213 case 48 :
2591 // InternalSolverLanguageLexer.g:1:526: Solidus 2214 // InternalSolverLanguageLexer.g:1:507: Solidus
2592 { 2215 {
2593 mSolidus(); 2216 mSolidus();
2594 2217
2595 } 2218 }
2596 break; 2219 break;
2597 case 62 : 2220 case 49 :
2598 // InternalSolverLanguageLexer.g:1:534: Colon 2221 // InternalSolverLanguageLexer.g:1:515: Colon
2599 { 2222 {
2600 mColon(); 2223 mColon();
2601 2224
2602 } 2225 }
2603 break; 2226 break;
2604 case 63 : 2227 case 50 :
2605 // InternalSolverLanguageLexer.g:1:540: Semicolon 2228 // InternalSolverLanguageLexer.g:1:521: Semicolon
2606 { 2229 {
2607 mSemicolon(); 2230 mSemicolon();
2608 2231
2609 } 2232 }
2610 break; 2233 break;
2611 case 64 : 2234 case 51 :
2612 // InternalSolverLanguageLexer.g:1:550: LessThanSign 2235 // InternalSolverLanguageLexer.g:1:531: LessThanSign
2613 { 2236 {
2614 mLessThanSign(); 2237 mLessThanSign();
2615 2238
2616 } 2239 }
2617 break; 2240 break;
2618 case 65 : 2241 case 52 :
2619 // InternalSolverLanguageLexer.g:1:563: EqualsSign 2242 // InternalSolverLanguageLexer.g:1:544: EqualsSign
2620 { 2243 {
2621 mEqualsSign(); 2244 mEqualsSign();
2622 2245
2623 } 2246 }
2624 break; 2247 break;
2625 case 66 : 2248 case 53 :
2626 // InternalSolverLanguageLexer.g:1:574: GreaterThanSign 2249 // InternalSolverLanguageLexer.g:1:555: GreaterThanSign
2627 { 2250 {
2628 mGreaterThanSign(); 2251 mGreaterThanSign();
2629 2252
2630 } 2253 }
2631 break; 2254 break;
2632 case 67 : 2255 case 54 :
2633 // InternalSolverLanguageLexer.g:1:590: LeftSquareBracket 2256 // InternalSolverLanguageLexer.g:1:571: LeftSquareBracket
2634 { 2257 {
2635 mLeftSquareBracket(); 2258 mLeftSquareBracket();
2636 2259
2637 } 2260 }
2638 break; 2261 break;
2639 case 68 : 2262 case 55 :
2640 // InternalSolverLanguageLexer.g:1:608: RightSquareBracket 2263 // InternalSolverLanguageLexer.g:1:589: RightSquareBracket
2641 { 2264 {
2642 mRightSquareBracket(); 2265 mRightSquareBracket();
2643 2266
2644 } 2267 }
2645 break; 2268 break;
2646 case 69 : 2269 case 56 :
2647 // InternalSolverLanguageLexer.g:1:627: CircumflexAccent 2270 // InternalSolverLanguageLexer.g:1:608: CircumflexAccent
2648 { 2271 {
2649 mCircumflexAccent(); 2272 mCircumflexAccent();
2650 2273
2651 } 2274 }
2652 break; 2275 break;
2653 case 70 : 2276 case 57 :
2654 // InternalSolverLanguageLexer.g:1:644: LeftCurlyBracket 2277 // InternalSolverLanguageLexer.g:1:625: LeftCurlyBracket
2655 { 2278 {
2656 mLeftCurlyBracket(); 2279 mLeftCurlyBracket();
2657 2280
2658 } 2281 }
2659 break; 2282 break;
2660 case 71 : 2283 case 58 :
2661 // InternalSolverLanguageLexer.g:1:661: VerticalLine 2284 // InternalSolverLanguageLexer.g:1:642: VerticalLine
2662 { 2285 {
2663 mVerticalLine(); 2286 mVerticalLine();
2664 2287
2665 } 2288 }
2666 break; 2289 break;
2667 case 72 : 2290 case 59 :
2668 // InternalSolverLanguageLexer.g:1:674: RightCurlyBracket 2291 // InternalSolverLanguageLexer.g:1:655: RightCurlyBracket
2669 { 2292 {
2670 mRightCurlyBracket(); 2293 mRightCurlyBracket();
2671 2294
2672 } 2295 }
2673 break; 2296 break;
2674 case 73 : 2297 case 60 :
2675 // InternalSolverLanguageLexer.g:1:692: RULE_STRING 2298 // InternalSolverLanguageLexer.g:1:673: RULE_STRING
2676 { 2299 {
2677 mRULE_STRING(); 2300 mRULE_STRING();
2678 2301
2679 } 2302 }
2680 break; 2303 break;
2681 case 74 : 2304 case 61 :
2682 // InternalSolverLanguageLexer.g:1:704: RULE_QUOTED_ID 2305 // InternalSolverLanguageLexer.g:1:685: RULE_QUOTED_ID
2683 { 2306 {
2684 mRULE_QUOTED_ID(); 2307 mRULE_QUOTED_ID();
2685 2308
2686 } 2309 }
2687 break; 2310 break;
2688 case 75 : 2311 case 62 :
2689 // InternalSolverLanguageLexer.g:1:719: RULE_SL_COMMENT 2312 // InternalSolverLanguageLexer.g:1:700: RULE_SL_COMMENT
2690 { 2313 {
2691 mRULE_SL_COMMENT(); 2314 mRULE_SL_COMMENT();
2692 2315
2693 } 2316 }
2694 break; 2317 break;
2695 case 76 : 2318 case 63 :
2696 // InternalSolverLanguageLexer.g:1:735: RULE_ID 2319 // InternalSolverLanguageLexer.g:1:716: RULE_ID
2697 { 2320 {
2698 mRULE_ID(); 2321 mRULE_ID();
2699 2322
2700 } 2323 }
2701 break; 2324 break;
2702 case 77 : 2325 case 64 :
2703 // InternalSolverLanguageLexer.g:1:743: RULE_INT 2326 // InternalSolverLanguageLexer.g:1:724: RULE_INT
2704 { 2327 {
2705 mRULE_INT(); 2328 mRULE_INT();
2706 2329
2707 } 2330 }
2708 break; 2331 break;
2709 case 78 : 2332 case 65 :
2710 // InternalSolverLanguageLexer.g:1:752: RULE_ML_COMMENT 2333 // InternalSolverLanguageLexer.g:1:733: RULE_ML_COMMENT
2711 { 2334 {
2712 mRULE_ML_COMMENT(); 2335 mRULE_ML_COMMENT();
2713 2336
2714 } 2337 }
2715 break; 2338 break;
2716 case 79 : 2339 case 66 :
2717 // InternalSolverLanguageLexer.g:1:768: RULE_WS 2340 // InternalSolverLanguageLexer.g:1:749: RULE_WS
2718 { 2341 {
2719 mRULE_WS(); 2342 mRULE_WS();
2720 2343
2721 } 2344 }
2722 break; 2345 break;
2723 case 80 : 2346 case 67 :
2724 // InternalSolverLanguageLexer.g:1:776: RULE_ANY_OTHER 2347 // InternalSolverLanguageLexer.g:1:757: RULE_ANY_OTHER
2725 { 2348 {
2726 mRULE_ANY_OTHER(); 2349 mRULE_ANY_OTHER();
2727 2350
@@ -2735,105 +2358,86 @@ public class InternalSolverLanguageLexer extends Lexer {
2735 2358
2736 protected DFA12 dfa12 = new DFA12(this); 2359 protected DFA12 dfa12 = new DFA12(this);
2737 static final String DFA12_eotS = 2360 static final String DFA12_eotS =
2738 "\1\uffff\25\64\1\127\1\131\1\133\1\135\1\137\1\141\1\143\2\64\5\uffff\1\155\3\uffff\1\161\3\uffff\2\62\5\uffff\1\64\1\uffff\37\64\1\u009d\1\u009e\16\uffff\1\u009f\1\u00a0\23\uffff\4\64\1\u00a5\4\64\1\u00ab\1\u00ac\1\u00ae\14\64\1\u00bb\4\64\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\4\uffff\4\64\1\uffff\5\64\2\uffff\1\64\1\uffff\1\u00d1\1\64\1\u00d3\1\u00d5\4\64\1\u00db\3\64\1\uffff\1\u00df\1\u00e0\1\u00e1\1\u00e2\7\uffff\2\64\1\u00e5\2\64\1\u00e8\1\64\1\u00ea\2\64\1\uffff\1\64\1\uffff\1\64\1\uffff\3\64\1\u00f2\1\u00f3\1\uffff\2\64\1\u00f6\4\uffff\2\64\1\uffff\2\64\1\uffff\1\64\1\uffff\6\64\1\u0102\2\uffff\1\64\1\u0104\1\uffff\1\u0106\3\64\1\u010a\3\64\1\u010e\1\u010f\1\u0110\1\uffff\1\u0111\1\uffff\1\64\1\uffff\1\64\1\u0114\1\u0115\1\uffff\1\u0116\1\u0117\1\u0118\4\uffff\2\64\5\uffff\1\u011b\1\u011c\2\uffff"; 2361 "\1\uffff\12\53\1\100\2\53\1\105\1\107\1\111\1\113\1\116\1\120\5\uffff\1\130\3\uffff\1\134\3\uffff\2\47\5\uffff\3\53\1\uffff\1\53\1\150\21\53\1\176\1\uffff\1\u0080\1\u0081\1\53\40\uffff\4\53\1\uffff\7\53\1\u008e\14\53\2\uffff\1\u009b\2\uffff\1\u009c\13\53\1\uffff\1\53\1\u00a9\5\53\1\u00b0\2\53\1\u00b3\1\u00b4\2\uffff\2\53\1\u00b7\2\53\1\u00ba\1\53\1\u00bc\4\53\1\uffff\4\53\1\u00c5\1\u00c6\1\uffff\1\53\1\u00c8\2\uffff\1\53\1\u00ca\1\uffff\2\53\1\uffff\1\53\1\uffff\6\53\1\u00d4\1\u00d5\2\uffff\1\53\1\uffff\1\53\1\uffff\2\53\1\u00da\1\53\1\u00dc\3\53\1\u00e0\2\uffff\1\u00e1\1\53\1\u00e3\1\u00e4\1\uffff\1\u00e5\1\uffff\1\u00e6\1\u00e7\1\u00e8\2\uffff\1\53\6\uffff\1\u00ea\1\uffff";
2739 static final String DFA12_eofS = 2362 static final String DFA12_eofS =
2740 "\u011d\uffff"; 2363 "\u00eb\uffff";
2741 static final String DFA12_minS = 2364 static final String DFA12_minS =
2742 "\1\0\1\122\1\141\1\142\1\154\1\141\1\156\1\105\1\145\1\154\1\156\1\117\1\143\1\162\1\145\1\150\1\104\1\111\1\125\1\117\1\125\1\146\1\75\1\76\1\56\1\55\3\75\1\121\1\116\5\uffff\1\52\3\uffff\1\101\3\uffff\2\0\5\uffff\1\105\1\uffff\1\156\1\154\1\163\1\147\1\156\1\162\1\141\1\170\1\156\1\163\1\160\1\154\1\123\1\146\1\164\1\160\1\162\1\163\1\153\1\124\1\157\1\155\1\157\1\141\1\145\1\165\1\104\1\126\1\114\1\127\1\102\2\60\16\uffff\2\60\23\uffff\1\101\1\143\1\163\1\164\1\60\1\164\1\156\1\162\1\163\3\60\1\164\1\157\1\171\1\123\1\141\1\145\1\164\1\157\1\145\1\156\1\137\1\160\1\60\1\144\1\154\1\156\1\145\7\60\4\uffff\1\124\1\164\1\145\1\162\1\uffff\1\141\1\164\1\145\1\163\1\155\2\uffff\1\155\1\uffff\1\60\1\163\2\60\1\165\1\156\1\171\1\162\1\60\1\157\1\105\1\145\1\uffff\4\60\7\uffff\1\105\1\151\1\60\1\141\1\151\1\60\1\156\1\60\2\151\1\uffff\1\151\1\uffff\1\105\1\uffff\1\154\1\144\1\156\2\60\1\uffff\1\167\1\121\1\60\4\uffff\1\122\1\157\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\2\172\1\164\1\121\1\164\1\163\1\60\2\uffff\1\156\1\60\1\uffff\1\60\1\156\1\164\1\163\1\60\3\145\3\60\1\uffff\1\60\1\uffff\1\105\1\uffff\1\141\2\60\1\uffff\3\60\4\uffff\1\121\1\154\5\uffff\2\60\2\uffff"; 2365 "\1\0\1\141\1\142\1\154\2\141\1\160\1\154\1\156\1\143\1\150\1\56\1\146\1\145\1\75\1\76\1\55\3\75\5\uffff\1\52\3\uffff\1\101\3\uffff\2\0\5\uffff\1\156\1\162\1\154\1\uffff\1\163\1\60\1\156\1\162\1\141\1\164\1\146\1\170\1\156\1\163\1\160\1\151\1\160\1\162\1\163\1\153\1\157\1\145\1\165\1\56\1\uffff\2\60\1\164\40\uffff\1\143\1\141\1\163\1\164\1\uffff\1\164\1\156\1\162\1\163\2\141\1\151\1\60\1\151\1\164\1\157\1\145\1\163\1\164\1\157\1\145\1\156\1\160\1\156\1\145\2\uffff\1\60\2\uffff\1\60\1\164\1\154\1\145\1\162\1\141\1\164\1\145\1\163\1\164\1\165\1\155\1\uffff\1\155\1\60\1\163\1\156\1\164\1\171\1\162\1\60\1\157\1\145\2\60\2\uffff\1\151\1\154\1\60\1\141\1\151\1\60\1\156\1\60\1\171\1\154\2\151\1\uffff\1\151\1\144\1\156\1\163\2\60\1\uffff\1\167\1\60\2\uffff\1\157\1\60\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\1\160\1\164\2\172\1\164\1\163\2\60\2\uffff\1\156\1\uffff\1\156\1\uffff\1\164\1\163\1\60\1\145\1\60\3\145\1\60\2\uffff\1\60\1\141\2\60\1\uffff\1\60\1\uffff\3\60\2\uffff\1\154\6\uffff\1\60\1\uffff";
2743 static final String DFA12_maxS = 2366 static final String DFA12_maxS =
2744 "\1\uffff\1\122\1\165\1\166\2\165\1\160\1\105\1\145\1\170\1\156\1\117\1\165\1\162\1\145\1\162\1\104\1\111\1\125\1\117\1\125\1\156\1\75\1\76\1\56\1\55\3\75\1\121\1\116\5\uffff\1\57\3\uffff\1\172\3\uffff\2\uffff\5\uffff\1\105\1\uffff\1\156\1\154\1\163\1\147\1\165\1\162\1\141\1\171\1\156\1\163\1\160\1\154\1\123\1\146\1\164\1\160\1\162\1\163\1\153\1\124\1\157\1\155\1\157\1\141\1\145\1\165\1\104\1\126\1\114\1\127\1\102\2\172\16\uffff\2\172\23\uffff\1\101\1\143\1\163\1\164\1\172\1\164\1\156\1\162\1\163\3\172\1\164\1\157\1\171\1\123\1\141\1\145\1\164\1\157\1\145\1\156\1\137\1\160\1\172\1\144\1\154\1\156\1\145\7\172\4\uffff\1\124\1\164\1\145\1\162\1\uffff\1\141\1\164\1\145\1\163\1\155\2\uffff\1\155\1\uffff\1\172\1\163\2\172\1\165\1\162\1\171\1\162\1\172\1\157\1\105\1\145\1\uffff\4\172\7\uffff\1\105\1\151\1\172\1\141\1\151\1\172\1\156\1\172\2\151\1\uffff\1\151\1\uffff\1\105\1\uffff\1\154\1\144\1\156\2\172\1\uffff\1\167\1\121\1\172\4\uffff\1\122\1\157\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\2\172\1\164\1\121\1\164\1\163\1\172\2\uffff\1\156\1\172\1\uffff\1\172\1\156\1\164\1\163\1\172\3\145\3\172\1\uffff\1\172\1\uffff\1\105\1\uffff\1\141\2\172\1\uffff\3\172\4\uffff\1\121\1\154\5\uffff\2\172\2\uffff"; 2367 "\1\uffff\1\165\1\163\1\165\1\145\1\165\1\160\1\170\1\156\1\143\1\162\1\56\1\156\1\145\1\75\1\76\1\55\1\75\1\76\1\75\5\uffff\1\57\3\uffff\1\172\3\uffff\2\uffff\5\uffff\1\156\1\162\1\154\1\uffff\1\163\1\172\1\165\1\162\1\141\1\164\1\146\1\171\1\156\1\163\1\160\1\164\1\160\1\162\1\163\1\153\1\157\1\145\1\165\1\56\1\uffff\2\172\1\164\40\uffff\1\143\1\141\1\163\1\164\1\uffff\1\164\1\156\1\162\1\163\2\141\1\151\1\172\1\151\1\164\1\157\1\145\1\163\1\164\1\157\1\145\1\156\1\160\1\156\1\145\2\uffff\1\172\2\uffff\1\172\1\164\1\154\1\145\1\162\1\141\1\164\1\145\1\163\1\164\1\165\1\155\1\uffff\1\155\1\172\1\163\1\162\1\164\1\171\1\162\1\172\1\157\1\145\2\172\2\uffff\1\151\1\154\1\172\1\141\1\151\1\172\1\156\1\172\1\171\1\154\2\151\1\uffff\1\151\1\144\1\156\1\163\2\172\1\uffff\1\167\1\172\2\uffff\1\157\1\172\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\1\160\1\164\2\172\1\164\1\163\2\172\2\uffff\1\156\1\uffff\1\156\1\uffff\1\164\1\163\1\172\1\145\1\172\3\145\1\172\2\uffff\1\172\1\141\2\172\1\uffff\1\172\1\uffff\3\172\2\uffff\1\154\6\uffff\1\172\1\uffff";
2745 static final String DFA12_acceptS = 2368 static final String DFA12_acceptS =
2746 "\37\uffff\1\66\1\67\1\70\1\71\1\72\1\uffff\1\77\1\103\1\104\1\uffff\1\106\1\107\1\110\2\uffff\1\113\1\114\1\115\1\117\1\120\1\uffff\1\114\41\uffff\1\52\1\65\1\53\1\73\1\54\1\74\1\55\1\76\1\56\1\100\1\57\1\101\1\60\1\102\2\uffff\1\66\1\67\1\70\1\71\1\72\1\113\1\116\1\75\1\77\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\115\1\117\44\uffff\1\64\1\63\1\61\1\62\4\uffff\1\43\5\uffff\1\46\1\47\1\uffff\1\50\14\uffff\1\51\4\uffff\1\36\1\37\1\40\1\41\1\42\1\44\1\45\12\uffff\1\30\1\uffff\1\31\1\uffff\1\26\5\uffff\1\27\3\uffff\1\32\1\33\1\34\1\35\2\uffff\1\24\2\uffff\1\21\1\uffff\1\20\7\uffff\1\22\1\23\2\uffff\1\25\13\uffff\1\17\1\uffff\1\16\1\uffff\1\10\3\uffff\1\12\3\uffff\1\11\1\13\1\14\1\15\2\uffff\1\3\1\4\1\5\1\6\1\7\2\uffff\1\1\1\2"; 2369 "\24\uffff\1\51\1\52\1\53\1\54\1\55\1\uffff\1\62\1\66\1\67\1\uffff\1\71\1\72\1\73\2\uffff\1\76\1\77\1\100\1\102\1\103\3\uffff\1\77\24\uffff\1\57\3\uffff\1\35\1\50\1\36\1\56\1\40\1\61\1\41\1\63\1\42\1\43\1\64\1\44\1\65\1\51\1\52\1\53\1\54\1\55\1\76\1\101\1\60\1\62\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\100\1\102\4\uffff\1\45\24\uffff\1\31\1\37\1\uffff\1\47\1\46\14\uffff\1\34\14\uffff\1\32\1\33\14\uffff\1\26\6\uffff\1\25\2\uffff\1\27\1\30\2\uffff\1\23\2\uffff\1\20\1\uffff\1\17\10\uffff\1\21\1\22\1\uffff\1\24\1\uffff\1\16\11\uffff\1\15\1\14\4\uffff\1\10\1\uffff\1\11\3\uffff\1\12\1\13\1\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\1";
2747 static final String DFA12_specialS = 2370 static final String DFA12_specialS =
2748 "\1\1\53\uffff\1\0\1\2\u00ef\uffff}>"; 2371 "\1\2\40\uffff\1\0\1\1\u00c8\uffff}>";
2749 static final String[] DFA12_transitionS = { 2372 static final String[] DFA12_transitionS = {
2750 "\11\62\2\61\2\62\1\61\22\62\1\61\1\26\1\54\2\62\1\56\1\62\1\55\1\37\1\40\1\41\1\42\1\43\1\27\1\30\1\44\12\60\1\31\1\45\1\32\1\33\1\34\2\62\1\20\2\57\1\21\1\35\1\57\1\1\1\57\1\36\2\57\1\7\1\22\1\13\1\57\1\23\2\57\1\24\7\57\1\46\1\62\1\47\1\50\1\57\1\62\1\3\1\57\1\4\1\10\1\11\1\2\2\57\1\25\3\57\1\5\1\57\1\6\1\15\1\57\1\16\1\14\1\17\1\12\5\57\1\51\1\52\1\53\uff82\62", 2373 "\11\47\2\46\2\47\1\46\22\47\1\46\1\16\1\41\2\47\1\43\1\47\1\42\1\24\1\25\1\26\1\27\1\30\1\17\1\13\1\31\12\45\1\20\1\32\1\21\1\22\1\23\2\47\32\44\1\33\1\47\1\34\1\35\1\44\1\47\1\2\1\44\1\3\1\4\1\7\1\1\2\44\1\14\2\44\1\15\1\5\1\44\1\6\3\44\1\11\1\12\1\10\5\44\1\36\1\37\1\40\uff82\47",
2751 "\1\63", 2374 "\1\52\15\uffff\1\51\5\uffff\1\50",
2752 "\1\66\23\uffff\1\65", 2375 "\1\54\20\uffff\1\55",
2753 "\1\67\23\uffff\1\70", 2376 "\1\60\2\uffff\1\56\5\uffff\1\57",
2754 "\1\73\2\uffff\1\71\5\uffff\1\72", 2377 "\1\61\3\uffff\1\62",
2755 "\1\74\7\uffff\1\75\13\uffff\1\76", 2378 "\1\63\7\uffff\1\64\13\uffff\1\65",
2756 "\1\100\1\uffff\1\77", 2379 "\1\66",
2757 "\1\101", 2380 "\1\72\1\70\4\uffff\1\71\5\uffff\1\67",
2758 "\1\102", 2381 "\1\73",
2759 "\1\106\1\104\4\uffff\1\105\5\uffff\1\103", 2382 "\1\74",
2760 "\1\107", 2383 "\1\75\11\uffff\1\76",
2384 "\1\77",
2385 "\1\102\7\uffff\1\101",
2386 "\1\103",
2387 "\1\104",
2388 "\1\106",
2761 "\1\110", 2389 "\1\110",
2762 "\1\111\21\uffff\1\112", 2390 "\1\112",
2763 "\1\113", 2391 "\1\114\1\115",
2764 "\1\114",
2765 "\1\115\11\uffff\1\116",
2766 "\1\117", 2392 "\1\117",
2767 "\1\120",
2768 "\1\121",
2769 "\1\122",
2770 "\1\123",
2771 "\1\125\7\uffff\1\124",
2772 "\1\126",
2773 "\1\130",
2774 "\1\132",
2775 "\1\134",
2776 "\1\136",
2777 "\1\140",
2778 "\1\142",
2779 "\1\144",
2780 "\1\145",
2781 "", 2393 "",
2782 "", 2394 "",
2783 "", 2395 "",
2784 "", 2396 "",
2785 "", 2397 "",
2786 "\1\154\4\uffff\1\153", 2398 "\1\127\4\uffff\1\126",
2787 "", 2399 "",
2788 "", 2400 "",
2789 "", 2401 "",
2790 "\32\64\4\uffff\1\64\1\uffff\32\64", 2402 "\32\53\4\uffff\1\53\1\uffff\32\53",
2791 "", 2403 "",
2792 "", 2404 "",
2793 "", 2405 "",
2794 "\0\165", 2406 "\0\140",
2795 "\0\166", 2407 "\0\141",
2796 "", 2408 "",
2797 "", 2409 "",
2798 "", 2410 "",
2799 "", 2411 "",
2800 "", 2412 "",
2413 "\1\144",
2414 "\1\145",
2415 "\1\146",
2416 "",
2417 "\1\147",
2418 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2419 "\1\151\6\uffff\1\152",
2420 "\1\153",
2421 "\1\154",
2422 "\1\155",
2423 "\1\156",
2424 "\1\157\1\160",
2425 "\1\161",
2426 "\1\162",
2427 "\1\163",
2428 "\1\165\12\uffff\1\164",
2429 "\1\166",
2430 "\1\167",
2431 "\1\170",
2801 "\1\171", 2432 "\1\171",
2802 "",
2803 "\1\172", 2433 "\1\172",
2804 "\1\173", 2434 "\1\173",
2805 "\1\174", 2435 "\1\174",
2806 "\1\175", 2436 "\1\175",
2807 "\1\176\6\uffff\1\177",
2808 "\1\u0080",
2809 "\1\u0081",
2810 "\1\u0082\1\u0083",
2811 "\1\u0084",
2812 "\1\u0085",
2813 "\1\u0086",
2814 "\1\u0087",
2815 "\1\u0088",
2816 "\1\u0089",
2817 "\1\u008a",
2818 "\1\u008b",
2819 "\1\u008c",
2820 "\1\u008d",
2821 "\1\u008e",
2822 "\1\u008f",
2823 "\1\u0090",
2824 "\1\u0091",
2825 "\1\u0092",
2826 "\1\u0093",
2827 "\1\u0094",
2828 "\1\u0095",
2829 "\1\u0096",
2830 "\1\u0097",
2831 "\1\u0098",
2832 "\1\u0099",
2833 "\1\u009a",
2834 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\5\64\1\u009b\15\64\1\u009c\6\64",
2835 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2836 "", 2437 "",
2438 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\5\53\1\177\24\53",
2439 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2440 "\1\u0082",
2837 "", 2441 "",
2838 "", 2442 "",
2839 "", 2443 "",
@@ -2847,8 +2451,6 @@ public class InternalSolverLanguageLexer extends Lexer {
2847 "", 2451 "",
2848 "", 2452 "",
2849 "", 2453 "",
2850 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2851 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2852 "", 2454 "",
2853 "", 2455 "",
2854 "", 2456 "",
@@ -2868,169 +2470,140 @@ public class InternalSolverLanguageLexer extends Lexer {
2868 "", 2470 "",
2869 "", 2471 "",
2870 "", 2472 "",
2473 "\1\u0083",
2474 "\1\u0084",
2475 "\1\u0085",
2476 "\1\u0086",
2477 "",
2478 "\1\u0087",
2479 "\1\u0088",
2480 "\1\u0089",
2481 "\1\u008a",
2482 "\1\u008b",
2483 "\1\u008c",
2484 "\1\u008d",
2485 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2486 "\1\u008f",
2487 "\1\u0090",
2488 "\1\u0091",
2489 "\1\u0092",
2490 "\1\u0093",
2491 "\1\u0094",
2492 "\1\u0095",
2493 "\1\u0096",
2494 "\1\u0097",
2495 "\1\u0098",
2496 "\1\u0099",
2497 "\1\u009a",
2498 "",
2499 "",
2500 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2501 "",
2502 "",
2503 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2504 "\1\u009d",
2505 "\1\u009e",
2506 "\1\u009f",
2507 "\1\u00a0",
2871 "\1\u00a1", 2508 "\1\u00a1",
2872 "\1\u00a2", 2509 "\1\u00a2",
2873 "\1\u00a3", 2510 "\1\u00a3",
2874 "\1\u00a4", 2511 "\1\u00a4",
2875 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2512 "\1\u00a5",
2876 "\1\u00a6", 2513 "\1\u00a6",
2877 "\1\u00a7", 2514 "\1\u00a7",
2515 "",
2878 "\1\u00a8", 2516 "\1\u00a8",
2879 "\1\u00a9", 2517 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2880 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00aa\21\64", 2518 "\1\u00aa",
2881 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2519 "\1\u00ab\3\uffff\1\u00ac",
2882 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00ad\21\64", 2520 "\1\u00ad",
2521 "\1\u00ae",
2883 "\1\u00af", 2522 "\1\u00af",
2884 "\1\u00b0", 2523 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2885 "\1\u00b1", 2524 "\1\u00b1",
2886 "\1\u00b2", 2525 "\1\u00b2",
2887 "\1\u00b3", 2526 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2888 "\1\u00b4", 2527 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2528 "",
2529 "",
2889 "\1\u00b5", 2530 "\1\u00b5",
2890 "\1\u00b6", 2531 "\1\u00b6",
2891 "\1\u00b7", 2532 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2892 "\1\u00b8", 2533 "\1\u00b8",
2893 "\1\u00b9", 2534 "\1\u00b9",
2894 "\1\u00ba", 2535 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2895 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2536 "\1\u00bb",
2896 "\1\u00bc", 2537 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2897 "\1\u00bd", 2538 "\1\u00bd",
2898 "\1\u00be", 2539 "\1\u00be",
2899 "\1\u00bf", 2540 "\1\u00bf",
2900 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2541 "\1\u00c0",
2901 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2902 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2903 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2904 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2905 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2906 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2907 "", 2542 "",
2543 "\1\u00c1",
2544 "\1\u00c2",
2545 "\1\u00c3",
2546 "\1\u00c4",
2547 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2548 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2908 "", 2549 "",
2550 "\1\u00c7",
2551 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2909 "", 2552 "",
2910 "", 2553 "",
2911 "\1\u00c7",
2912 "\1\u00c8",
2913 "\1\u00c9", 2554 "\1\u00c9",
2914 "\1\u00ca", 2555 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2915 "", 2556 "",
2916 "\1\u00cb", 2557 "\1\u00cb",
2917 "\1\u00cc", 2558 "\1\u00cc",
2559 "",
2918 "\1\u00cd", 2560 "\1\u00cd",
2561 "",
2919 "\1\u00ce", 2562 "\1\u00ce",
2920 "\1\u00cf", 2563 "\1\u00cf",
2921 "",
2922 "",
2923 "\1\u00d0", 2564 "\1\u00d0",
2924 "", 2565 "\1\u00d1",
2925 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2926 "\1\u00d2", 2566 "\1\u00d2",
2927 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2567 "\1\u00d3",
2928 "\12\64\7\uffff\32\64\4\uffff\1\u00d4\1\uffff\32\64", 2568 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2569 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2570 "",
2571 "",
2929 "\1\u00d6", 2572 "\1\u00d6",
2930 "\1\u00d7\3\uffff\1\u00d8", 2573 "",
2574 "\1\u00d7",
2575 "",
2576 "\1\u00d8",
2931 "\1\u00d9", 2577 "\1\u00d9",
2932 "\1\u00da", 2578 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2933 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2579 "\1\u00db",
2934 "\1\u00dc", 2580 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2935 "\1\u00dd", 2581 "\1\u00dd",
2936 "\1\u00de", 2582 "\1\u00de",
2583 "\1\u00df",
2584 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2937 "", 2585 "",
2938 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2939 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2940 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2941 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2942 "", 2586 "",
2587 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2588 "\1\u00e2",
2589 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2590 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2943 "", 2591 "",
2592 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2944 "", 2593 "",
2594 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2595 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2596 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2945 "", 2597 "",
2946 "", 2598 "",
2947 "",
2948 "",
2949 "\1\u00e3",
2950 "\1\u00e4",
2951 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2952 "\1\u00e6",
2953 "\1\u00e7",
2954 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2955 "\1\u00e9", 2599 "\1\u00e9",
2956 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2957 "\1\u00eb",
2958 "\1\u00ec",
2959 "",
2960 "\1\u00ed",
2961 "",
2962 "\1\u00ee",
2963 "",
2964 "\1\u00ef",
2965 "\1\u00f0",
2966 "\1\u00f1",
2967 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2968 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2969 "",
2970 "\1\u00f4",
2971 "\1\u00f5",
2972 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2973 "",
2974 "",
2975 "",
2976 "",
2977 "\1\u00f7",
2978 "\1\u00f8",
2979 "",
2980 "\1\u00f9",
2981 "\1\u00fa",
2982 "",
2983 "\1\u00fb",
2984 "",
2985 "\1\u00fc",
2986 "\1\u00fd",
2987 "\1\u00fe",
2988 "\1\u00ff",
2989 "\1\u0100",
2990 "\1\u0101",
2991 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2992 "",
2993 "",
2994 "\1\u0103",
2995 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2996 "",
2997 "\12\64\7\uffff\32\64\4\uffff\1\u0105\1\uffff\32\64",
2998 "\1\u0107",
2999 "\1\u0108",
3000 "\1\u0109",
3001 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3002 "\1\u010b",
3003 "\1\u010c",
3004 "\1\u010d",
3005 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3006 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3007 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3008 "", 2600 "",
3009 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3010 "", 2601 "",
3011 "\1\u0112",
3012 "", 2602 "",
3013 "\1\u0113",
3014 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3015 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3016 "", 2603 "",
3017 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3018 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3019 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3020 "", 2604 "",
3021 "", 2605 "",
3022 "", 2606 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
3023 "",
3024 "\1\u0119",
3025 "\1\u011a",
3026 "",
3027 "",
3028 "",
3029 "",
3030 "",
3031 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3032 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3033 "",
3034 "" 2607 ""
3035 }; 2608 };
3036 2609
@@ -3064,135 +2637,113 @@ public class InternalSolverLanguageLexer extends Lexer {
3064 this.transition = DFA12_transition; 2637 this.transition = DFA12_transition;
3065 } 2638 }
3066 public String getDescription() { 2639 public String getDescription() {
3067 return "1:1: Tokens : ( GREATER_EQ | Functional | Abstract | Contains | Maximize | Minimize | Opposite | GREATER | LESS_EQ | Current | Default | Extends | Unknown | NOT_EQ | Extern | Class | Count | Empty | Error | False | Scope | LESS | Else | Must | Only | Prod | Real | Then | True | ADD | DIV | MUL | POW | SUB | Avg | Inf | Int | Max | May | Min | Sum | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | GreaterThanSignEqualsSign | EQ | IN | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 2640 return "1:1: Tokens : ( Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Current | Default | Extends | Unknown | Exists | Extern | Forall | Class | Count | Empty | Error | False | Scope | Else | Must | Then | True | FullStopFullStopFullStop | Inf | Let | May | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );";
3068 } 2641 }
3069 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 2642 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
3070 IntStream input = _input; 2643 IntStream input = _input;
3071 int _s = s; 2644 int _s = s;
3072 switch ( s ) { 2645 switch ( s ) {
3073 case 0 : 2646 case 0 :
3074 int LA12_44 = input.LA(1); 2647 int LA12_33 = input.LA(1);
3075 2648
3076 s = -1; 2649 s = -1;
3077 if ( ((LA12_44>='\u0000' && LA12_44<='\uFFFF')) ) {s = 117;} 2650 if ( ((LA12_33>='\u0000' && LA12_33<='\uFFFF')) ) {s = 96;}
3078 2651
3079 else s = 50; 2652 else s = 39;
3080 2653
3081 if ( s>=0 ) return s; 2654 if ( s>=0 ) return s;
3082 break; 2655 break;
3083 case 1 : 2656 case 1 :
3084 int LA12_0 = input.LA(1); 2657 int LA12_34 = input.LA(1);
3085 2658
3086 s = -1; 2659 s = -1;
3087 if ( (LA12_0=='G') ) {s = 1;} 2660 if ( ((LA12_34>='\u0000' && LA12_34<='\uFFFF')) ) {s = 97;}
3088
3089 else if ( (LA12_0=='f') ) {s = 2;}
3090
3091 else if ( (LA12_0=='a') ) {s = 3;}
3092
3093 else if ( (LA12_0=='c') ) {s = 4;}
3094
3095 else if ( (LA12_0=='m') ) {s = 5;}
3096
3097 else if ( (LA12_0=='o') ) {s = 6;}
3098
3099 else if ( (LA12_0=='L') ) {s = 7;}
3100 2661
3101 else if ( (LA12_0=='d') ) {s = 8;} 2662 else s = 39;
3102 2663
3103 else if ( (LA12_0=='e') ) {s = 9;} 2664 if ( s>=0 ) return s;
3104 2665 break;
3105 else if ( (LA12_0=='u') ) {s = 10;} 2666 case 2 :
3106 2667 int LA12_0 = input.LA(1);
3107 else if ( (LA12_0=='N') ) {s = 11;}
3108
3109 else if ( (LA12_0=='s') ) {s = 12;}
3110
3111 else if ( (LA12_0=='p') ) {s = 13;}
3112
3113 else if ( (LA12_0=='r') ) {s = 14;}
3114 2668
3115 else if ( (LA12_0=='t') ) {s = 15;} 2669 s = -1;
2670 if ( (LA12_0=='f') ) {s = 1;}
3116 2671
3117 else if ( (LA12_0=='A') ) {s = 16;} 2672 else if ( (LA12_0=='a') ) {s = 2;}
3118 2673
3119 else if ( (LA12_0=='D') ) {s = 17;} 2674 else if ( (LA12_0=='c') ) {s = 3;}
3120 2675
3121 else if ( (LA12_0=='M') ) {s = 18;} 2676 else if ( (LA12_0=='d') ) {s = 4;}
3122 2677
3123 else if ( (LA12_0=='P') ) {s = 19;} 2678 else if ( (LA12_0=='m') ) {s = 5;}
3124 2679
3125 else if ( (LA12_0=='S') ) {s = 20;} 2680 else if ( (LA12_0=='o') ) {s = 6;}
3126 2681
3127 else if ( (LA12_0=='i') ) {s = 21;} 2682 else if ( (LA12_0=='e') ) {s = 7;}
3128 2683
3129 else if ( (LA12_0=='!') ) {s = 22;} 2684 else if ( (LA12_0=='u') ) {s = 8;}
3130 2685
3131 else if ( (LA12_0=='-') ) {s = 23;} 2686 else if ( (LA12_0=='s') ) {s = 9;}
3132 2687
3133 else if ( (LA12_0=='.') ) {s = 24;} 2688 else if ( (LA12_0=='t') ) {s = 10;}
3134 2689
3135 else if ( (LA12_0==':') ) {s = 25;} 2690 else if ( (LA12_0=='.') ) {s = 11;}
3136 2691
3137 else if ( (LA12_0=='<') ) {s = 26;} 2692 else if ( (LA12_0=='i') ) {s = 12;}
3138 2693
3139 else if ( (LA12_0=='=') ) {s = 27;} 2694 else if ( (LA12_0=='l') ) {s = 13;}
3140 2695
3141 else if ( (LA12_0=='>') ) {s = 28;} 2696 else if ( (LA12_0=='!') ) {s = 14;}
3142 2697
3143 else if ( (LA12_0=='E') ) {s = 29;} 2698 else if ( (LA12_0=='-') ) {s = 15;}
3144 2699
3145 else if ( (LA12_0=='I') ) {s = 30;} 2700 else if ( (LA12_0==':') ) {s = 16;}
3146 2701
3147 else if ( (LA12_0=='(') ) {s = 31;} 2702 else if ( (LA12_0=='<') ) {s = 17;}
3148 2703
3149 else if ( (LA12_0==')') ) {s = 32;} 2704 else if ( (LA12_0=='=') ) {s = 18;}
3150 2705
3151 else if ( (LA12_0=='*') ) {s = 33;} 2706 else if ( (LA12_0=='>') ) {s = 19;}
3152 2707
3153 else if ( (LA12_0=='+') ) {s = 34;} 2708 else if ( (LA12_0=='(') ) {s = 20;}
3154 2709
3155 else if ( (LA12_0==',') ) {s = 35;} 2710 else if ( (LA12_0==')') ) {s = 21;}
3156 2711
3157 else if ( (LA12_0=='/') ) {s = 36;} 2712 else if ( (LA12_0=='*') ) {s = 22;}
3158 2713
3159 else if ( (LA12_0==';') ) {s = 37;} 2714 else if ( (LA12_0=='+') ) {s = 23;}
3160 2715
3161 else if ( (LA12_0=='[') ) {s = 38;} 2716 else if ( (LA12_0==',') ) {s = 24;}
3162 2717
3163 else if ( (LA12_0==']') ) {s = 39;} 2718 else if ( (LA12_0=='/') ) {s = 25;}
3164 2719
3165 else if ( (LA12_0=='^') ) {s = 40;} 2720 else if ( (LA12_0==';') ) {s = 26;}
3166 2721
3167 else if ( (LA12_0=='{') ) {s = 41;} 2722 else if ( (LA12_0=='[') ) {s = 27;}
3168 2723
3169 else if ( (LA12_0=='|') ) {s = 42;} 2724 else if ( (LA12_0==']') ) {s = 28;}
3170 2725
3171 else if ( (LA12_0=='}') ) {s = 43;} 2726 else if ( (LA12_0=='^') ) {s = 29;}
3172 2727
3173 else if ( (LA12_0=='\"') ) {s = 44;} 2728 else if ( (LA12_0=='{') ) {s = 30;}
3174 2729
3175 else if ( (LA12_0=='\'') ) {s = 45;} 2730 else if ( (LA12_0=='|') ) {s = 31;}
3176 2731
3177 else if ( (LA12_0=='%') ) {s = 46;} 2732 else if ( (LA12_0=='}') ) {s = 32;}
3178 2733
3179 else if ( ((LA12_0>='B' && LA12_0<='C')||LA12_0=='F'||LA12_0=='H'||(LA12_0>='J' && LA12_0<='K')||LA12_0=='O'||(LA12_0>='Q' && LA12_0<='R')||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||LA12_0=='q'||(LA12_0>='v' && LA12_0<='z')) ) {s = 47;} 2734 else if ( (LA12_0=='\"') ) {s = 33;}
3180 2735
3181 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 48;} 2736 else if ( (LA12_0=='\'') ) {s = 34;}
3182 2737
3183 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 49;} 2738 else if ( (LA12_0=='%') ) {s = 35;}
3184 2739
3185 else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 50;} 2740 else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='r')||(LA12_0>='v' && LA12_0<='z')) ) {s = 36;}
3186 2741
3187 if ( s>=0 ) return s; 2742 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 37;}
3188 break;
3189 case 2 :
3190 int LA12_45 = input.LA(1);
3191 2743
3192 s = -1; 2744 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 38;}
3193 if ( ((LA12_45>='\u0000' && LA12_45<='\uFFFF')) ) {s = 118;}
3194 2745
3195 else s = 50; 2746 else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 39;}
3196 2747
3197 if ( s>=0 ) return s; 2748 if ( s>=0 ) return s;
3198 break; 2749 break;
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
index 133cc9d6..178103e2 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
@@ -1,83 +1,70 @@
1ADD=33 1Abstract=5
2Abstract=6 2As=40
3Asterisk=59 3Asterisk=46
4Avg=38 4CircumflexAccent=59
5CircumflexAccent=72 5Class=18
6Class=19 6Colon=52
7Colon=65 7ColonHyphenMinus=35
8ColonHyphenMinus=48 8Comma=48
9Comma=61 9Contains=6
10Contains=7 10Count=19
11Count=20 11Current=11
12Current=13 12Datatype=7
13DIV=34 13Default=12
14Default=14 14Else=24
15EQ=52 15Empty=20
16Else=26 16EqualsSign=55
17Empty=21 17EqualsSignEqualsSign=37
18EqualsSign=68 18EqualsSignGreaterThanSign=38
19EqualsSignEqualsSign=50 19Error=21
20Error=22 20ExclamationMark=43
21ExclamationMark=56 21ExclamationMarkEqualsSign=32
22ExclamationMarkEqualsSign=45 22Exists=15
23Extends=15 23Extends=13
24Extern=18 24Extern=16
25False=23 25False=22
26FullStop=63 26Forall=17
27FullStopFullStop=47 27FullStop=50
28Functional=5 28FullStopFullStop=34
29GREATER=11 29FullStopFullStopFullStop=28
30GREATER_EQ=4 30Functional=4
31GreaterThanSign=69 31GreaterThanSign=56
32GreaterThanSignEqualsSign=51 32GreaterThanSignEqualsSign=39
33HyphenMinus=62 33HyphenMinus=49
34HyphenMinusGreaterThanSign=46 34HyphenMinusGreaterThanSign=33
35IN=53 35If=41
36If=54 36In=42
37In=55 37Inf=29
38Inf=39 38LeftCurlyBracket=60
39Int=40 39LeftParenthesis=44
40LESS=25 40LeftSquareBracket=57
41LESS_EQ=12 41LessThanSign=54
42LeftCurlyBracket=73 42LessThanSignEqualsSign=36
43LeftParenthesis=57 43Let=30
44LeftSquareBracket=70
45LessThanSign=67
46LessThanSignEqualsSign=49
47MUL=35
48Max=41
49Maximize=8 44Maximize=8
50May=42 45May=31
51Min=43
52Minimize=9 46Minimize=9
53Must=27 47Must=25
54NOT_EQ=17
55Only=28
56Opposite=10 48Opposite=10
57POW=36 49PlusSign=47
58PlusSign=60 50RULE_ANY_OTHER=73
59Prod=29 51RULE_FULL_STOP=68
60RULE_ANY_OTHER=86 52RULE_ID=69
61RULE_FULL_STOP=81 53RULE_INT=70
62RULE_ID=82 54RULE_ML_COMMENT=71
63RULE_INT=83 55RULE_QUOTED_ID=64
64RULE_ML_COMMENT=84 56RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67
65RULE_QUOTED_ID=77 57RULE_SL_COMMENT=65
66RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 58RULE_STRING=63
67RULE_SL_COMMENT=78 59RULE_TRANSITIVE_CLOSURE=66
68RULE_STRING=76 60RULE_WS=72
69RULE_TRANSITIVE_CLOSURE=79 61RightCurlyBracket=62
70RULE_WS=85 62RightParenthesis=45
71Real=30 63RightSquareBracket=58
72RightCurlyBracket=75 64Scope=23
73RightParenthesis=58 65Semicolon=53
74RightSquareBracket=71 66Solidus=51
75SUB=37 67Then=26
76Scope=24 68True=27
77Semicolon=66 69Unknown=14
78Solidus=64 70VerticalLine=61
79Sum=44
80Then=31
81True=32
82Unknown=16
83VerticalLine=74