From 771e3773bb7ebbf6712724cb2b248467c9cc2e3c Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 8 May 2020 21:02:33 +0200 Subject: Synthetic tokens for solver language --- .../AbstractSolverLanguageRuntimeModule.java | 2 +- .../viatra/solver/language/SolverLanguage.xtextbin | Bin 11842 -> 11964 bytes .../SolverLanguageAntlrTokenFileProvider.java | 2 +- .../parser/antlr/SolverLanguageParser.java | 15 + .../parser/antlr/internal/InternalSolverLanguage.g | 3902 --------- .../antlr/internal/InternalSolverLanguage.tokens | 131 - .../internal/InternalSolverLanguageLexer.java | 2805 ------- .../antlr/internal/InternalSolverLanguageParser.g | 3839 +++++++++ .../internal/InternalSolverLanguageParser.java | 8379 +++++++++----------- .../internal/InternalSolverLanguageParser.tokens | 83 + .../antlr/lexer/InternalSolverLanguageLexer.g | 178 + .../antlr/lexer/InternalSolverLanguageLexer.java | 3208 ++++++++ .../antlr/lexer/InternalSolverLanguageLexer.tokens | 83 + .../SolverLanguageSemanticSequencer.java | 111 +- .../SolverLanguageSyntacticSequencer.java | 64 +- .../services/SolverLanguageGrammarAccess.java | 179 +- .../solver/language/solverLanguage/Call.java | 46 +- .../language/solverLanguage/ClassDefinition.java | 97 + .../solverLanguage/SolverLanguageFactory.java | 9 + .../solverLanguage/SolverLanguagePackage.java | 2189 ++--- .../solver/language/solverLanguage/Statement.java | 79 - .../language/solverLanguage/impl/CallImpl.java | 118 +- .../solverLanguage/impl/ClassDefinitionImpl.java | 340 + .../impl/SolverLanguageFactoryImpl.java | 13 + .../impl/SolverLanguagePackageImpl.java | 142 +- .../solverLanguage/impl/StatementImpl.java | 298 - .../util/SolverLanguageAdapterFactory.java | 20 + .../solverLanguage/util/SolverLanguageSwitch.java | 24 + 28 files changed, 12336 insertions(+), 14020 deletions(-) delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens delete mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java create mode 100644 Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java (limited to 'Application/org.eclipse.viatra.solver.language/src-gen/org') diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java index 5b6118ec..4bf254b2 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java @@ -10,7 +10,7 @@ import java.util.Properties; import org.eclipse.viatra.solver.language.generator.SolverLanguageGenerator; import org.eclipse.viatra.solver.language.parser.antlr.SolverLanguageAntlrTokenFileProvider; import org.eclipse.viatra.solver.language.parser.antlr.SolverLanguageParser; -import org.eclipse.viatra.solver.language.parser.antlr.internal.InternalSolverLanguageLexer; +import org.eclipse.viatra.solver.language.parser.antlr.lexer.InternalSolverLanguageLexer; import org.eclipse.viatra.solver.language.scoping.SolverLanguageScopeProvider; import org.eclipse.viatra.solver.language.serializer.SolverLanguageSemanticSequencer; import org.eclipse.viatra.solver.language.serializer.SolverLanguageSyntacticSequencer; diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin index cbdd7c40..da698ba6 100644 Binary files a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin and b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin differ diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java index 9b5fd45d..cfddb988 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java @@ -11,6 +11,6 @@ public class SolverLanguageAntlrTokenFileProvider implements IAntlrTokenFileProv @Override public InputStream getAntlrTokenFile() { ClassLoader classLoader = getClass().getClassLoader(); - return classLoader.getResourceAsStream("org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens"); + return classLoader.getResourceAsStream("org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens"); } } diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java index eb746697..da897406 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java @@ -4,6 +4,8 @@ package org.eclipse.viatra.solver.language.parser.antlr; import com.google.inject.Inject; +import org.antlr.runtime.CharStream; +import org.antlr.runtime.TokenSource; import org.eclipse.viatra.solver.language.parser.antlr.internal.InternalSolverLanguageParser; import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; @@ -19,6 +21,19 @@ public class SolverLanguageParser extends AbstractAntlrParser { tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); } + @Override + protected TokenSource createLexer(CharStream stream) { + return new SolverLanguageTokenSource(super.createLexer(stream)); + } + + /** + * Indentation aware languages do not support partial parsing since the lexer is inherently stateful. + * Override and return {@code true} if your terminal splitting is stateless. + */ + @Override + protected boolean isReparseSupported() { + return false; + } @Override protected InternalSolverLanguageParser createParser(XtextTokenStream stream) { diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g deleted file mode 100644 index 3fac9254..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g +++ /dev/null @@ -1,3902 +0,0 @@ -/* - * generated by Xtext 2.21.0 - */ -grammar InternalSolverLanguage; - -options { - superClass=AbstractInternalAntlrParser; -} - -@lexer::header { -package org.eclipse.viatra.solver.language.parser.antlr.internal; - -// Hack: Use our own Lexer superclass by means of import. -// Currently there is no other way to specify the superclass for the lexer. -import org.eclipse.xtext.parser.antlr.Lexer; -} - -@parser::header { -package org.eclipse.viatra.solver.language.parser.antlr.internal; - -import org.eclipse.xtext.*; -import org.eclipse.xtext.parser.*; -import org.eclipse.xtext.parser.impl.*; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.common.util.Enumerator; -import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; -import org.eclipse.xtext.parser.antlr.XtextTokenStream; -import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; -import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; -import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; - -} - -@parser::members { - - private SolverLanguageGrammarAccess grammarAccess; - - public InternalSolverLanguageParser(TokenStream input, SolverLanguageGrammarAccess grammarAccess) { - this(input); - this.grammarAccess = grammarAccess; - registerRules(grammarAccess.getGrammar()); - } - - @Override - protected String getFirstRuleName() { - return "Problem"; - } - - @Override - protected SolverLanguageGrammarAccess getGrammarAccess() { - return grammarAccess; - } - -} - -@rulecatch { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } -} - -// Entry rule entryRuleProblem -entryRuleProblem returns [EObject current=null]: - { newCompositeNode(grammarAccess.getProblemRule()); } - iv_ruleProblem=ruleProblem - { $current=$iv_ruleProblem.current; } - EOF; - -// Rule Problem -ruleProblem returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); - } - lv_statements_0_0=ruleStatement - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProblemRule()); - } - add( - $current, - "statements", - lv_statements_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); - afterParserOrEnumRuleCall(); - } - ) - )* -; - -// Entry rule entryRuleStatement -entryRuleStatement returns [EObject current=null]: - { newCompositeNode(grammarAccess.getStatementRule()); } - iv_ruleStatement=ruleStatement - { $current=$iv_ruleStatement.current; } - EOF; - -// Rule Statement -ruleStatement returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); - } - this_AssertionOrDefinition_0=ruleAssertionOrDefinition - { - $current = $this_AssertionOrDefinition_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); - } - this_PredicateDefinition_1=rulePredicateDefinition - { - $current = $this_PredicateDefinition_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); - } - this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition - { - $current = $this_UnnamedErrorPrediateDefinition_2.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); - } - this_DefaultDefinition_3=ruleDefaultDefinition - { - $current = $this_DefaultDefinition_3.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); - } - this_ExternPredicateDefinition_4=ruleExternPredicateDefinition - { - $current = $this_ExternPredicateDefinition_4.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); - } - this_MetricDefinition_5=ruleMetricDefinition - { - $current = $this_MetricDefinition_5.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); - } - this_ExternMetricDefinition_6=ruleExternMetricDefinition - { - $current = $this_ExternMetricDefinition_6.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); - } - this_ClassDefinition_7=ruleClassDefinition - { - $current = $this_ClassDefinition_7.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); - } - this_ScopeDefinition_8=ruleScopeDefinition - { - $current = $this_ScopeDefinition_8.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); - } - this_ObjectiveDefinition_9=ruleObjectiveDefinition - { - $current = $this_ObjectiveDefinition_9.current; - afterParserOrEnumRuleCall(); - } - ) - this_DOT_10=RULE_DOT - { - newLeafNode(this_DOT_10, grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); - } - ) -; - -// Entry rule entryRuleAssertionOrDefinition -entryRuleAssertionOrDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); } - iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition - { $current=$iv_ruleAssertionOrDefinition.current; } - EOF; - -// Rule AssertionOrDefinition -ruleAssertionOrDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); - } - this_Expression_0=ruleExpression - { - $current = $this_Expression_0.current; - afterParserOrEnumRuleCall(); - } - ( - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), - $current); - } - ) - ( - otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); - } - lv_range_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); - } - set( - $current, - "range", - lv_range_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - )? - ) - | - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), - $current); - } - ) - otherlv_5=':-' - { - newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); - } - lv_body_6_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); - } - set( - $current, - "body", - lv_body_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) - | - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), - $current); - } - ) - otherlv_8='=' - { - newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); - } - lv_body_9_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); - } - set( - $current, - "body", - lv_body_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) - ) - ) -; - -// Entry rule entryRulePredicateDefinition -entryRulePredicateDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getPredicateDefinitionRule()); } - iv_rulePredicateDefinition=rulePredicateDefinition - { $current=$iv_rulePredicateDefinition.current; } - EOF; - -// Rule PredicateDefinition -rulePredicateDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - ( - ( - lv_functional_0_0='functional' - { - newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed($current, "functional", true, "functional"); - } - ) - ) - ( - ( - lv_error_1_0='error' - { - newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed($current, "error", true, "error"); - } - ) - )? - ) - | - ( - ( - ( - lv_error_2_0='error' - { - newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed($current, "error", true, "error"); - } - ) - ) - ( - ( - lv_functional_3_0='functional' - { - newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed($current, "functional", true, "functional"); - } - ) - )? - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); - } - lv_head_4_0=ruleCall - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - set( - $current, - "head", - lv_head_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_5=':-' - { - newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); - } - ( - ( - { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - } - lv_body_6_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - set( - $current, - "body", - lv_body_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleUnnamedErrorPrediateDefinition -entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); } - iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition - { $current=$iv_ruleUnnamedErrorPrediateDefinition.current; } - EOF; - -// Rule UnnamedErrorPrediateDefinition -ruleUnnamedErrorPrediateDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='error' - { - newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); - } - lv_argumentList_1_0=ruleArgumentList - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); - } - set( - $current, - "argumentList", - lv_argumentList_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2=':-' - { - newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); - } - ( - ( - { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - } - lv_body_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); - } - set( - $current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleDefaultDefinition -entryRuleDefaultDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getDefaultDefinitionRule()); } - iv_ruleDefaultDefinition=ruleDefaultDefinition - { $current=$iv_ruleDefaultDefinition.current; } - EOF; - -// Rule DefaultDefinition -ruleDefaultDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='default' - { - newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); - } - lv_head_1_0=ruleCall - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); - } - set( - $current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); - } - ( - ( - { - newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); - } - lv_range_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); - } - set( - $current, - "range", - lv_range_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleExternPredicateDefinition -entryRuleExternPredicateDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } - iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition - { $current=$iv_ruleExternPredicateDefinition.current; } - EOF; - -// Rule ExternPredicateDefinition -ruleExternPredicateDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='extern' - { - newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); - } - lv_head_1_0=ruleCall - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); - } - set( - $current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2='.' - { - newLeafNode(otherlv_2, grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); - } - ) -; - -// Entry rule entryRuleMetricDefinition -entryRuleMetricDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } - iv_ruleMetricDefinition=ruleMetricDefinition - { $current=$iv_ruleMetricDefinition.current; } - EOF; - -// Rule MetricDefinition -ruleMetricDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); - } - lv_type_0_0=ruleMetricType - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); - } - set( - $current, - "type", - lv_type_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); - } - lv_head_1_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); - } - set( - $current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2='=' - { - newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); - } - ( - ( - { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - } - lv_body_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); - } - set( - $current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleExternMetricDefinition -entryRuleExternMetricDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } - iv_ruleExternMetricDefinition=ruleExternMetricDefinition - { $current=$iv_ruleExternMetricDefinition.current; } - EOF; - -// Rule ExternMetricDefinition -ruleExternMetricDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='extern' - { - newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); - } - lv_type_1_0=ruleMetricType - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); - } - set( - $current, - "type", - lv_type_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); - } - lv_head_2_0=ruleCall - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); - } - set( - $current, - "head", - lv_head_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleExpression -entryRuleExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExpressionRule()); } - iv_ruleExpression=ruleExpression - { $current=$iv_ruleExpression.current; } - EOF; - -// Rule Expression -ruleExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); - } - this_IfElse_0=ruleIfElse - { - $current = $this_IfElse_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); - } - this_DisjunctiveExpression_1=ruleDisjunctiveExpression - { - $current = $this_DisjunctiveExpression_1.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleIfElse -entryRuleIfElse returns [EObject current=null]: - { newCompositeNode(grammarAccess.getIfElseRule()); } - iv_ruleIfElse=ruleIfElse - { $current=$iv_ruleIfElse.current; } - EOF; - -// Rule IfElse -ruleIfElse returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='if' - { - newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); - } - lv_condition_1_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIfElseRule()); - } - set( - $current, - "condition", - lv_condition_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2='then' - { - newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); - } - ( - ( - { - newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); - } - lv_then_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIfElseRule()); - } - set( - $current, - "then", - lv_then_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_4='else' - { - newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); - } - ( - ( - { - newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); - } - lv_else_5_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIfElseRule()); - } - set( - $current, - "else", - lv_else_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleDisjunctiveExpression -entryRuleDisjunctiveExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } - iv_ruleDisjunctiveExpression=ruleDisjunctiveExpression - { $current=$iv_ruleDisjunctiveExpression.current; } - EOF; - -// Rule DisjunctiveExpression -ruleDisjunctiveExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); - } - this_ConjunctiveExpression_0=ruleConjunctiveExpression - { - $current = $this_ConjunctiveExpression_0.current; - afterParserOrEnumRuleCall(); - } - ( - ( - ( - { - $current = forceCreateModelElementAndAdd( - grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0(), - $current); - } - ) - ( - otherlv_2=';' - { - newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); - } - lv_children_3_0=ruleConjunctiveExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); - } - add( - $current, - "children", - lv_children_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - )+ - ) - | - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(), - $current); - } - ) - otherlv_5='->' - { - newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); - } - lv_body_6_0=ruleConjunctiveExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); - } - set( - $current, - "body", - lv_body_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - { - $current = forceCreateModelElementAndAdd( - grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3(), - $current); - } - ) - ( - otherlv_8=';' - { - newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); - } - lv_cases_9_0=ruleCase - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); - } - add( - $current, - "cases", - lv_cases_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Case"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - ) - )? - ) -; - -// Entry rule entryRuleCase -entryRuleCase returns [EObject current=null]: - { newCompositeNode(grammarAccess.getCaseRule()); } - iv_ruleCase=ruleCase - { $current=$iv_ruleCase.current; } - EOF; - -// Rule Case -ruleCase returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); - } - lv_condition_0_0=ruleConjunctiveExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCaseRule()); - } - set( - $current, - "condition", - lv_condition_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_1='->' - { - newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); - } - lv_body_2_0=ruleConjunctiveExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCaseRule()); - } - set( - $current, - "body", - lv_body_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleConjunctiveExpression -entryRuleConjunctiveExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); } - iv_ruleConjunctiveExpression=ruleConjunctiveExpression - { $current=$iv_ruleConjunctiveExpression.current; } - EOF; - -// Rule ConjunctiveExpression -ruleConjunctiveExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); - } - this_ComparisonExpression_0=ruleComparisonExpression - { - $current = $this_ComparisonExpression_0.current; - afterParserOrEnumRuleCall(); - } - ( - ( - { - $current = forceCreateModelElementAndAdd( - grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0(), - $current); - } - ) - ( - otherlv_2=',' - { - newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); - } - lv_children_3_0=ruleComparisonExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConjunctiveExpressionRule()); - } - add( - $current, - "children", - lv_children_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - )+ - )? - ) -; - -// Entry rule entryRuleComparisonExpression -entryRuleComparisonExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getComparisonExpressionRule()); } - iv_ruleComparisonExpression=ruleComparisonExpression - { $current=$iv_ruleComparisonExpression.current; } - EOF; - -// Rule ComparisonExpression -ruleComparisonExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); - } - this_AdditiveExpression_0=ruleAdditiveExpression - { - $current = $this_AdditiveExpression_0.current; - afterParserOrEnumRuleCall(); - } - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), - $current); - } - ) - ( - ( - { - newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); - } - lv_op_2_0=ruleComparisonOperator - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); - } - set( - $current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); - } - lv_right_3_0=ruleAdditiveExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); - } - set( - $current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - )? - ) -; - -// Entry rule entryRuleAdditiveExpression -entryRuleAdditiveExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAdditiveExpressionRule()); } - iv_ruleAdditiveExpression=ruleAdditiveExpression - { $current=$iv_ruleAdditiveExpression.current; } - EOF; - -// Rule AdditiveExpression -ruleAdditiveExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); - } - this_MultiplicativeExpression_0=ruleMultiplicativeExpression - { - $current = $this_MultiplicativeExpression_0.current; - afterParserOrEnumRuleCall(); - } - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0(), - $current); - } - ) - ( - ( - { - newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); - } - lv_op_2_0=ruleAdditiveBinaryOperator - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); - } - set( - $current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); - } - lv_right_3_0=ruleMultiplicativeExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); - } - set( - $current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - ) -; - -// Entry rule entryRuleMultiplicativeExpression -entryRuleMultiplicativeExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); } - iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression - { $current=$iv_ruleMultiplicativeExpression.current; } - EOF; - -// Rule MultiplicativeExpression -ruleMultiplicativeExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); - } - this_ExponentialExpression_0=ruleExponentialExpression - { - $current = $this_ExponentialExpression_0.current; - afterParserOrEnumRuleCall(); - } - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0(), - $current); - } - ) - ( - ( - { - newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); - } - lv_op_2_0=ruleMultiplicativeBinaryOperator - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); - } - set( - $current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); - } - lv_right_3_0=ruleExponentialExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); - } - set( - $current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - ) -; - -// Entry rule entryRuleExponentialExpression -entryRuleExponentialExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExponentialExpressionRule()); } - iv_ruleExponentialExpression=ruleExponentialExpression - { $current=$iv_ruleExponentialExpression.current; } - EOF; - -// Rule ExponentialExpression -ruleExponentialExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); - } - this_UnaryExpression_0=ruleUnaryExpression - { - $current = $this_UnaryExpression_0.current; - afterParserOrEnumRuleCall(); - } - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0(), - $current); - } - ) - ( - ( - { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); - } - lv_op_2_0=ruleExponentialOp - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); - } - set( - $current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); - } - lv_right_3_0=ruleExponentialExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); - } - set( - $current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - )? - ) -; - -// Entry rule entryRuleUnaryExpression -entryRuleUnaryExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getUnaryExpressionRule()); } - iv_ruleUnaryExpression=ruleUnaryExpression - { $current=$iv_ruleUnaryExpression.current; } - EOF; - -// Rule UnaryExpression -ruleUnaryExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); - } - this_AggregationExpression_0=ruleAggregationExpression - { - $current = $this_AggregationExpression_0.current; - afterParserOrEnumRuleCall(); - } - | - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0(), - $current); - } - ) - ( - ( - { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); - } - lv_op_2_0=ruleUnaryOp - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); - } - set( - $current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); - } - lv_body_3_0=ruleAggregationExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); - } - set( - $current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) - ) -; - -// Entry rule entryRuleAggregationExpression -entryRuleAggregationExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAggregationExpressionRule()); } - iv_ruleAggregationExpression=ruleAggregationExpression - { $current=$iv_ruleAggregationExpression.current; } - EOF; - -// Rule AggregationExpression -ruleAggregationExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); - } - this_AtomicExpression_0=ruleAtomicExpression - { - $current = $this_AtomicExpression_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); - } - this_Count_1=ruleCount - { - $current = $this_Count_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); - } - this_Aggregation_2=ruleAggregation - { - $current = $this_Aggregation_2.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleCount -entryRuleCount returns [EObject current=null]: - { newCompositeNode(grammarAccess.getCountRule()); } - iv_ruleCount=ruleCount - { $current=$iv_ruleCount.current; } - EOF; - -// Rule Count -ruleCount returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='count' - { - newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); - } - otherlv_1='{' - { - newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); - } - lv_body_2_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCountRule()); - } - set( - $current, - "body", - lv_body_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_3='}' - { - newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); - } - ) -; - -// Entry rule entryRuleAggregation -entryRuleAggregation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAggregationRule()); } - iv_ruleAggregation=ruleAggregation - { $current=$iv_ruleAggregation.current; } - EOF; - -// Rule Aggregation -ruleAggregation returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); - } - lv_op_0_0=ruleAggregationOp - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - $current, - "op", - lv_op_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_1='{' - { - newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); - } - ( - ( - { - newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); - } - lv_body_2_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - $current, - "body", - lv_body_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_3='|' - { - newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); - } - ( - ( - { - newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); - } - lv_condition_4_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - $current, - "condition", - lv_condition_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_5='}' - { - newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); - } - ) -; - -// Entry rule entryRuleAtomicExpression -entryRuleAtomicExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAtomicExpressionRule()); } - iv_ruleAtomicExpression=ruleAtomicExpression - { $current=$iv_ruleAtomicExpression.current; } - EOF; - -// Rule AtomicExpression -ruleAtomicExpression returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); - } - this_Reference_0=ruleReference - { - $current = $this_Reference_0.current; - afterParserOrEnumRuleCall(); - } - ( - ( - { - $current = forceCreateModelElementAndSet( - grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(), - $current); - } - ) - ( - ('(')=> - ( - { - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); - } - lv_argumentList_2_0=ruleArgumentList - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); - } - set( - $current, - "argumentList", - lv_argumentList_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); - afterParserOrEnumRuleCall(); - } - ) - ) - )? - ) - | - { - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); - } - this_Interval_3=ruleInterval - { - $current = $this_Interval_3.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); - } - this_Literal_4=ruleLiteral - { - $current = $this_Literal_4.current; - afterParserOrEnumRuleCall(); - } - | - ( - otherlv_5='(' - { - newLeafNode(otherlv_5, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); - } - { - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); - } - this_Expression_6=ruleExpression - { - $current = $this_Expression_6.current; - afterParserOrEnumRuleCall(); - } - otherlv_7=')' - { - newLeafNode(otherlv_7, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); - } - ) - ) -; - -// Entry rule entryRuleCall -entryRuleCall returns [EObject current=null]: - { newCompositeNode(grammarAccess.getCallRule()); } - iv_ruleCall=ruleCall - { $current=$iv_ruleCall.current; } - EOF; - -// Rule Call -ruleCall returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); - } - lv_functor_0_0=ruleReference - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCallRule()); - } - set( - $current, - "functor", - lv_functor_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - ( - lv_transitiveClosure_1_0=RULE_STAR - { - newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getCallRule()); - } - setWithLastConsumed( - $current, - "transitiveClosure", - true, - "org.eclipse.viatra.solver.language.SolverLanguage.STAR"); - } - ) - ) - | - ( - ( - lv_reflexiveTransitiveClosure_2_0=RULE_PLUS - { - newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getCallRule()); - } - setWithLastConsumed( - $current, - "reflexiveTransitiveClosure", - true, - "org.eclipse.viatra.solver.language.SolverLanguage.PLUS"); - } - ) - ) - )? - ( - ( - { - newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); - } - lv_argumentList_3_0=ruleArgumentList - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCallRule()); - } - set( - $current, - "argumentList", - lv_argumentList_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleArgumentList -entryRuleArgumentList returns [EObject current=null]: - { newCompositeNode(grammarAccess.getArgumentListRule()); } - iv_ruleArgumentList=ruleArgumentList - { $current=$iv_ruleArgumentList.current; } - EOF; - -// Rule ArgumentList -ruleArgumentList returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getArgumentListAccess().getArgumentListAction_0(), - $current); - } - ) - otherlv_1='(' - { - newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); - } - ( - ( - ( - { - newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); - } - lv_arguments_2_0=ruleArgument - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getArgumentListRule()); - } - add( - $current, - "arguments", - lv_arguments_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_3=',' - { - newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); - } - lv_arguments_4_0=ruleArgument - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getArgumentListRule()); - } - add( - $current, - "arguments", - lv_arguments_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - otherlv_5=')' - { - newLeafNode(otherlv_5, grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); - } - ) -; - -// Entry rule entryRuleArgument -entryRuleArgument returns [EObject current=null]: - { newCompositeNode(grammarAccess.getArgumentRule()); } - iv_ruleArgument=ruleArgument - { $current=$iv_ruleArgument.current; } - EOF; - -// Rule Argument -ruleArgument returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); - } - this_ExpressionArgument_0=ruleExpressionArgument - { - $current = $this_ExpressionArgument_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); - } - this_StarArgument_1=ruleStarArgument - { - $current = $this_StarArgument_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); - } - this_TypedArgument_2=ruleTypedArgument - { - $current = $this_TypedArgument_2.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); - } - this_TypedStarArgument_3=ruleTypedStarArgument - { - $current = $this_TypedStarArgument_3.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleExpressionArgument -entryRuleExpressionArgument returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExpressionArgumentRule()); } - iv_ruleExpressionArgument=ruleExpressionArgument - { $current=$iv_ruleExpressionArgument.current; } - EOF; - -// Rule ExpressionArgument -ruleExpressionArgument returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); - } - lv_body_0_0=ruleComparisonExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); - } - set( - $current, - "body", - lv_body_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); - afterParserOrEnumRuleCall(); - } - ) - ) -; - -// Entry rule entryRuleStarArgument -entryRuleStarArgument returns [EObject current=null]: - { newCompositeNode(grammarAccess.getStarArgumentRule()); } - iv_ruleStarArgument=ruleStarArgument - { $current=$iv_ruleStarArgument.current; } - EOF; - -// Rule StarArgument -ruleStarArgument returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getStarArgumentAccess().getStarArgumentAction_0(), - $current); - } - ) - otherlv_1='*' - { - newLeafNode(otherlv_1, grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); - } - ) -; - -// Entry rule entryRuleTypedArgument -entryRuleTypedArgument returns [EObject current=null]: - { newCompositeNode(grammarAccess.getTypedArgumentRule()); } - iv_ruleTypedArgument=ruleTypedArgument - { $current=$iv_ruleTypedArgument.current; } - EOF; - -// Rule TypedArgument -ruleTypedArgument returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypedArgumentRule()); - } - } - { - newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypedArgumentRule()); - } - } - { - newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleTypedStarArgument -entryRuleTypedStarArgument returns [EObject current=null]: - { newCompositeNode(grammarAccess.getTypedStarArgumentRule()); } - iv_ruleTypedStarArgument=ruleTypedStarArgument - { $current=$iv_ruleTypedStarArgument.current; } - EOF; - -// Rule TypedStarArgument -ruleTypedStarArgument returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypedStarArgumentRule()); - } - } - { - newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_1='*' - { - newLeafNode(otherlv_1, grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); - } - ) -; - -// Entry rule entryRuleReference -entryRuleReference returns [EObject current=null]: - { newCompositeNode(grammarAccess.getReferenceRule()); } - iv_ruleReference=ruleReference - { $current=$iv_ruleReference.current; } - EOF; - -// Rule Reference -ruleReference returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getReferenceRule()); - } - } - { - newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) -; - -// Entry rule entryRuleInterval -entryRuleInterval returns [EObject current=null]: - { newCompositeNode(grammarAccess.getIntervalRule()); } - iv_ruleInterval=ruleInterval - { $current=$iv_ruleInterval.current; } - EOF; - -// Rule Interval -ruleInterval returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='[' - { - newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); - } - lv_lowerBound_1_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIntervalRule()); - } - set( - $current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2='..' - { - newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); - } - ( - ( - { - newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); - } - lv_upperBound_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIntervalRule()); - } - set( - $current, - "upperBound", - lv_upperBound_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_4=']' - { - newLeafNode(otherlv_4, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); - } - ) -; - -// Entry rule entryRuleLiteral -entryRuleLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getLiteralRule()); } - iv_ruleLiteral=ruleLiteral - { $current=$iv_ruleLiteral.current; } - EOF; - -// Rule Literal -ruleLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); - } - this_LogicLiteral_0=ruleLogicLiteral - { - $current = $this_LogicLiteral_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); - } - this_NumericLiteral_1=ruleNumericLiteral - { - $current = $this_NumericLiteral_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); - } - this_InfinityLiteral_2=ruleInfinityLiteral - { - $current = $this_InfinityLiteral_2.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); - } - this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral - { - $current = $this_EmptyIntervalLiteral_3.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); - } - this_StringLiteral_4=ruleStringLiteral - { - $current = $this_StringLiteral_4.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleLogicLiteral -entryRuleLogicLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getLogicLiteralRule()); } - iv_ruleLogicLiteral=ruleLogicLiteral - { $current=$iv_ruleLogicLiteral.current; } - EOF; - -// Rule LogicLiteral -ruleLogicLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); - } - lv_value_0_0=ruleLogicValue - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLogicLiteralRule()); - } - set( - $current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); - afterParserOrEnumRuleCall(); - } - ) - ) -; - -// Entry rule entryRuleNumericLiteral -entryRuleNumericLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getNumericLiteralRule()); } - iv_ruleNumericLiteral=ruleNumericLiteral - { $current=$iv_ruleNumericLiteral.current; } - EOF; - -// Rule NumericLiteral -ruleNumericLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); - } - lv_value_0_0=ruleReal - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); - } - set( - $current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Real"); - afterParserOrEnumRuleCall(); - } - ) - ) -; - -// Entry rule entryRuleInfinityLiteral -entryRuleInfinityLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getInfinityLiteralRule()); } - iv_ruleInfinityLiteral=ruleInfinityLiteral - { $current=$iv_ruleInfinityLiteral.current; } - EOF; - -// Rule InfinityLiteral -ruleInfinityLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0(), - $current); - } - ) - otherlv_1='inf' - { - newLeafNode(otherlv_1, grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); - } - ) -; - -// Entry rule entryRuleEmptyIntervalLiteral -entryRuleEmptyIntervalLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); } - iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral - { $current=$iv_ruleEmptyIntervalLiteral.current; } - EOF; - -// Rule EmptyIntervalLiteral -ruleEmptyIntervalLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), - $current); - } - ) - otherlv_1='empty' - { - newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); - } - ) -; - -// Entry rule entryRuleStringLiteral -entryRuleStringLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getStringLiteralRule()); } - iv_ruleStringLiteral=ruleStringLiteral - { $current=$iv_ruleStringLiteral.current; } - EOF; - -// Rule StringLiteral -ruleStringLiteral returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - lv_value_0_0=RULE_STRING - { - newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getStringLiteralRule()); - } - setWithLastConsumed( - $current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); - } - ) - ) -; - -// Entry rule entryRuleClassDefinition -entryRuleClassDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getClassDefinitionRule()); } - iv_ruleClassDefinition=ruleClassDefinition - { $current=$iv_ruleClassDefinition.current; } - EOF; - -// Rule ClassDefinition -ruleClassDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - lv_abstract_0_0='abstract' - { - newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - setWithLastConsumed($current, "abstract", true, "abstract"); - } - ) - )? - otherlv_1='class' - { - newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); - } - ( - ( - lv_name_2_0=RULE_ID - { - newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_2_0, - "org.eclipse.xtext.common.Terminals.ID"); - } - ) - ) - ( - otherlv_3='extends' - { - newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_5=',' - { - newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - )* - )? - otherlv_7='{' - { - newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); - } - ( - ( - { - newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); - } - lv_members_8_0=ruleMemberDefinition - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); - } - add( - $current, - "members", - lv_members_8_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); - afterParserOrEnumRuleCall(); - } - ) - )* - otherlv_9='}' - { - newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); - } - ) -; - -// Entry rule entryRuleMemberDefinition -entryRuleMemberDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMemberDefinitionRule()); } - iv_ruleMemberDefinition=ruleMemberDefinition - { $current=$iv_ruleMemberDefinition.current; } - EOF; - -// Rule MemberDefinition -ruleMemberDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - lv_containment_0_0='contains' - { - newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - setWithLastConsumed($current, "containment", true, "contains"); - } - ) - )? - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); - } - lv_multiplicity_2_0=ruleMultiplicity - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); - } - set( - $current, - "multiplicity", - lv_multiplicity_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); - afterParserOrEnumRuleCall(); - } - ) - )? - ( - ( - lv_name_3_0=RULE_ID - { - newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_3_0, - "org.eclipse.xtext.common.Terminals.ID"); - } - ) - ) - ( - otherlv_4='opposite' - { - newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - )? - ( - otherlv_6=';' - { - newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); - } - )? - ) -; - -// Entry rule entryRuleMultiplicity -entryRuleMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMultiplicityRule()); } - iv_ruleMultiplicity=ruleMultiplicity - { $current=$iv_ruleMultiplicity.current; } - EOF; - -// Rule Multiplicity -ruleMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); - } - this_ManyMultiplicity_0=ruleManyMultiplicity - { - $current = $this_ManyMultiplicity_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); - } - this_ExactMultiplicity_1=ruleExactMultiplicity - { - $current = $this_ExactMultiplicity_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); - } - this_BoundedMultiplicity_2=ruleBoundedMultiplicity - { - $current = $this_BoundedMultiplicity_2.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleManyMultiplicity -entryRuleManyMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getManyMultiplicityRule()); } - iv_ruleManyMultiplicity=ruleManyMultiplicity - { $current=$iv_ruleManyMultiplicity.current; } - EOF; - -// Rule ManyMultiplicity -ruleManyMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - { - $current = forceCreateModelElement( - grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), - $current); - } - ) - otherlv_1='[' - { - newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); - } - otherlv_2=']' - { - newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); - } - ) -; - -// Entry rule entryRuleExactMultiplicity -entryRuleExactMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExactMultiplicityRule()); } - iv_ruleExactMultiplicity=ruleExactMultiplicity - { $current=$iv_ruleExactMultiplicity.current; } - EOF; - -// Rule ExactMultiplicity -ruleExactMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='[' - { - newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); - } - lv_multiplicity_1_0=ruleUpperMultiplicty - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); - } - set( - $current, - "multiplicity", - lv_multiplicity_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2=']' - { - newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); - } - ) -; - -// Entry rule entryRuleBoundedMultiplicity -entryRuleBoundedMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); } - iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity - { $current=$iv_ruleBoundedMultiplicity.current; } - EOF; - -// Rule BoundedMultiplicity -ruleBoundedMultiplicity returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='[' - { - newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); - } - ( - ( - lv_lowerBound_1_0=RULE_INT - { - newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedMultiplicityRule()); - } - setWithLastConsumed( - $current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - otherlv_2='..' - { - newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); - } - ( - ( - { - newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); - } - lv_upperBound_3_0=ruleUpperMultiplicty - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule()); - } - set( - $current, - "upperBound", - lv_upperBound_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_4=']' - { - newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); - } - ) -; - -// Entry rule entryRuleScopeDefinition -entryRuleScopeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getScopeDefinitionRule()); } - iv_ruleScopeDefinition=ruleScopeDefinition - { $current=$iv_ruleScopeDefinition.current; } - EOF; - -// Rule ScopeDefinition -ruleScopeDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); - } - this_ExactScopeDefinition_0=ruleExactScopeDefinition - { - $current = $this_ExactScopeDefinition_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); - } - this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition - { - $current = $this_BoundedScopeDefinition_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); - } - this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition - { - $current = $this_LowerBoundedScopeDefinition_2.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRuleExactScopeDefinition -entryRuleExactScopeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); } - iv_ruleExactScopeDefinition=ruleExactScopeDefinition - { $current=$iv_ruleExactScopeDefinition.current; } - EOF; - -// Rule ExactScopeDefinition -ruleExactScopeDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='scope' - { - newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_2='==' - { - newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); - } - ( - ( - lv_exactScope_3_0=RULE_INT - { - newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); - } - setWithLastConsumed( - $current, - "exactScope", - lv_exactScope_3_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - ) -; - -// Entry rule entryRuleBoundedScopeDefinition -entryRuleBoundedScopeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); } - iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition - { $current=$iv_ruleBoundedScopeDefinition.current; } - EOF; - -// Rule BoundedScopeDefinition -ruleBoundedScopeDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='scope' - { - newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); - } - ( - ( - ( - ( - ( - lv_lowerBound_1_0=RULE_INT - { - newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - $current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - otherlv_2='<=' - { - newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); - } - )? - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_4='<=' - { - newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); - } - ( - ( - lv_upperBound_5_0=RULE_INT - { - newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - $current, - "upperBound", - lv_upperBound_5_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - ) - | - ( - ( - ( - lv_upperBound_6_0=RULE_INT - { - newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - $current, - "upperBound", - lv_upperBound_6_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - otherlv_7='>=' - { - newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - otherlv_9='>=' - { - newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); - } - ( - ( - lv_lowerBound_10_0=RULE_INT - { - newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - $current, - "lowerBound", - lv_lowerBound_10_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - )? - ) - ) - otherlv_11='.' - { - newLeafNode(otherlv_11, grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); - } - ) -; - -// Entry rule entryRuleLowerBoundedScopeDefinition -entryRuleLowerBoundedScopeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); } - iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition - { $current=$iv_ruleLowerBoundedScopeDefinition.current; } - EOF; - -// Rule LowerBoundedScopeDefinition -ruleLowerBoundedScopeDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='scope' - { - newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); - } - ( - ( - ( - ( - lv_lowerBound_1_0=RULE_INT - { - newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - $current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - otherlv_2='<=' - { - newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); - } - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ) - | - ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } - } - { - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - otherlv_5='>=' - { - newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); - } - ( - ( - lv_lowerBound_6_0=RULE_INT - { - newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - $current, - "lowerBound", - lv_lowerBound_6_0, - "org.eclipse.xtext.common.Terminals.INT"); - } - ) - ) - ) - ) - otherlv_7='.' - { - newLeafNode(otherlv_7, grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); - } - ) -; - -// Entry rule entryRuleObjectiveDefinition -entryRuleObjectiveDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); } - iv_ruleObjectiveDefinition=ruleObjectiveDefinition - { $current=$iv_ruleObjectiveDefinition.current; } - EOF; - -// Rule ObjectiveDefinition -ruleObjectiveDefinition returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - ( - { - newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); - } - lv_kind_0_0=ruleObjectiveKind - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); - } - set( - $current, - "kind", - lv_kind_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); - } - lv_objective_1_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); - } - set( - $current, - "objective", - lv_objective_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ) -; - -// Entry rule entryRuleUpperMultiplicty -entryRuleUpperMultiplicty returns [String current=null]: - { newCompositeNode(grammarAccess.getUpperMultiplictyRule()); } - iv_ruleUpperMultiplicty=ruleUpperMultiplicty - { $current=$iv_ruleUpperMultiplicty.current.getText(); } - EOF; - -// Rule UpperMultiplicty -ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - this_INT_0=RULE_INT - { - $current.merge(this_INT_0); - } - { - newLeafNode(this_INT_0, grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); - } - | - kw='*' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); - } - ) -; - -// Entry rule entryRuleReal -entryRuleReal returns [String current=null]@init { - HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); -}: - { newCompositeNode(grammarAccess.getRealRule()); } - iv_ruleReal=ruleReal - { $current=$iv_ruleReal.current.getText(); } - EOF; -finally { - myHiddenTokenState.restore(); -} - -// Rule Real -ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] -@init { - enterRule(); - HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); -} -@after { - leaveRule(); -}: - ( - this_INT_0=RULE_INT - { - $current.merge(this_INT_0); - } - { - newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); - } - ( - kw='.' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); - } - this_INT_2=RULE_INT - { - $current.merge(this_INT_2); - } - { - newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); - } - )? - ) -; -finally { - myHiddenTokenState.restore(); -} - -// Entry rule entryRuleQualifiedName -entryRuleQualifiedName returns [String current=null]@init { - HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); -}: - { newCompositeNode(grammarAccess.getQualifiedNameRule()); } - iv_ruleQualifiedName=ruleQualifiedName - { $current=$iv_ruleQualifiedName.current.getText(); } - EOF; -finally { - myHiddenTokenState.restore(); -} - -// Rule QualifiedName -ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] -@init { - enterRule(); - HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); -} -@after { - leaveRule(); -}: - ( - ( - this_ID_0=RULE_ID - { - $current.merge(this_ID_0); - } - { - newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); - } - ( - kw='.' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); - } - this_ID_2=RULE_ID - { - $current.merge(this_ID_2); - } - { - newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); - } - )* - ) - | - this_QUOTED_ID_3=RULE_QUOTED_ID - { - $current.merge(this_QUOTED_ID_3); - } - { - newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); - } - ) -; -finally { - myHiddenTokenState.restore(); -} - -// Rule MetricType -ruleMetricType returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='int' - { - $current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='real' - { - $current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); - } - ) - ) -; - -// Rule ComparisonOperator -ruleComparisonOperator returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='==' - { - $current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='!=' - { - $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); - } - ) - | - ( - enumLiteral_2='<' - { - $current = grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); - } - ) - | - ( - enumLiteral_3='<=' - { - $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); - } - ) - | - ( - enumLiteral_4='>' - { - $current = grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); - } - ) - | - ( - enumLiteral_5='>=' - { - $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); - } - ) - | - ( - enumLiteral_6='in' - { - $current = grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_6, grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); - } - ) - ) -; - -// Rule AdditiveBinaryOperator -ruleAdditiveBinaryOperator returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='+' - { - $current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='-' - { - $current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); - } - ) - ) -; - -// Rule MultiplicativeBinaryOperator -ruleMultiplicativeBinaryOperator returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='*' - { - $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='/' - { - $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); - } - ) - ) -; - -// Rule ExponentialOp -ruleExponentialOp returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - enumLiteral_0='^' - { - $current = grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); - } - ) -; - -// Rule UnaryOp -ruleUnaryOp returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='!' - { - $current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='+' - { - $current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); - } - ) - | - ( - enumLiteral_2='-' - { - $current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); - } - ) - | - ( - enumLiteral_3='may' - { - $current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); - } - ) - | - ( - enumLiteral_4='must' - { - $current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); - } - ) - | - ( - enumLiteral_5='current' - { - $current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); - } - ) - ) -; - -// Rule AggregationOp -ruleAggregationOp returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='only' - { - $current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='sum' - { - $current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); - } - ) - | - ( - enumLiteral_2='prod' - { - $current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); - } - ) - | - ( - enumLiteral_3='avg' - { - $current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); - } - ) - | - ( - enumLiteral_4='min' - { - $current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); - } - ) - | - ( - enumLiteral_5='max' - { - $current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); - } - ) - ) -; - -// Rule LogicValue -ruleLogicValue returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='true' - { - $current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='false' - { - $current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); - } - ) - | - ( - enumLiteral_2='unknown' - { - $current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); - } - ) - | - ( - enumLiteral_3='error' - { - $current = grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); - } - ) - ) -; - -// Rule ObjectiveKind -ruleObjectiveKind returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0='minimize' - { - $current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1='maximize' - { - $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); - } - ) - ) -; - -RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; - -RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\''; - -RULE_PLUS : 'synthetic::plus'; - -RULE_STAR : 'synthetic::star'; - -RULE_DOT : 'synthetic::dot'; - -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; - -RULE_INT : ('0'..'9')+; - -RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; - -RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; - -RULE_WS : (' '|'\t'|'\r'|'\n')+; - -RULE_ANY_OTHER : .; diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens deleted file mode 100644 index 1cf5b64f..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens +++ /dev/null @@ -1,131 +0,0 @@ -'!'=60 -'!='=52 -'('=33 -')'=34 -'*'=35 -'+'=56 -','=28 -'-'=57 -'->'=27 -'.'=22 -'..'=37 -'/'=58 -':'=15 -':-'=16 -';'=26 -'<'=53 -'<='=48 -'='=17 -'=='=47 -'>'=54 -'>='=49 -'['=36 -']'=38 -'^'=59 -'abstract'=41 -'avg'=67 -'class'=42 -'contains'=44 -'count'=29 -'current'=63 -'default'=20 -'else'=25 -'empty'=40 -'error'=19 -'extends'=43 -'extern'=21 -'false'=71 -'functional'=18 -'if'=23 -'in'=55 -'inf'=39 -'int'=50 -'max'=69 -'maximize'=74 -'may'=61 -'min'=68 -'minimize'=73 -'must'=62 -'only'=64 -'opposite'=45 -'prod'=66 -'real'=51 -'scope'=46 -'sum'=65 -'then'=24 -'true'=70 -'unknown'=72 -'{'=30 -'|'=32 -'}'=31 -RULE_ANY_OTHER=14 -RULE_DOT=4 -RULE_ID=8 -RULE_INT=9 -RULE_ML_COMMENT=11 -RULE_PLUS=6 -RULE_QUOTED_ID=10 -RULE_SL_COMMENT=12 -RULE_STAR=5 -RULE_STRING=7 -RULE_WS=13 -T__15=15 -T__16=16 -T__17=17 -T__18=18 -T__19=19 -T__20=20 -T__21=21 -T__22=22 -T__23=23 -T__24=24 -T__25=25 -T__26=26 -T__27=27 -T__28=28 -T__29=29 -T__30=30 -T__31=31 -T__32=32 -T__33=33 -T__34=34 -T__35=35 -T__36=36 -T__37=37 -T__38=38 -T__39=39 -T__40=40 -T__41=41 -T__42=42 -T__43=43 -T__44=44 -T__45=45 -T__46=46 -T__47=47 -T__48=48 -T__49=49 -T__50=50 -T__51=51 -T__52=52 -T__53=53 -T__54=54 -T__55=55 -T__56=56 -T__57=57 -T__58=58 -T__59=59 -T__60=60 -T__61=61 -T__62=62 -T__63=63 -T__64=64 -T__65=65 -T__66=66 -T__67=67 -T__68=68 -T__69=69 -T__70=70 -T__71=71 -T__72=72 -T__73=73 -T__74=74 diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java deleted file mode 100644 index 21e5bac9..00000000 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java +++ /dev/null @@ -1,2805 +0,0 @@ -package org.eclipse.viatra.solver.language.parser.antlr.internal; - -// Hack: Use our own Lexer superclass by means of import. -// Currently there is no other way to specify the superclass for the lexer. -import org.eclipse.xtext.parser.antlr.Lexer; - - -import org.antlr.runtime.*; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; - -@SuppressWarnings("all") -public class InternalSolverLanguageLexer extends Lexer { - public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; - public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; - public static final int T__55=55; - public static final int T__56=56; - public static final int T__57=57; - public static final int T__58=58; - public static final int T__51=51; - public static final int RULE_STAR=5; - public static final int T__52=52; - public static final int T__53=53; - public static final int T__54=54; - public static final int T__60=60; - public static final int T__61=61; - public static final int RULE_ID=8; - public static final int RULE_QUOTED_ID=10; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; - public static final int RULE_INT=9; - public static final int T__29=29; - public static final int T__22=22; - public static final int T__66=66; - public static final int RULE_ML_COMMENT=11; - public static final int T__23=23; - public static final int T__67=67; - public static final int T__24=24; - public static final int T__68=68; - public static final int T__25=25; - public static final int T__69=69; - public static final int T__62=62; - public static final int T__63=63; - public static final int T__20=20; - public static final int T__64=64; - public static final int T__21=21; - public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=7; - public static final int RULE_SL_COMMENT=12; - public static final int T__37=37; - public static final int T__38=38; - public static final int T__39=39; - public static final int T__33=33; - public static final int T__34=34; - public static final int T__35=35; - public static final int RULE_PLUS=6; - public static final int T__36=36; - public static final int T__73=73; - public static final int RULE_DOT=4; - public static final int EOF=-1; - public static final int T__30=30; - public static final int T__74=74; - public static final int T__31=31; - public static final int T__32=32; - public static final int RULE_WS=13; - public static final int RULE_ANY_OTHER=14; - public static final int T__48=48; - public static final int T__49=49; - public static final int T__44=44; - public static final int T__45=45; - public static final int T__46=46; - public static final int T__47=47; - public static final int T__40=40; - public static final int T__41=41; - public static final int T__42=42; - public static final int T__43=43; - - // delegates - // delegators - - public InternalSolverLanguageLexer() {;} - public InternalSolverLanguageLexer(CharStream input) { - this(input, new RecognizerSharedState()); - } - public InternalSolverLanguageLexer(CharStream input, RecognizerSharedState state) { - super(input,state); - - } - public String getGrammarFileName() { return "InternalSolverLanguage.g"; } - - // $ANTLR start "T__15" - public final void mT__15() throws RecognitionException { - try { - int _type = T__15; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:11:7: ( ':' ) - // InternalSolverLanguage.g:11:9: ':' - { - match(':'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__15" - - // $ANTLR start "T__16" - public final void mT__16() throws RecognitionException { - try { - int _type = T__16; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:12:7: ( ':-' ) - // InternalSolverLanguage.g:12:9: ':-' - { - match(":-"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__16" - - // $ANTLR start "T__17" - public final void mT__17() throws RecognitionException { - try { - int _type = T__17; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:13:7: ( '=' ) - // InternalSolverLanguage.g:13:9: '=' - { - match('='); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__17" - - // $ANTLR start "T__18" - public final void mT__18() throws RecognitionException { - try { - int _type = T__18; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:14:7: ( 'functional' ) - // InternalSolverLanguage.g:14:9: 'functional' - { - match("functional"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__18" - - // $ANTLR start "T__19" - public final void mT__19() throws RecognitionException { - try { - int _type = T__19; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:15:7: ( 'error' ) - // InternalSolverLanguage.g:15:9: 'error' - { - match("error"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__19" - - // $ANTLR start "T__20" - public final void mT__20() throws RecognitionException { - try { - int _type = T__20; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:16:7: ( 'default' ) - // InternalSolverLanguage.g:16:9: 'default' - { - match("default"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__20" - - // $ANTLR start "T__21" - public final void mT__21() throws RecognitionException { - try { - int _type = T__21; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:17:7: ( 'extern' ) - // InternalSolverLanguage.g:17:9: 'extern' - { - match("extern"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__21" - - // $ANTLR start "T__22" - public final void mT__22() throws RecognitionException { - try { - int _type = T__22; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:18:7: ( '.' ) - // InternalSolverLanguage.g:18:9: '.' - { - match('.'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__22" - - // $ANTLR start "T__23" - public final void mT__23() throws RecognitionException { - try { - int _type = T__23; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:19:7: ( 'if' ) - // InternalSolverLanguage.g:19:9: 'if' - { - match("if"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__23" - - // $ANTLR start "T__24" - public final void mT__24() throws RecognitionException { - try { - int _type = T__24; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:20:7: ( 'then' ) - // InternalSolverLanguage.g:20:9: 'then' - { - match("then"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__24" - - // $ANTLR start "T__25" - public final void mT__25() throws RecognitionException { - try { - int _type = T__25; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:21:7: ( 'else' ) - // InternalSolverLanguage.g:21:9: 'else' - { - match("else"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__25" - - // $ANTLR start "T__26" - public final void mT__26() throws RecognitionException { - try { - int _type = T__26; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:22:7: ( ';' ) - // InternalSolverLanguage.g:22:9: ';' - { - match(';'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__26" - - // $ANTLR start "T__27" - public final void mT__27() throws RecognitionException { - try { - int _type = T__27; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:23:7: ( '->' ) - // InternalSolverLanguage.g:23:9: '->' - { - match("->"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__27" - - // $ANTLR start "T__28" - public final void mT__28() throws RecognitionException { - try { - int _type = T__28; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:24:7: ( ',' ) - // InternalSolverLanguage.g:24:9: ',' - { - match(','); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__28" - - // $ANTLR start "T__29" - public final void mT__29() throws RecognitionException { - try { - int _type = T__29; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:25:7: ( 'count' ) - // InternalSolverLanguage.g:25:9: 'count' - { - match("count"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__29" - - // $ANTLR start "T__30" - public final void mT__30() throws RecognitionException { - try { - int _type = T__30; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:26:7: ( '{' ) - // InternalSolverLanguage.g:26:9: '{' - { - match('{'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__30" - - // $ANTLR start "T__31" - public final void mT__31() throws RecognitionException { - try { - int _type = T__31; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:27:7: ( '}' ) - // InternalSolverLanguage.g:27:9: '}' - { - match('}'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__31" - - // $ANTLR start "T__32" - public final void mT__32() throws RecognitionException { - try { - int _type = T__32; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:28:7: ( '|' ) - // InternalSolverLanguage.g:28:9: '|' - { - match('|'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__32" - - // $ANTLR start "T__33" - public final void mT__33() throws RecognitionException { - try { - int _type = T__33; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:29:7: ( '(' ) - // InternalSolverLanguage.g:29:9: '(' - { - match('('); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__33" - - // $ANTLR start "T__34" - public final void mT__34() throws RecognitionException { - try { - int _type = T__34; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:30:7: ( ')' ) - // InternalSolverLanguage.g:30:9: ')' - { - match(')'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__34" - - // $ANTLR start "T__35" - public final void mT__35() throws RecognitionException { - try { - int _type = T__35; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:31:7: ( '*' ) - // InternalSolverLanguage.g:31:9: '*' - { - match('*'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__35" - - // $ANTLR start "T__36" - public final void mT__36() throws RecognitionException { - try { - int _type = T__36; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:32:7: ( '[' ) - // InternalSolverLanguage.g:32:9: '[' - { - match('['); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__36" - - // $ANTLR start "T__37" - public final void mT__37() throws RecognitionException { - try { - int _type = T__37; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:33:7: ( '..' ) - // InternalSolverLanguage.g:33:9: '..' - { - match(".."); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__37" - - // $ANTLR start "T__38" - public final void mT__38() throws RecognitionException { - try { - int _type = T__38; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:34:7: ( ']' ) - // InternalSolverLanguage.g:34:9: ']' - { - match(']'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__38" - - // $ANTLR start "T__39" - public final void mT__39() throws RecognitionException { - try { - int _type = T__39; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:35:7: ( 'inf' ) - // InternalSolverLanguage.g:35:9: 'inf' - { - match("inf"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__39" - - // $ANTLR start "T__40" - public final void mT__40() throws RecognitionException { - try { - int _type = T__40; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:36:7: ( 'empty' ) - // InternalSolverLanguage.g:36:9: 'empty' - { - match("empty"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__40" - - // $ANTLR start "T__41" - public final void mT__41() throws RecognitionException { - try { - int _type = T__41; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:37:7: ( 'abstract' ) - // InternalSolverLanguage.g:37:9: 'abstract' - { - match("abstract"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__41" - - // $ANTLR start "T__42" - public final void mT__42() throws RecognitionException { - try { - int _type = T__42; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:38:7: ( 'class' ) - // InternalSolverLanguage.g:38:9: 'class' - { - match("class"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__42" - - // $ANTLR start "T__43" - public final void mT__43() throws RecognitionException { - try { - int _type = T__43; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:39:7: ( 'extends' ) - // InternalSolverLanguage.g:39:9: 'extends' - { - match("extends"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__43" - - // $ANTLR start "T__44" - public final void mT__44() throws RecognitionException { - try { - int _type = T__44; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:40:7: ( 'contains' ) - // InternalSolverLanguage.g:40:9: 'contains' - { - match("contains"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__44" - - // $ANTLR start "T__45" - public final void mT__45() throws RecognitionException { - try { - int _type = T__45; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:41:7: ( 'opposite' ) - // InternalSolverLanguage.g:41:9: 'opposite' - { - match("opposite"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__45" - - // $ANTLR start "T__46" - public final void mT__46() throws RecognitionException { - try { - int _type = T__46; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:42:7: ( 'scope' ) - // InternalSolverLanguage.g:42:9: 'scope' - { - match("scope"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__46" - - // $ANTLR start "T__47" - public final void mT__47() throws RecognitionException { - try { - int _type = T__47; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:43:7: ( '==' ) - // InternalSolverLanguage.g:43:9: '==' - { - match("=="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__47" - - // $ANTLR start "T__48" - public final void mT__48() throws RecognitionException { - try { - int _type = T__48; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:44:7: ( '<=' ) - // InternalSolverLanguage.g:44:9: '<=' - { - match("<="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__48" - - // $ANTLR start "T__49" - public final void mT__49() throws RecognitionException { - try { - int _type = T__49; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:45:7: ( '>=' ) - // InternalSolverLanguage.g:45:9: '>=' - { - match(">="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__49" - - // $ANTLR start "T__50" - public final void mT__50() throws RecognitionException { - try { - int _type = T__50; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:46:7: ( 'int' ) - // InternalSolverLanguage.g:46:9: 'int' - { - match("int"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__50" - - // $ANTLR start "T__51" - public final void mT__51() throws RecognitionException { - try { - int _type = T__51; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:47:7: ( 'real' ) - // InternalSolverLanguage.g:47:9: 'real' - { - match("real"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__51" - - // $ANTLR start "T__52" - public final void mT__52() throws RecognitionException { - try { - int _type = T__52; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:48:7: ( '!=' ) - // InternalSolverLanguage.g:48:9: '!=' - { - match("!="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__52" - - // $ANTLR start "T__53" - public final void mT__53() throws RecognitionException { - try { - int _type = T__53; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:49:7: ( '<' ) - // InternalSolverLanguage.g:49:9: '<' - { - match('<'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__53" - - // $ANTLR start "T__54" - public final void mT__54() throws RecognitionException { - try { - int _type = T__54; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:50:7: ( '>' ) - // InternalSolverLanguage.g:50:9: '>' - { - match('>'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__54" - - // $ANTLR start "T__55" - public final void mT__55() throws RecognitionException { - try { - int _type = T__55; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:51:7: ( 'in' ) - // InternalSolverLanguage.g:51:9: 'in' - { - match("in"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__55" - - // $ANTLR start "T__56" - public final void mT__56() throws RecognitionException { - try { - int _type = T__56; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:52:7: ( '+' ) - // InternalSolverLanguage.g:52:9: '+' - { - match('+'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__56" - - // $ANTLR start "T__57" - public final void mT__57() throws RecognitionException { - try { - int _type = T__57; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:53:7: ( '-' ) - // InternalSolverLanguage.g:53:9: '-' - { - match('-'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__57" - - // $ANTLR start "T__58" - public final void mT__58() throws RecognitionException { - try { - int _type = T__58; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:54:7: ( '/' ) - // InternalSolverLanguage.g:54:9: '/' - { - match('/'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__58" - - // $ANTLR start "T__59" - public final void mT__59() throws RecognitionException { - try { - int _type = T__59; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:55:7: ( '^' ) - // InternalSolverLanguage.g:55:9: '^' - { - match('^'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__59" - - // $ANTLR start "T__60" - public final void mT__60() throws RecognitionException { - try { - int _type = T__60; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:56:7: ( '!' ) - // InternalSolverLanguage.g:56:9: '!' - { - match('!'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__60" - - // $ANTLR start "T__61" - public final void mT__61() throws RecognitionException { - try { - int _type = T__61; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:57:7: ( 'may' ) - // InternalSolverLanguage.g:57:9: 'may' - { - match("may"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__61" - - // $ANTLR start "T__62" - public final void mT__62() throws RecognitionException { - try { - int _type = T__62; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:58:7: ( 'must' ) - // InternalSolverLanguage.g:58:9: 'must' - { - match("must"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__62" - - // $ANTLR start "T__63" - public final void mT__63() throws RecognitionException { - try { - int _type = T__63; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:59:7: ( 'current' ) - // InternalSolverLanguage.g:59:9: 'current' - { - match("current"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__63" - - // $ANTLR start "T__64" - public final void mT__64() throws RecognitionException { - try { - int _type = T__64; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:60:7: ( 'only' ) - // InternalSolverLanguage.g:60:9: 'only' - { - match("only"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__64" - - // $ANTLR start "T__65" - public final void mT__65() throws RecognitionException { - try { - int _type = T__65; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:61:7: ( 'sum' ) - // InternalSolverLanguage.g:61:9: 'sum' - { - match("sum"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__65" - - // $ANTLR start "T__66" - public final void mT__66() throws RecognitionException { - try { - int _type = T__66; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:62:7: ( 'prod' ) - // InternalSolverLanguage.g:62:9: 'prod' - { - match("prod"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__66" - - // $ANTLR start "T__67" - public final void mT__67() throws RecognitionException { - try { - int _type = T__67; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:63:7: ( 'avg' ) - // InternalSolverLanguage.g:63:9: 'avg' - { - match("avg"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__67" - - // $ANTLR start "T__68" - public final void mT__68() throws RecognitionException { - try { - int _type = T__68; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:64:7: ( 'min' ) - // InternalSolverLanguage.g:64:9: 'min' - { - match("min"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__68" - - // $ANTLR start "T__69" - public final void mT__69() throws RecognitionException { - try { - int _type = T__69; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:65:7: ( 'max' ) - // InternalSolverLanguage.g:65:9: 'max' - { - match("max"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__69" - - // $ANTLR start "T__70" - public final void mT__70() throws RecognitionException { - try { - int _type = T__70; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:66:7: ( 'true' ) - // InternalSolverLanguage.g:66:9: 'true' - { - match("true"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__70" - - // $ANTLR start "T__71" - public final void mT__71() throws RecognitionException { - try { - int _type = T__71; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:67:7: ( 'false' ) - // InternalSolverLanguage.g:67:9: 'false' - { - match("false"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__71" - - // $ANTLR start "T__72" - public final void mT__72() throws RecognitionException { - try { - int _type = T__72; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:68:7: ( 'unknown' ) - // InternalSolverLanguage.g:68:9: 'unknown' - { - match("unknown"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__72" - - // $ANTLR start "T__73" - public final void mT__73() throws RecognitionException { - try { - int _type = T__73; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:69:7: ( 'minimize' ) - // InternalSolverLanguage.g:69:9: 'minimize' - { - match("minimize"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__73" - - // $ANTLR start "T__74" - public final void mT__74() throws RecognitionException { - try { - int _type = T__74; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:70:7: ( 'maximize' ) - // InternalSolverLanguage.g:70:9: 'maximize' - { - match("maximize"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__74" - - // $ANTLR start "RULE_STRING" - public final void mRULE_STRING() throws RecognitionException { - try { - int _type = RULE_STRING; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3882:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) - // InternalSolverLanguage.g:3882:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' - { - match('\"'); - // InternalSolverLanguage.g:3882:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* - loop1: - do { - int alt1=3; - int LA1_0 = input.LA(1); - - if ( (LA1_0=='\\') ) { - alt1=1; - } - else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { - alt1=2; - } - - - switch (alt1) { - case 1 : - // InternalSolverLanguage.g:3882:20: '\\\\' . - { - match('\\'); - matchAny(); - - } - break; - case 2 : - // InternalSolverLanguage.g:3882:27: ~ ( ( '\\\\' | '\"' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop1; - } - } while (true); - - match('\"'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_STRING" - - // $ANTLR start "RULE_QUOTED_ID" - public final void mRULE_QUOTED_ID() throws RecognitionException { - try { - int _type = RULE_QUOTED_ID; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3884:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - // InternalSolverLanguage.g:3884:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' - { - match('\''); - // InternalSolverLanguage.g:3884:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* - loop2: - do { - int alt2=3; - int LA2_0 = input.LA(1); - - if ( (LA2_0=='\\') ) { - alt2=1; - } - else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) { - alt2=2; - } - - - switch (alt2) { - case 1 : - // InternalSolverLanguage.g:3884:24: '\\\\' . - { - match('\\'); - matchAny(); - - } - break; - case 2 : - // InternalSolverLanguage.g:3884:31: ~ ( ( '\\\\' | '\\'' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop2; - } - } while (true); - - match('\''); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_QUOTED_ID" - - // $ANTLR start "RULE_PLUS" - public final void mRULE_PLUS() throws RecognitionException { - try { - int _type = RULE_PLUS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3886:11: ( 'synthetic::plus' ) - // InternalSolverLanguage.g:3886:13: 'synthetic::plus' - { - match("synthetic::plus"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_PLUS" - - // $ANTLR start "RULE_STAR" - public final void mRULE_STAR() throws RecognitionException { - try { - int _type = RULE_STAR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3888:11: ( 'synthetic::star' ) - // InternalSolverLanguage.g:3888:13: 'synthetic::star' - { - match("synthetic::star"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_STAR" - - // $ANTLR start "RULE_DOT" - public final void mRULE_DOT() throws RecognitionException { - try { - int _type = RULE_DOT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3890:10: ( 'synthetic::dot' ) - // InternalSolverLanguage.g:3890:12: 'synthetic::dot' - { - match("synthetic::dot"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_DOT" - - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { - try { - int _type = RULE_ID; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3892:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalSolverLanguage.g:3892:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - { - // InternalSolverLanguage.g:3892:11: ( '^' )? - int alt3=2; - int LA3_0 = input.LA(1); - - if ( (LA3_0=='^') ) { - alt3=1; - } - switch (alt3) { - case 1 : - // InternalSolverLanguage.g:3892:11: '^' - { - match('^'); - - } - break; - - } - - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - // InternalSolverLanguage.g:3892:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop4: - do { - int alt4=2; - int LA4_0 = input.LA(1); - - if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { - alt4=1; - } - - - switch (alt4) { - case 1 : - // InternalSolverLanguage.g: - { - if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop4; - } - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ID" - - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { - try { - int _type = RULE_INT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3894:10: ( ( '0' .. '9' )+ ) - // InternalSolverLanguage.g:3894:12: ( '0' .. '9' )+ - { - // InternalSolverLanguage.g:3894:12: ( '0' .. '9' )+ - int cnt5=0; - loop5: - do { - int alt5=2; - int LA5_0 = input.LA(1); - - if ( ((LA5_0>='0' && LA5_0<='9')) ) { - alt5=1; - } - - - switch (alt5) { - case 1 : - // InternalSolverLanguage.g:3894:13: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - if ( cnt5 >= 1 ) break loop5; - EarlyExitException eee = - new EarlyExitException(5, input); - throw eee; - } - cnt5++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_INT" - - // $ANTLR start "RULE_ML_COMMENT" - public final void mRULE_ML_COMMENT() throws RecognitionException { - try { - int _type = RULE_ML_COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3896:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalSolverLanguage.g:3896:19: '/*' ( options {greedy=false; } : . )* '*/' - { - match("/*"); - - // InternalSolverLanguage.g:3896:24: ( options {greedy=false; } : . )* - loop6: - do { - int alt6=2; - int LA6_0 = input.LA(1); - - if ( (LA6_0=='*') ) { - int LA6_1 = input.LA(2); - - if ( (LA6_1=='/') ) { - alt6=2; - } - else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) { - alt6=1; - } - - - } - else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) { - alt6=1; - } - - - switch (alt6) { - case 1 : - // InternalSolverLanguage.g:3896:52: . - { - matchAny(); - - } - break; - - default : - break loop6; - } - } while (true); - - match("*/"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ML_COMMENT" - - // $ANTLR start "RULE_SL_COMMENT" - public final void mRULE_SL_COMMENT() throws RecognitionException { - try { - int _type = RULE_SL_COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3898:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalSolverLanguage.g:3898:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? - { - match("//"); - - // InternalSolverLanguage.g:3898:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop7: - do { - int alt7=2; - int LA7_0 = input.LA(1); - - if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) { - alt7=1; - } - - - switch (alt7) { - case 1 : - // InternalSolverLanguage.g:3898:24: ~ ( ( '\\n' | '\\r' ) ) - { - 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') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop7; - } - } while (true); - - // InternalSolverLanguage.g:3898:40: ( ( '\\r' )? '\\n' )? - int alt9=2; - int LA9_0 = input.LA(1); - - if ( (LA9_0=='\n'||LA9_0=='\r') ) { - alt9=1; - } - switch (alt9) { - case 1 : - // InternalSolverLanguage.g:3898:41: ( '\\r' )? '\\n' - { - // InternalSolverLanguage.g:3898:41: ( '\\r' )? - int alt8=2; - int LA8_0 = input.LA(1); - - if ( (LA8_0=='\r') ) { - alt8=1; - } - switch (alt8) { - case 1 : - // InternalSolverLanguage.g:3898:41: '\\r' - { - match('\r'); - - } - break; - - } - - match('\n'); - - } - break; - - } - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_SL_COMMENT" - - // $ANTLR start "RULE_WS" - public final void mRULE_WS() throws RecognitionException { - try { - int _type = RULE_WS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3900:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalSolverLanguage.g:3900:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - { - // InternalSolverLanguage.g:3900:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt10=0; - loop10: - do { - int alt10=2; - int LA10_0 = input.LA(1); - - if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) { - alt10=1; - } - - - switch (alt10) { - case 1 : - // InternalSolverLanguage.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - if ( cnt10 >= 1 ) break loop10; - EarlyExitException eee = - new EarlyExitException(10, input); - throw eee; - } - cnt10++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" - - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:3902:16: ( . ) - // InternalSolverLanguage.g:3902:18: . - { - matchAny(); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" - - public void mTokens() throws RecognitionException { - // InternalSolverLanguage.g:1:8: ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | RULE_STRING | RULE_QUOTED_ID | RULE_PLUS | RULE_STAR | RULE_DOT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt11=71; - alt11 = dfa11.predict(input); - switch (alt11) { - case 1 : - // InternalSolverLanguage.g:1:10: T__15 - { - mT__15(); - - } - break; - case 2 : - // InternalSolverLanguage.g:1:16: T__16 - { - mT__16(); - - } - break; - case 3 : - // InternalSolverLanguage.g:1:22: T__17 - { - mT__17(); - - } - break; - case 4 : - // InternalSolverLanguage.g:1:28: T__18 - { - mT__18(); - - } - break; - case 5 : - // InternalSolverLanguage.g:1:34: T__19 - { - mT__19(); - - } - break; - case 6 : - // InternalSolverLanguage.g:1:40: T__20 - { - mT__20(); - - } - break; - case 7 : - // InternalSolverLanguage.g:1:46: T__21 - { - mT__21(); - - } - break; - case 8 : - // InternalSolverLanguage.g:1:52: T__22 - { - mT__22(); - - } - break; - case 9 : - // InternalSolverLanguage.g:1:58: T__23 - { - mT__23(); - - } - break; - case 10 : - // InternalSolverLanguage.g:1:64: T__24 - { - mT__24(); - - } - break; - case 11 : - // InternalSolverLanguage.g:1:70: T__25 - { - mT__25(); - - } - break; - case 12 : - // InternalSolverLanguage.g:1:76: T__26 - { - mT__26(); - - } - break; - case 13 : - // InternalSolverLanguage.g:1:82: T__27 - { - mT__27(); - - } - break; - case 14 : - // InternalSolverLanguage.g:1:88: T__28 - { - mT__28(); - - } - break; - case 15 : - // InternalSolverLanguage.g:1:94: T__29 - { - mT__29(); - - } - break; - case 16 : - // InternalSolverLanguage.g:1:100: T__30 - { - mT__30(); - - } - break; - case 17 : - // InternalSolverLanguage.g:1:106: T__31 - { - mT__31(); - - } - break; - case 18 : - // InternalSolverLanguage.g:1:112: T__32 - { - mT__32(); - - } - break; - case 19 : - // InternalSolverLanguage.g:1:118: T__33 - { - mT__33(); - - } - break; - case 20 : - // InternalSolverLanguage.g:1:124: T__34 - { - mT__34(); - - } - break; - case 21 : - // InternalSolverLanguage.g:1:130: T__35 - { - mT__35(); - - } - break; - case 22 : - // InternalSolverLanguage.g:1:136: T__36 - { - mT__36(); - - } - break; - case 23 : - // InternalSolverLanguage.g:1:142: T__37 - { - mT__37(); - - } - break; - case 24 : - // InternalSolverLanguage.g:1:148: T__38 - { - mT__38(); - - } - break; - case 25 : - // InternalSolverLanguage.g:1:154: T__39 - { - mT__39(); - - } - break; - case 26 : - // InternalSolverLanguage.g:1:160: T__40 - { - mT__40(); - - } - break; - case 27 : - // InternalSolverLanguage.g:1:166: T__41 - { - mT__41(); - - } - break; - case 28 : - // InternalSolverLanguage.g:1:172: T__42 - { - mT__42(); - - } - break; - case 29 : - // InternalSolverLanguage.g:1:178: T__43 - { - mT__43(); - - } - break; - case 30 : - // InternalSolverLanguage.g:1:184: T__44 - { - mT__44(); - - } - break; - case 31 : - // InternalSolverLanguage.g:1:190: T__45 - { - mT__45(); - - } - break; - case 32 : - // InternalSolverLanguage.g:1:196: T__46 - { - mT__46(); - - } - break; - case 33 : - // InternalSolverLanguage.g:1:202: T__47 - { - mT__47(); - - } - break; - case 34 : - // InternalSolverLanguage.g:1:208: T__48 - { - mT__48(); - - } - break; - case 35 : - // InternalSolverLanguage.g:1:214: T__49 - { - mT__49(); - - } - break; - case 36 : - // InternalSolverLanguage.g:1:220: T__50 - { - mT__50(); - - } - break; - case 37 : - // InternalSolverLanguage.g:1:226: T__51 - { - mT__51(); - - } - break; - case 38 : - // InternalSolverLanguage.g:1:232: T__52 - { - mT__52(); - - } - break; - case 39 : - // InternalSolverLanguage.g:1:238: T__53 - { - mT__53(); - - } - break; - case 40 : - // InternalSolverLanguage.g:1:244: T__54 - { - mT__54(); - - } - break; - case 41 : - // InternalSolverLanguage.g:1:250: T__55 - { - mT__55(); - - } - break; - case 42 : - // InternalSolverLanguage.g:1:256: T__56 - { - mT__56(); - - } - break; - case 43 : - // InternalSolverLanguage.g:1:262: T__57 - { - mT__57(); - - } - break; - case 44 : - // InternalSolverLanguage.g:1:268: T__58 - { - mT__58(); - - } - break; - case 45 : - // InternalSolverLanguage.g:1:274: T__59 - { - mT__59(); - - } - break; - case 46 : - // InternalSolverLanguage.g:1:280: T__60 - { - mT__60(); - - } - break; - case 47 : - // InternalSolverLanguage.g:1:286: T__61 - { - mT__61(); - - } - break; - case 48 : - // InternalSolverLanguage.g:1:292: T__62 - { - mT__62(); - - } - break; - case 49 : - // InternalSolverLanguage.g:1:298: T__63 - { - mT__63(); - - } - break; - case 50 : - // InternalSolverLanguage.g:1:304: T__64 - { - mT__64(); - - } - break; - case 51 : - // InternalSolverLanguage.g:1:310: T__65 - { - mT__65(); - - } - break; - case 52 : - // InternalSolverLanguage.g:1:316: T__66 - { - mT__66(); - - } - break; - case 53 : - // InternalSolverLanguage.g:1:322: T__67 - { - mT__67(); - - } - break; - case 54 : - // InternalSolverLanguage.g:1:328: T__68 - { - mT__68(); - - } - break; - case 55 : - // InternalSolverLanguage.g:1:334: T__69 - { - mT__69(); - - } - break; - case 56 : - // InternalSolverLanguage.g:1:340: T__70 - { - mT__70(); - - } - break; - case 57 : - // InternalSolverLanguage.g:1:346: T__71 - { - mT__71(); - - } - break; - case 58 : - // InternalSolverLanguage.g:1:352: T__72 - { - mT__72(); - - } - break; - case 59 : - // InternalSolverLanguage.g:1:358: T__73 - { - mT__73(); - - } - break; - case 60 : - // InternalSolverLanguage.g:1:364: T__74 - { - mT__74(); - - } - break; - case 61 : - // InternalSolverLanguage.g:1:370: RULE_STRING - { - mRULE_STRING(); - - } - break; - case 62 : - // InternalSolverLanguage.g:1:382: RULE_QUOTED_ID - { - mRULE_QUOTED_ID(); - - } - break; - case 63 : - // InternalSolverLanguage.g:1:397: RULE_PLUS - { - mRULE_PLUS(); - - } - break; - case 64 : - // InternalSolverLanguage.g:1:407: RULE_STAR - { - mRULE_STAR(); - - } - break; - case 65 : - // InternalSolverLanguage.g:1:417: RULE_DOT - { - mRULE_DOT(); - - } - break; - case 66 : - // InternalSolverLanguage.g:1:426: RULE_ID - { - mRULE_ID(); - - } - break; - case 67 : - // InternalSolverLanguage.g:1:434: RULE_INT - { - mRULE_INT(); - - } - break; - case 68 : - // InternalSolverLanguage.g:1:443: RULE_ML_COMMENT - { - mRULE_ML_COMMENT(); - - } - break; - case 69 : - // InternalSolverLanguage.g:1:459: RULE_SL_COMMENT - { - mRULE_SL_COMMENT(); - - } - break; - case 70 : - // InternalSolverLanguage.g:1:475: RULE_WS - { - mRULE_WS(); - - } - break; - case 71 : - // InternalSolverLanguage.g:1:483: RULE_ANY_OTHER - { - mRULE_ANY_OTHER(); - - } - break; - - } - - } - - - protected DFA11 dfa11 = new DFA11(this); - static final String DFA11_eotS = - "\1\uffff\1\51\1\53\3\56\1\65\2\56\1\uffff\1\74\1\uffff\1\56\10\uffff\3\56\1\121\1\123\1\56\1\126\1\uffff\1\132\1\133\3\56\2\47\10\uffff\2\56\1\uffff\5\56\2\uffff\1\154\1\157\2\56\4\uffff\3\56\10\uffff\7\56\4\uffff\1\56\7\uffff\5\56\4\uffff\7\56\1\uffff\1\u008b\1\u008c\1\uffff\7\56\1\u0094\3\56\1\u0098\2\56\1\u009b\1\u009d\1\56\1\u00a0\6\56\1\u00a8\2\56\2\uffff\1\u00ab\1\u00ac\5\56\1\uffff\1\56\1\u00b3\1\56\1\uffff\1\56\1\u00b6\1\uffff\1\56\1\uffff\1\u00b8\1\56\1\uffff\1\u00ba\2\56\1\u00bd\1\u00be\2\56\1\uffff\1\u00c1\1\56\2\uffff\1\u00c3\1\56\1\u00c5\3\56\1\uffff\1\u00c9\1\56\1\uffff\1\56\1\uffff\1\56\1\uffff\2\56\2\uffff\1\u00cf\1\56\1\uffff\1\56\1\uffff\1\56\1\uffff\3\56\1\uffff\5\56\1\uffff\1\u00db\1\u00dc\1\56\1\u00de\5\56\1\u00e4\1\56\2\uffff\1\u00e6\1\uffff\1\u00e7\1\u00e8\1\56\1\u00ea\1\u00eb\1\uffff\1\56\3\uffff\1\56\2\uffff\1\u00ee\6\uffff"; - static final String DFA11_eofS = - "\u00f3\uffff"; - static final String DFA11_minS = - "\1\0\1\55\1\75\1\141\1\154\1\145\1\56\1\146\1\150\1\uffff\1\76\1\uffff\1\154\10\uffff\1\142\1\156\1\143\2\75\1\145\1\75\1\uffff\1\52\1\101\1\141\1\162\1\156\2\0\10\uffff\1\156\1\154\1\uffff\1\162\1\164\1\163\1\160\1\146\2\uffff\2\60\1\145\1\165\4\uffff\1\156\1\141\1\162\10\uffff\1\163\1\147\1\160\1\154\1\157\1\155\1\156\4\uffff\1\141\7\uffff\1\170\1\163\1\156\1\157\1\153\4\uffff\1\143\1\163\1\157\2\145\1\164\1\141\1\uffff\2\60\1\uffff\1\156\1\145\1\156\1\164\1\163\1\162\1\164\1\60\1\157\1\171\1\160\1\60\1\164\1\154\2\60\1\164\1\60\1\144\1\156\1\164\1\145\1\162\1\156\1\60\1\171\1\165\2\uffff\2\60\1\164\1\141\1\163\1\145\1\162\1\uffff\1\163\1\60\1\145\1\uffff\1\150\1\60\1\uffff\1\155\1\uffff\1\60\1\155\1\uffff\1\60\1\157\1\151\2\60\1\156\1\144\1\uffff\1\60\1\154\2\uffff\1\60\1\151\1\60\1\156\1\141\1\151\1\uffff\1\60\1\145\1\uffff\1\151\1\uffff\1\151\1\uffff\1\167\1\157\2\uffff\1\60\1\163\1\uffff\1\164\1\uffff\1\156\1\uffff\1\164\1\143\1\164\1\uffff\1\164\2\172\2\156\1\uffff\2\60\1\163\1\60\1\164\1\145\1\151\2\145\1\60\1\141\2\uffff\1\60\1\uffff\2\60\1\143\2\60\1\uffff\1\154\3\uffff\1\72\2\uffff\1\60\1\72\1\uffff\1\144\3\uffff"; - static final String DFA11_maxS = - "\1\uffff\1\55\1\75\1\165\1\170\1\145\1\56\1\156\1\162\1\uffff\1\76\1\uffff\1\165\10\uffff\1\166\1\160\1\171\2\75\1\145\1\75\1\uffff\1\57\1\172\1\165\1\162\1\156\2\uffff\10\uffff\1\156\1\154\1\uffff\1\162\1\164\1\163\1\160\1\146\2\uffff\2\172\1\145\1\165\4\uffff\1\165\1\141\1\162\10\uffff\1\163\1\147\1\160\1\154\1\157\1\155\1\156\4\uffff\1\141\7\uffff\1\171\1\163\1\156\1\157\1\153\4\uffff\1\143\1\163\1\157\2\145\1\164\1\141\1\uffff\2\172\1\uffff\1\156\1\145\1\156\1\164\1\163\1\162\1\164\1\172\1\157\1\171\1\160\1\172\1\164\1\154\2\172\1\164\1\172\1\144\1\156\1\164\1\145\2\162\1\172\1\171\1\165\2\uffff\2\172\1\164\1\141\1\163\1\145\1\162\1\uffff\1\163\1\172\1\145\1\uffff\1\150\1\172\1\uffff\1\155\1\uffff\1\172\1\155\1\uffff\1\172\1\157\1\151\2\172\1\156\1\144\1\uffff\1\172\1\154\2\uffff\1\172\1\151\1\172\1\156\1\141\1\151\1\uffff\1\172\1\145\1\uffff\1\151\1\uffff\1\151\1\uffff\1\167\1\157\2\uffff\1\172\1\163\1\uffff\1\164\1\uffff\1\156\1\uffff\1\164\1\143\1\164\1\uffff\1\164\2\172\2\156\1\uffff\2\172\1\163\1\172\1\164\1\145\1\151\2\145\1\172\1\141\2\uffff\1\172\1\uffff\2\172\1\143\2\172\1\uffff\1\154\3\uffff\1\72\2\uffff\1\172\1\72\1\uffff\1\163\3\uffff"; - static final String DFA11_acceptS = - "\11\uffff\1\14\1\uffff\1\16\1\uffff\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\30\7\uffff\1\52\7\uffff\1\102\1\103\1\106\1\107\1\2\1\1\1\41\1\3\2\uffff\1\102\5\uffff\1\27\1\10\4\uffff\1\14\1\15\1\53\1\16\3\uffff\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\30\7\uffff\1\42\1\47\1\43\1\50\1\uffff\1\46\1\56\1\52\1\104\1\105\1\54\1\55\5\uffff\1\75\1\76\1\103\1\106\7\uffff\1\11\2\uffff\1\51\33\uffff\1\31\1\44\7\uffff\1\65\3\uffff\1\63\2\uffff\1\57\1\uffff\1\67\2\uffff\1\66\7\uffff\1\13\2\uffff\1\12\1\70\6\uffff\1\62\2\uffff\1\45\1\uffff\1\60\1\uffff\1\64\2\uffff\1\71\1\5\2\uffff\1\32\1\uffff\1\17\1\uffff\1\34\3\uffff\1\40\5\uffff\1\7\13\uffff\1\35\1\6\1\uffff\1\61\5\uffff\1\72\1\uffff\1\36\1\33\1\37\1\uffff\1\74\1\73\2\uffff\1\4\1\uffff\1\77\1\100\1\101"; - static final String DFA11_specialS = - "\1\1\41\uffff\1\2\1\0\u00cf\uffff}>"; - static final String[] DFA11_transitionS = { - "\11\47\2\46\2\47\1\46\22\47\1\46\1\33\1\42\4\47\1\43\1\20\1\21\1\22\1\34\1\13\1\12\1\6\1\35\12\45\1\1\1\11\1\30\1\2\1\31\2\47\32\44\1\23\1\47\1\24\1\36\1\44\1\47\1\25\1\44\1\14\1\5\1\4\1\3\2\44\1\7\3\44\1\37\1\44\1\26\1\40\1\44\1\32\1\27\1\10\1\41\5\44\1\15\1\17\1\16\uff82\47", - "\1\50", - "\1\52", - "\1\55\23\uffff\1\54", - "\1\61\1\62\4\uffff\1\57\5\uffff\1\60", - "\1\63", - "\1\64", - "\1\66\7\uffff\1\67", - "\1\70\11\uffff\1\71", - "", - "\1\73", - "", - "\1\77\2\uffff\1\76\5\uffff\1\100", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\111\23\uffff\1\112", - "\1\114\1\uffff\1\113", - "\1\115\21\uffff\1\116\3\uffff\1\117", - "\1\120", - "\1\122", - "\1\124", - "\1\125", - "", - "\1\130\4\uffff\1\131", - "\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\134\7\uffff\1\136\13\uffff\1\135", - "\1\137", - "\1\140", - "\0\141", - "\0\142", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\145", - "\1\146", - "", - "\1\147", - "\1\150", - "\1\151", - "\1\152", - "\1\153", - "", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\5\56\1\155\15\56\1\156\6\56", - "\1\160", - "\1\161", - "", - "", - "", - "", - "\1\163\6\uffff\1\162", - "\1\164", - "\1\165", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\166", - "\1\167", - "\1\170", - "\1\171", - "\1\172", - "\1\173", - "\1\174", - "", - "", - "", - "", - "\1\175", - "", - "", - "", - "", - "", - "", - "", - "\1\177\1\176", - "\1\u0080", - "\1\u0081", - "\1\u0082", - "\1\u0083", - "", - "", - "", - "", - "\1\u0084", - "\1\u0085", - "\1\u0086", - "\1\u0087", - "\1\u0088", - "\1\u0089", - "\1\u008a", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "", - "\1\u008d", - "\1\u008e", - "\1\u008f", - "\1\u0090", - "\1\u0091", - "\1\u0092", - "\1\u0093", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u0095", - "\1\u0096", - "\1\u0097", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u0099", - "\1\u009a", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\10\56\1\u009c\21\56", - "\1\u009e", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\10\56\1\u009f\21\56", - "\1\u00a1", - "\1\u00a2", - "\1\u00a3", - "\1\u00a4", - "\1\u00a5", - "\1\u00a7\3\uffff\1\u00a6", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00a9", - "\1\u00aa", - "", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00ad", - "\1\u00ae", - "\1\u00af", - "\1\u00b0", - "\1\u00b1", - "", - "\1\u00b2", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00b4", - "", - "\1\u00b5", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "", - "\1\u00b7", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00b9", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00bb", - "\1\u00bc", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00bf", - "\1\u00c0", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00c2", - "", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00c4", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00c6", - "\1\u00c7", - "\1\u00c8", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00ca", - "", - "\1\u00cb", - "", - "\1\u00cc", - "", - "\1\u00cd", - "\1\u00ce", - "", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00d0", - "", - "\1\u00d1", - "", - "\1\u00d2", - "", - "\1\u00d3", - "\1\u00d4", - "\1\u00d5", - "", - "\1\u00d6", - "\1\u00d7", - "\1\u00d8", - "\1\u00d9", - "\1\u00da", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00dd", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00df", - "\1\u00e0", - "\1\u00e1", - "\1\u00e2", - "\1\u00e3", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00e5", - "", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00e9", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "", - "\1\u00ec", - "", - "", - "", - "\1\u00ed", - "", - "", - "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", - "\1\u00ef", - "", - "\1\u00f2\13\uffff\1\u00f0\2\uffff\1\u00f1", - "", - "", - "" - }; - - static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS); - static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS); - static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS); - static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS); - static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS); - static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS); - static final short[][] DFA11_transition; - - static { - int numStates = DFA11_transitionS.length; - DFA11_transition = new short[numStates][]; - for (int i=0; i='\u0000' && LA11_35<='\uFFFF')) ) {s = 98;} - - else s = 39; - - if ( s>=0 ) return s; - break; - case 1 : - int LA11_0 = input.LA(1); - - s = -1; - if ( (LA11_0==':') ) {s = 1;} - - else if ( (LA11_0=='=') ) {s = 2;} - - else if ( (LA11_0=='f') ) {s = 3;} - - else if ( (LA11_0=='e') ) {s = 4;} - - else if ( (LA11_0=='d') ) {s = 5;} - - else if ( (LA11_0=='.') ) {s = 6;} - - else if ( (LA11_0=='i') ) {s = 7;} - - else if ( (LA11_0=='t') ) {s = 8;} - - else if ( (LA11_0==';') ) {s = 9;} - - else if ( (LA11_0=='-') ) {s = 10;} - - else if ( (LA11_0==',') ) {s = 11;} - - else if ( (LA11_0=='c') ) {s = 12;} - - else if ( (LA11_0=='{') ) {s = 13;} - - else if ( (LA11_0=='}') ) {s = 14;} - - else if ( (LA11_0=='|') ) {s = 15;} - - else if ( (LA11_0=='(') ) {s = 16;} - - else if ( (LA11_0==')') ) {s = 17;} - - else if ( (LA11_0=='*') ) {s = 18;} - - else if ( (LA11_0=='[') ) {s = 19;} - - else if ( (LA11_0==']') ) {s = 20;} - - else if ( (LA11_0=='a') ) {s = 21;} - - else if ( (LA11_0=='o') ) {s = 22;} - - else if ( (LA11_0=='s') ) {s = 23;} - - else if ( (LA11_0=='<') ) {s = 24;} - - else if ( (LA11_0=='>') ) {s = 25;} - - else if ( (LA11_0=='r') ) {s = 26;} - - else if ( (LA11_0=='!') ) {s = 27;} - - else if ( (LA11_0=='+') ) {s = 28;} - - else if ( (LA11_0=='/') ) {s = 29;} - - else if ( (LA11_0=='^') ) {s = 30;} - - else if ( (LA11_0=='m') ) {s = 31;} - - else if ( (LA11_0=='p') ) {s = 32;} - - else if ( (LA11_0=='u') ) {s = 33;} - - else if ( (LA11_0=='\"') ) {s = 34;} - - else if ( (LA11_0=='\'') ) {s = 35;} - - else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||(LA11_0>='g' && LA11_0<='h')||(LA11_0>='j' && LA11_0<='l')||LA11_0=='n'||LA11_0=='q'||(LA11_0>='v' && LA11_0<='z')) ) {s = 36;} - - else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 37;} - - else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 38;} - - else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='&')||(LA11_0>='?' && LA11_0<='@')||LA11_0=='\\'||LA11_0=='`'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 39;} - - if ( s>=0 ) return s; - break; - case 2 : - int LA11_34 = input.LA(1); - - s = -1; - if ( ((LA11_34>='\u0000' && LA11_34<='\uFFFF')) ) {s = 97;} - - else s = 39; - - if ( s>=0 ) return s; - break; - } - NoViableAltException nvae = - new NoViableAltException(getDescription(), 11, _s, input); - error(nvae); - throw nvae; - } - } - - -} \ 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.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g new file mode 100644 index 00000000..6cd0341f --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g @@ -0,0 +1,3839 @@ +/* + * generated by Xtext 2.21.0 + */ +parser grammar InternalSolverLanguageParser; + +options { + tokenVocab=InternalSolverLanguageLexer; + superClass=AbstractInternalAntlrParser; +} + +@header { +package org.eclipse.viatra.solver.language.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.common.util.Enumerator; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; + +} + +@members { + + private SolverLanguageGrammarAccess grammarAccess; + + public InternalSolverLanguageParser(TokenStream input, SolverLanguageGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "Problem"; + } + + @Override + protected SolverLanguageGrammarAccess getGrammarAccess() { + return grammarAccess; + } + +} + +@rulecatch { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } +} + +// Entry rule entryRuleProblem +entryRuleProblem returns [EObject current=null]: + { newCompositeNode(grammarAccess.getProblemRule()); } + iv_ruleProblem=ruleProblem + { $current=$iv_ruleProblem.current; } + EOF; + +// Rule Problem +ruleProblem returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); + } + lv_statements_0_0=ruleStatement + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProblemRule()); + } + add( + $current, + "statements", + lv_statements_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); + afterParserOrEnumRuleCall(); + } + ) + )* +; + +// Entry rule entryRuleStatement +entryRuleStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStatementRule()); } + iv_ruleStatement=ruleStatement + { $current=$iv_ruleStatement.current; } + EOF; + +// Rule Statement +ruleStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); + } + this_AssertionOrDefinition_0=ruleAssertionOrDefinition + { + $current = $this_AssertionOrDefinition_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); + } + this_PredicateDefinition_1=rulePredicateDefinition + { + $current = $this_PredicateDefinition_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); + } + this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition + { + $current = $this_UnnamedErrorPrediateDefinition_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); + } + this_DefaultDefinition_3=ruleDefaultDefinition + { + $current = $this_DefaultDefinition_3.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); + } + this_ExternPredicateDefinition_4=ruleExternPredicateDefinition + { + $current = $this_ExternPredicateDefinition_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); + } + this_MetricDefinition_5=ruleMetricDefinition + { + $current = $this_MetricDefinition_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); + } + this_ExternMetricDefinition_6=ruleExternMetricDefinition + { + $current = $this_ExternMetricDefinition_6.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); + } + this_ClassDefinition_7=ruleClassDefinition + { + $current = $this_ClassDefinition_7.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); + } + this_ScopeDefinition_8=ruleScopeDefinition + { + $current = $this_ScopeDefinition_8.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); + } + this_ObjectiveDefinition_9=ruleObjectiveDefinition + { + $current = $this_ObjectiveDefinition_9.current; + afterParserOrEnumRuleCall(); + } + ) + this_FULL_STOP_10=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); + } + ) +; + +// Entry rule entryRuleAssertionOrDefinition +entryRuleAssertionOrDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); } + iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition + { $current=$iv_ruleAssertionOrDefinition.current; } + EOF; + +// Rule AssertionOrDefinition +ruleAssertionOrDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); + } + this_Expression_0=ruleExpression + { + $current = $this_Expression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), + $current); + } + ) + ( + otherlv_2=Colon + { + newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); + } + lv_range_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + $current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), + $current); + } + ) + otherlv_5=ColonHyphenMinus + { + newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); + } + lv_body_6_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + $current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), + $current); + } + ) + otherlv_8=EqualsSign + { + newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); + } + lv_body_9_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + $current, + "body", + lv_body_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) + ) +; + +// Entry rule entryRulePredicateDefinition +entryRulePredicateDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPredicateDefinitionRule()); } + iv_rulePredicateDefinition=rulePredicateDefinition + { $current=$iv_rulePredicateDefinition.current; } + EOF; + +// Rule PredicateDefinition +rulePredicateDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + ( + lv_functional_0_0=Functional + { + newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed($current, "functional", true, "functional"); + } + ) + ) + ( + ( + lv_error_1_0=Error + { + newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed($current, "error", true, "error"); + } + ) + )? + ) + | + ( + ( + ( + lv_error_2_0=Error + { + newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed($current, "error", true, "error"); + } + ) + ) + ( + ( + lv_functional_3_0=Functional + { + newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed($current, "functional", true, "functional"); + } + ) + )? + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + } + lv_head_4_0=ruleCall + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + $current, + "head", + lv_head_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5=ColonHyphenMinus + { + newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + lv_body_6_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + $current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleUnnamedErrorPrediateDefinition +entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); } + iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition + { $current=$iv_ruleUnnamedErrorPrediateDefinition.current; } + EOF; + +// Rule UnnamedErrorPrediateDefinition +ruleUnnamedErrorPrediateDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Error + { + newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + } + lv_argumentList_1_0=ruleArgumentList + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + set( + $current, + "argumentList", + lv_argumentList_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=ColonHyphenMinus + { + newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + lv_body_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + set( + $current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleDefaultDefinition +entryRuleDefaultDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDefaultDefinitionRule()); } + iv_ruleDefaultDefinition=ruleDefaultDefinition + { $current=$iv_ruleDefaultDefinition.current; } + EOF; + +// Rule DefaultDefinition +ruleDefaultDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Default + { + newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); + } + lv_head_1_0=ruleCall + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + } + set( + $current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=Colon + { + newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); + } + lv_range_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + } + set( + $current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleExternPredicateDefinition +entryRuleExternPredicateDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } + iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition + { $current=$iv_ruleExternPredicateDefinition.current; } + EOF; + +// Rule ExternPredicateDefinition +ruleExternPredicateDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Extern + { + newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + } + lv_head_1_0=ruleCall + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); + } + set( + $current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleMetricDefinition +entryRuleMetricDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } + iv_ruleMetricDefinition=ruleMetricDefinition + { $current=$iv_ruleMetricDefinition.current; } + EOF; + +// Rule MetricDefinition +ruleMetricDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); + } + lv_type_0_0=ruleMetricType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + $current, + "type", + lv_type_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); + } + lv_head_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + $current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=EqualsSign + { + newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + } + lv_body_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + $current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleExternMetricDefinition +entryRuleExternMetricDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } + iv_ruleExternMetricDefinition=ruleExternMetricDefinition + { $current=$iv_ruleExternMetricDefinition.current; } + EOF; + +// Rule ExternMetricDefinition +ruleExternMetricDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Extern + { + newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); + } + lv_type_1_0=ruleMetricType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + $current, + "type", + lv_type_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); + } + lv_head_2_0=ruleCall + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + $current, + "head", + lv_head_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleExpression +entryRuleExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExpressionRule()); } + iv_ruleExpression=ruleExpression + { $current=$iv_ruleExpression.current; } + EOF; + +// Rule Expression +ruleExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); + } + this_IfElse_0=ruleIfElse + { + $current = $this_IfElse_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); + } + this_DisjunctiveExpression_1=ruleDisjunctiveExpression + { + $current = $this_DisjunctiveExpression_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleIfElse +entryRuleIfElse returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIfElseRule()); } + iv_ruleIfElse=ruleIfElse + { $current=$iv_ruleIfElse.current; } + EOF; + +// Rule IfElse +ruleIfElse returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=If + { + newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + } + lv_condition_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + $current, + "condition", + lv_condition_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=Then + { + newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + } + lv_then_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + $current, + "then", + lv_then_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=Else + { + newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + } + lv_else_5_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + $current, + "else", + lv_else_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleDisjunctiveExpression +entryRuleDisjunctiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } + iv_ruleDisjunctiveExpression=ruleDisjunctiveExpression + { $current=$iv_ruleDisjunctiveExpression.current; } + EOF; + +// Rule DisjunctiveExpression +ruleDisjunctiveExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); + } + this_ConjunctiveExpression_0=ruleConjunctiveExpression + { + $current = $this_ConjunctiveExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0(), + $current); + } + ) + ( + otherlv_2=Semicolon + { + newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); + } + lv_children_3_0=ruleConjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + add( + $current, + "children", + lv_children_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )+ + ) + | + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(), + $current); + } + ) + otherlv_5=HyphenMinusGreaterThanSign + { + newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); + } + lv_body_6_0=ruleConjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + set( + $current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3(), + $current); + } + ) + ( + otherlv_8=Semicolon + { + newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); + } + lv_cases_9_0=ruleCase + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + add( + $current, + "cases", + lv_cases_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Case"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + )? + ) +; + +// Entry rule entryRuleCase +entryRuleCase returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCaseRule()); } + iv_ruleCase=ruleCase + { $current=$iv_ruleCase.current; } + EOF; + +// Rule Case +ruleCase returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); + } + lv_condition_0_0=ruleConjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseRule()); + } + set( + $current, + "condition", + lv_condition_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1=HyphenMinusGreaterThanSign + { + newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); + } + lv_body_2_0=ruleConjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseRule()); + } + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleConjunctiveExpression +entryRuleConjunctiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); } + iv_ruleConjunctiveExpression=ruleConjunctiveExpression + { $current=$iv_ruleConjunctiveExpression.current; } + EOF; + +// Rule ConjunctiveExpression +ruleConjunctiveExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); + } + this_ComparisonExpression_0=ruleComparisonExpression + { + $current = $this_ComparisonExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0(), + $current); + } + ) + ( + otherlv_2=Comma + { + newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); + } + lv_children_3_0=ruleComparisonExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConjunctiveExpressionRule()); + } + add( + $current, + "children", + lv_children_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )+ + )? + ) +; + +// Entry rule entryRuleComparisonExpression +entryRuleComparisonExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getComparisonExpressionRule()); } + iv_ruleComparisonExpression=ruleComparisonExpression + { $current=$iv_ruleComparisonExpression.current; } + EOF; + +// Rule ComparisonExpression +ruleComparisonExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + } + this_AdditiveExpression_0=ruleAdditiveExpression + { + $current = $this_AdditiveExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleComparisonOperator + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleAdditiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleAdditiveExpression +entryRuleAdditiveExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAdditiveExpressionRule()); } + iv_ruleAdditiveExpression=ruleAdditiveExpression + { $current=$iv_ruleAdditiveExpression.current; } + EOF; + +// Rule AdditiveExpression +ruleAdditiveExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + } + this_MultiplicativeExpression_0=ruleMultiplicativeExpression + { + $current = $this_MultiplicativeExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleAdditiveBinaryOperator + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleMultiplicativeExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleMultiplicativeExpression +entryRuleMultiplicativeExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); } + iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression + { $current=$iv_ruleMultiplicativeExpression.current; } + EOF; + +// Rule MultiplicativeExpression +ruleMultiplicativeExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); + } + this_ExponentialExpression_0=ruleExponentialExpression + { + $current = $this_ExponentialExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleMultiplicativeBinaryOperator + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleExponentialExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleExponentialExpression +entryRuleExponentialExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExponentialExpressionRule()); } + iv_ruleExponentialExpression=ruleExponentialExpression + { $current=$iv_ruleExponentialExpression.current; } + EOF; + +// Rule ExponentialExpression +ruleExponentialExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); + } + this_UnaryExpression_0=ruleUnaryExpression + { + $current = $this_UnaryExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleExponentialOp + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleExponentialExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleUnaryExpression +entryRuleUnaryExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnaryExpressionRule()); } + iv_ruleUnaryExpression=ruleUnaryExpression + { $current=$iv_ruleUnaryExpression.current; } + EOF; + +// Rule UnaryExpression +ruleUnaryExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); + } + this_AggregationExpression_0=ruleAggregationExpression + { + $current = $this_AggregationExpression_0.current; + afterParserOrEnumRuleCall(); + } + | + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); + } + lv_op_2_0=ruleUnaryOp + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + $current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); + } + lv_body_3_0=ruleAggregationExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + $current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleAggregationExpression +entryRuleAggregationExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAggregationExpressionRule()); } + iv_ruleAggregationExpression=ruleAggregationExpression + { $current=$iv_ruleAggregationExpression.current; } + EOF; + +// Rule AggregationExpression +ruleAggregationExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); + } + this_AtomicExpression_0=ruleAtomicExpression + { + $current = $this_AtomicExpression_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); + } + this_Count_1=ruleCount + { + $current = $this_Count_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); + } + this_Aggregation_2=ruleAggregation + { + $current = $this_Aggregation_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleCount +entryRuleCount returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCountRule()); } + iv_ruleCount=ruleCount + { $current=$iv_ruleCount.current; } + EOF; + +// Rule Count +ruleCount returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Count + { + newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); + } + otherlv_1=LeftCurlyBracket + { + newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); + } + lv_body_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCountRule()); + } + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=RightCurlyBracket + { + newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleAggregation +entryRuleAggregation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAggregationRule()); } + iv_ruleAggregation=ruleAggregation + { $current=$iv_ruleAggregation.current; } + EOF; + +// Rule Aggregation +ruleAggregation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); + } + lv_op_0_0=ruleAggregationOp + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + $current, + "op", + lv_op_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1=LeftCurlyBracket + { + newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); + } + lv_body_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + $current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=VerticalLine + { + newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); + } + lv_condition_4_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + $current, + "condition", + lv_condition_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5=RightCurlyBracket + { + newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + } + ) +; + +// Entry rule entryRuleAtomicExpression +entryRuleAtomicExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAtomicExpressionRule()); } + iv_ruleAtomicExpression=ruleAtomicExpression + { $current=$iv_ruleAtomicExpression.current; } + EOF; + +// Rule AtomicExpression +ruleAtomicExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); + } + this_Reference_0=ruleReference + { + $current = $this_Reference_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); + } + this_Call_1=ruleCall + { + $current = $this_Call_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); + } + this_Interval_2=ruleInterval + { + $current = $this_Interval_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); + } + this_Literal_3=ruleLiteral + { + $current = $this_Literal_3.current; + afterParserOrEnumRuleCall(); + } + | + ( + otherlv_4=LeftParenthesis + { + newLeafNode(otherlv_4, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); + } + this_Expression_5=ruleExpression + { + $current = $this_Expression_5.current; + afterParserOrEnumRuleCall(); + } + otherlv_6=RightParenthesis + { + newLeafNode(otherlv_6, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_4_2()); + } + ) + ) +; + +// Entry rule entryRuleCall +entryRuleCall returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCallRule()); } + iv_ruleCall=ruleCall + { $current=$iv_ruleCall.current; } + EOF; + +// Rule Call +ruleCall returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); + } + lv_functor_0_0=ruleReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCallRule()); + } + set( + $current, + "functor", + lv_functor_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + lv_transitiveClosure_1_0=RULE_TRANSITIVE_CLOSURE + { + newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCallRule()); + } + setWithLastConsumed( + $current, + "transitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); + } + ) + ) + | + ( + ( + lv_reflexiveTransitiveClosure_2_0=RULE_REFLEXIVE_TRANSITIVE_CLOSURE + { + newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCallRule()); + } + setWithLastConsumed( + $current, + "reflexiveTransitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); + } + ) + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); + } + lv_argumentList_3_0=ruleArgumentList + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCallRule()); + } + set( + $current, + "argumentList", + lv_argumentList_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleArgumentList +entryRuleArgumentList returns [EObject current=null]: + { newCompositeNode(grammarAccess.getArgumentListRule()); } + iv_ruleArgumentList=ruleArgumentList + { $current=$iv_ruleArgumentList.current; } + EOF; + +// Rule ArgumentList +ruleArgumentList returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getArgumentListAccess().getArgumentListAction_0(), + $current); + } + ) + otherlv_1=LeftParenthesis + { + newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); + } + lv_arguments_2_0=ruleArgument + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getArgumentListRule()); + } + add( + $current, + "arguments", + lv_arguments_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=Comma + { + newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); + } + lv_arguments_4_0=ruleArgument + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getArgumentListRule()); + } + add( + $current, + "arguments", + lv_arguments_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_5=RightParenthesis + { + newLeafNode(otherlv_5, grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); + } + ) +; + +// Entry rule entryRuleArgument +entryRuleArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getArgumentRule()); } + iv_ruleArgument=ruleArgument + { $current=$iv_ruleArgument.current; } + EOF; + +// Rule Argument +ruleArgument returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); + } + this_ExpressionArgument_0=ruleExpressionArgument + { + $current = $this_ExpressionArgument_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); + } + this_StarArgument_1=ruleStarArgument + { + $current = $this_StarArgument_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); + } + this_TypedArgument_2=ruleTypedArgument + { + $current = $this_TypedArgument_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); + } + this_TypedStarArgument_3=ruleTypedStarArgument + { + $current = $this_TypedStarArgument_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleExpressionArgument +entryRuleExpressionArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExpressionArgumentRule()); } + iv_ruleExpressionArgument=ruleExpressionArgument + { $current=$iv_ruleExpressionArgument.current; } + EOF; + +// Rule ExpressionArgument +ruleExpressionArgument returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); + } + lv_body_0_0=ruleComparisonExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); + } + set( + $current, + "body", + lv_body_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleStarArgument +entryRuleStarArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStarArgumentRule()); } + iv_ruleStarArgument=ruleStarArgument + { $current=$iv_ruleStarArgument.current; } + EOF; + +// Rule StarArgument +ruleStarArgument returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getStarArgumentAccess().getStarArgumentAction_0(), + $current); + } + ) + otherlv_1=Asterisk + { + newLeafNode(otherlv_1, grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); + } + ) +; + +// Entry rule entryRuleTypedArgument +entryRuleTypedArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTypedArgumentRule()); } + iv_ruleTypedArgument=ruleTypedArgument + { $current=$iv_ruleTypedArgument.current; } + EOF; + +// Rule TypedArgument +ruleTypedArgument returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTypedArgumentRule()); + } + } + { + newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTypedArgumentRule()); + } + } + { + newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleTypedStarArgument +entryRuleTypedStarArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTypedStarArgumentRule()); } + iv_ruleTypedStarArgument=ruleTypedStarArgument + { $current=$iv_ruleTypedStarArgument.current; } + EOF; + +// Rule TypedStarArgument +ruleTypedStarArgument returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTypedStarArgumentRule()); + } + } + { + newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1=Asterisk + { + newLeafNode(otherlv_1, grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); + } + ) +; + +// Entry rule entryRuleReference +entryRuleReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getReferenceRule()); } + iv_ruleReference=ruleReference + { $current=$iv_ruleReference.current; } + EOF; + +// Rule Reference +ruleReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleInterval +entryRuleInterval returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIntervalRule()); } + iv_ruleInterval=ruleInterval + { $current=$iv_ruleInterval.current; } + EOF; + +// Rule Interval +ruleInterval returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=LeftSquareBracket + { + newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); + } + lv_lowerBound_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIntervalRule()); + } + set( + $current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=FullStopFullStop + { + newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); + } + lv_upperBound_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIntervalRule()); + } + set( + $current, + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=RightSquareBracket + { + newLeafNode(otherlv_4, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleLiteral +entryRuleLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLiteralRule()); } + iv_ruleLiteral=ruleLiteral + { $current=$iv_ruleLiteral.current; } + EOF; + +// Rule Literal +ruleLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); + } + this_LogicLiteral_0=ruleLogicLiteral + { + $current = $this_LogicLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); + } + this_NumericLiteral_1=ruleNumericLiteral + { + $current = $this_NumericLiteral_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); + } + this_InfinityLiteral_2=ruleInfinityLiteral + { + $current = $this_InfinityLiteral_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); + } + this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral + { + $current = $this_EmptyIntervalLiteral_3.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + } + this_StringLiteral_4=ruleStringLiteral + { + $current = $this_StringLiteral_4.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleLogicLiteral +entryRuleLogicLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLogicLiteralRule()); } + iv_ruleLogicLiteral=ruleLogicLiteral + { $current=$iv_ruleLogicLiteral.current; } + EOF; + +// Rule LogicLiteral +ruleLogicLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); + } + lv_value_0_0=ruleLogicValue + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLogicLiteralRule()); + } + set( + $current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleNumericLiteral +entryRuleNumericLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNumericLiteralRule()); } + iv_ruleNumericLiteral=ruleNumericLiteral + { $current=$iv_ruleNumericLiteral.current; } + EOF; + +// Rule NumericLiteral +ruleNumericLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); + } + lv_value_0_0=ruleReal + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); + } + set( + $current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Real"); + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleInfinityLiteral +entryRuleInfinityLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInfinityLiteralRule()); } + iv_ruleInfinityLiteral=ruleInfinityLiteral + { $current=$iv_ruleInfinityLiteral.current; } + EOF; + +// Rule InfinityLiteral +ruleInfinityLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0(), + $current); + } + ) + otherlv_1=Inf + { + newLeafNode(otherlv_1, grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); + } + ) +; + +// Entry rule entryRuleEmptyIntervalLiteral +entryRuleEmptyIntervalLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); } + iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral + { $current=$iv_ruleEmptyIntervalLiteral.current; } + EOF; + +// Rule EmptyIntervalLiteral +ruleEmptyIntervalLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), + $current); + } + ) + otherlv_1=Empty + { + newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); + } + ) +; + +// Entry rule entryRuleStringLiteral +entryRuleStringLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStringLiteralRule()); } + iv_ruleStringLiteral=ruleStringLiteral + { $current=$iv_ruleStringLiteral.current; } + EOF; + +// Rule StringLiteral +ruleStringLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_value_0_0=RULE_STRING + { + newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStringLiteralRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); + } + ) + ) +; + +// Entry rule entryRuleClassDefinition +entryRuleClassDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getClassDefinitionRule()); } + iv_ruleClassDefinition=ruleClassDefinition + { $current=$iv_ruleClassDefinition.current; } + EOF; + +// Rule ClassDefinition +ruleClassDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_abstract_0_0=Abstract + { + newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + setWithLastConsumed($current, "abstract", true, "abstract"); + } + ) + )? + otherlv_1=Class + { + newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); + } + ( + ( + lv_name_2_0=RULE_ID + { + newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_2_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + ( + otherlv_3=Extends + { + newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5=Comma + { + newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_7=LeftCurlyBracket + { + newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); + } + lv_members_8_0=ruleMemberDefinition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); + } + add( + $current, + "members", + lv_members_8_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_9=RightCurlyBracket + { + newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); + } + ) +; + +// Entry rule entryRuleMemberDefinition +entryRuleMemberDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMemberDefinitionRule()); } + iv_ruleMemberDefinition=ruleMemberDefinition + { $current=$iv_ruleMemberDefinition.current; } + EOF; + +// Rule MemberDefinition +ruleMemberDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_containment_0_0=Contains + { + newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + setWithLastConsumed($current, "containment", true, "contains"); + } + ) + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); + } + lv_multiplicity_2_0=ruleMultiplicity + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); + } + set( + $current, + "multiplicity", + lv_multiplicity_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + ( + lv_name_3_0=RULE_ID + { + newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_3_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + ( + otherlv_4=Opposite + { + newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + otherlv_6=Semicolon + { + newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + } + )? + ) +; + +// Entry rule entryRuleMultiplicity +entryRuleMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMultiplicityRule()); } + iv_ruleMultiplicity=ruleMultiplicity + { $current=$iv_ruleMultiplicity.current; } + EOF; + +// Rule Multiplicity +ruleMultiplicity returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); + } + this_ManyMultiplicity_0=ruleManyMultiplicity + { + $current = $this_ManyMultiplicity_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); + } + this_ExactMultiplicity_1=ruleExactMultiplicity + { + $current = $this_ExactMultiplicity_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); + } + this_BoundedMultiplicity_2=ruleBoundedMultiplicity + { + $current = $this_BoundedMultiplicity_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleManyMultiplicity +entryRuleManyMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getManyMultiplicityRule()); } + iv_ruleManyMultiplicity=ruleManyMultiplicity + { $current=$iv_ruleManyMultiplicity.current; } + EOF; + +// Rule ManyMultiplicity +ruleManyMultiplicity returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), + $current); + } + ) + otherlv_1=LeftSquareBracket + { + newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); + } + otherlv_2=RightSquareBracket + { + newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); + } + ) +; + +// Entry rule entryRuleExactMultiplicity +entryRuleExactMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExactMultiplicityRule()); } + iv_ruleExactMultiplicity=ruleExactMultiplicity + { $current=$iv_ruleExactMultiplicity.current; } + EOF; + +// Rule ExactMultiplicity +ruleExactMultiplicity returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=LeftSquareBracket + { + newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); + } + lv_multiplicity_1_0=ruleUpperMultiplicty + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); + } + set( + $current, + "multiplicity", + lv_multiplicity_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=RightSquareBracket + { + newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); + } + ) +; + +// Entry rule entryRuleBoundedMultiplicity +entryRuleBoundedMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); } + iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity + { $current=$iv_ruleBoundedMultiplicity.current; } + EOF; + +// Rule BoundedMultiplicity +ruleBoundedMultiplicity returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=LeftSquareBracket + { + newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); + } + ( + ( + lv_lowerBound_1_0=RULE_INT + { + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedMultiplicityRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_2=FullStopFullStop + { + newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); + } + lv_upperBound_3_0=ruleUpperMultiplicty + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule()); + } + set( + $current, + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=RightSquareBracket + { + newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleScopeDefinition +entryRuleScopeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getScopeDefinitionRule()); } + iv_ruleScopeDefinition=ruleScopeDefinition + { $current=$iv_ruleScopeDefinition.current; } + EOF; + +// Rule ScopeDefinition +ruleScopeDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); + } + this_ExactScopeDefinition_0=ruleExactScopeDefinition + { + $current = $this_ExactScopeDefinition_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); + } + this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition + { + $current = $this_BoundedScopeDefinition_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); + } + this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition + { + $current = $this_LowerBoundedScopeDefinition_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleExactScopeDefinition +entryRuleExactScopeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); } + iv_ruleExactScopeDefinition=ruleExactScopeDefinition + { $current=$iv_ruleExactScopeDefinition.current; } + EOF; + +// Rule ExactScopeDefinition +ruleExactScopeDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Scope + { + newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=EqualsSignEqualsSign + { + newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); + } + ( + ( + lv_exactScope_3_0=RULE_INT + { + newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "exactScope", + lv_exactScope_3_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + ) +; + +// Entry rule entryRuleBoundedScopeDefinition +entryRuleBoundedScopeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); } + iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition + { $current=$iv_ruleBoundedScopeDefinition.current; } + EOF; + +// Rule BoundedScopeDefinition +ruleBoundedScopeDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Scope + { + newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); + } + ( + ( + ( + ( + ( + lv_lowerBound_1_0=RULE_INT + { + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_2=LessThanSignEqualsSign + { + newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); + } + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=LessThanSignEqualsSign + { + newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); + } + ( + ( + lv_upperBound_5_0=RULE_INT + { + newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "upperBound", + lv_upperBound_5_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + ) + | + ( + ( + ( + lv_upperBound_6_0=RULE_INT + { + newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "upperBound", + lv_upperBound_6_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_7=GreaterThanSignEqualsSign + { + newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_9=GreaterThanSignEqualsSign + { + newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); + } + ( + ( + lv_lowerBound_10_0=RULE_INT + { + newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_10_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + )? + ) + ) + ) +; + +// Entry rule entryRuleLowerBoundedScopeDefinition +entryRuleLowerBoundedScopeDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); } + iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition + { $current=$iv_ruleLowerBoundedScopeDefinition.current; } + EOF; + +// Rule LowerBoundedScopeDefinition +ruleLowerBoundedScopeDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Scope + { + newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); + } + ( + ( + ( + ( + lv_lowerBound_1_0=RULE_INT + { + newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_2=LessThanSignEqualsSign + { + newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5=GreaterThanSignEqualsSign + { + newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + } + ( + ( + lv_lowerBound_6_0=RULE_INT + { + newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + $current, + "lowerBound", + lv_lowerBound_6_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + ) + ) + ) +; + +// Entry rule entryRuleObjectiveDefinition +entryRuleObjectiveDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); } + iv_ruleObjectiveDefinition=ruleObjectiveDefinition + { $current=$iv_ruleObjectiveDefinition.current; } + EOF; + +// Rule ObjectiveDefinition +ruleObjectiveDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); + } + lv_kind_0_0=ruleObjectiveKind + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + } + set( + $current, + "kind", + lv_kind_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); + } + lv_objective_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + } + set( + $current, + "objective", + lv_objective_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleUpperMultiplicty +entryRuleUpperMultiplicty returns [String current=null]: + { newCompositeNode(grammarAccess.getUpperMultiplictyRule()); } + iv_ruleUpperMultiplicty=ruleUpperMultiplicty + { $current=$iv_ruleUpperMultiplicty.current.getText(); } + EOF; + +// Rule UpperMultiplicty +ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_INT_0=RULE_INT + { + $current.merge(this_INT_0); + } + { + newLeafNode(this_INT_0, grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); + } + | + kw=Asterisk + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); + } + ) +; + +// Entry rule entryRuleReal +entryRuleReal returns [String current=null]@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +}: + { newCompositeNode(grammarAccess.getRealRule()); } + iv_ruleReal=ruleReal + { $current=$iv_ruleReal.current.getText(); } + EOF; +finally { + myHiddenTokenState.restore(); +} + +// Rule Real +ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +@after { + leaveRule(); +}: + ( + this_INT_0=RULE_INT + { + $current.merge(this_INT_0); + } + { + newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); + } + ( + kw=FullStop + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); + } + this_INT_2=RULE_INT + { + $current.merge(this_INT_2); + } + { + newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); + } + )? + ) +; +finally { + myHiddenTokenState.restore(); +} + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName returns [String current=null]@init { + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +}: + { newCompositeNode(grammarAccess.getQualifiedNameRule()); } + iv_ruleQualifiedName=ruleQualifiedName + { $current=$iv_ruleQualifiedName.current.getText(); } + EOF; +finally { + myHiddenTokenState.restore(); +} + +// Rule QualifiedName +ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); + HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); +} +@after { + leaveRule(); +}: + ( + ( + this_ID_0=RULE_ID + { + $current.merge(this_ID_0); + } + { + newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); + } + ( + kw=FullStop + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); + } + this_ID_2=RULE_ID + { + $current.merge(this_ID_2); + } + { + newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); + } + )* + ) + | + this_QUOTED_ID_3=RULE_QUOTED_ID + { + $current.merge(this_QUOTED_ID_3); + } + { + newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); + } + ) +; +finally { + myHiddenTokenState.restore(); +} + +// Rule MetricType +ruleMetricType returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0=Int + { + $current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=Real + { + $current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); + } + ) + ) +; + +// Rule ComparisonOperator +ruleComparisonOperator returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0=EqualsSignEqualsSign + { + $current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=ExclamationMarkEqualsSign + { + $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2=LessThanSign + { + $current = grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3=LessThanSignEqualsSign + { + $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); + } + ) + | + ( + enumLiteral_4=GreaterThanSign + { + $current = grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); + } + ) + | + ( + enumLiteral_5=GreaterThanSignEqualsSign + { + $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); + } + ) + | + ( + enumLiteral_6=In + { + $current = grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_6, grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); + } + ) + ) +; + +// Rule AdditiveBinaryOperator +ruleAdditiveBinaryOperator returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0=PlusSign + { + $current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=HyphenMinus + { + $current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); + } + ) + ) +; + +// Rule MultiplicativeBinaryOperator +ruleMultiplicativeBinaryOperator returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0=Asterisk + { + $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=Solidus + { + $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); + } + ) + ) +; + +// Rule ExponentialOp +ruleExponentialOp returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + enumLiteral_0=CircumflexAccent + { + $current = grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); + } + ) +; + +// Rule UnaryOp +ruleUnaryOp returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0=ExclamationMark + { + $current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=PlusSign + { + $current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2=HyphenMinus + { + $current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3=May + { + $current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); + } + ) + | + ( + enumLiteral_4=Must + { + $current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); + } + ) + | + ( + enumLiteral_5=Current + { + $current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); + } + ) + ) +; + +// Rule AggregationOp +ruleAggregationOp returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0=Only + { + $current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=Sum + { + $current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2=Prod + { + $current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3=Avg + { + $current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); + } + ) + | + ( + enumLiteral_4=Min + { + $current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); + } + ) + | + ( + enumLiteral_5=Max + { + $current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); + } + ) + ) +; + +// Rule LogicValue +ruleLogicValue returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0=True + { + $current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=False + { + $current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2=Unknown + { + $current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3=Error + { + $current = grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); + } + ) + ) +; + +// Rule ObjectiveKind +ruleObjectiveKind returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0=Minimize + { + $current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=Maximize + { + $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); + } + ) + ) +; 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 ee2f6175..7dbfa002 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 @@ -18,85 +18,96 @@ import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; -import java.util.Map; -import java.util.HashMap; + @SuppressWarnings("all") public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_DOT", "RULE_STAR", "RULE_PLUS", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "':'", "':-'", "'='", "'functional'", "'error'", "'default'", "'extern'", "'.'", "'if'", "'then'", "'else'", "';'", "'->'", "','", "'count'", "'{'", "'}'", "'|'", "'('", "')'", "'*'", "'['", "'..'", "']'", "'inf'", "'empty'", "'abstract'", "'class'", "'extends'", "'contains'", "'opposite'", "'scope'", "'=='", "'<='", "'>='", "'int'", "'real'", "'!='", "'<'", "'>'", "'in'", "'+'", "'-'", "'/'", "'^'", "'!'", "'may'", "'must'", "'current'", "'only'", "'sum'", "'prod'", "'avg'", "'min'", "'max'", "'true'", "'false'", "'unknown'", "'minimize'", "'maximize'" + "", "", "", "", "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" }; - public static final int T__50=50; - public static final int T__19=19; - public static final int T__15=15; - public static final int T__59=59; - public static final int T__16=16; - public static final int T__17=17; - public static final int T__18=18; - public static final int T__55=55; - public static final int T__56=56; - public static final int T__57=57; - public static final int T__58=58; - public static final int T__51=51; - public static final int RULE_STAR=5; - public static final int T__52=52; - public static final int T__53=53; - public static final int T__54=54; - public static final int T__60=60; - public static final int T__61=61; - public static final int RULE_ID=8; - public static final int RULE_QUOTED_ID=10; - public static final int T__26=26; - public static final int T__27=27; - public static final int T__28=28; - public static final int RULE_INT=9; - public static final int T__29=29; - public static final int T__22=22; - public static final int T__66=66; - public static final int RULE_ML_COMMENT=11; - public static final int T__23=23; - public static final int T__67=67; - public static final int T__24=24; - public static final int T__68=68; - public static final int T__25=25; - public static final int T__69=69; - public static final int T__62=62; - public static final int T__63=63; - public static final int T__20=20; - public static final int T__64=64; - public static final int T__21=21; - public static final int T__65=65; - public static final int T__70=70; - public static final int T__71=71; - public static final int T__72=72; - public static final int RULE_STRING=7; - public static final int RULE_SL_COMMENT=12; - public static final int T__37=37; - public static final int T__38=38; - public static final int T__39=39; - public static final int T__33=33; - public static final int T__34=34; - public static final int T__35=35; - public static final int RULE_PLUS=6; - public static final int T__36=36; - public static final int T__73=73; - public static final int RULE_DOT=4; + public static final int ADD=33; + public static final int True=32; + public static final int GREATER_EQ=4; + public static final int Count=20; + public static final int False=23; + public static final int Must=27; + public static final int LessThanSign=67; + public static final int LeftParenthesis=57; + public static final int Unknown=16; + public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; + public static final int FullStopFullStop=47; + public static final int Real=30; + public static final int Then=31; + public static final int Extends=15; + public static final int RightSquareBracket=71; + public static final int ExclamationMark=56; + public static final int Opposite=10; + public static final int SUB=37; + public static final int GreaterThanSign=69; + public static final int NOT_EQ=17; + public static final int RULE_ID=82; + public static final int MUL=35; + public static final int IN=53; + public static final int RULE_QUOTED_ID=77; + public static final int RightParenthesis=58; + public static final int Sum=44; + public static final int EQ=52; + public static final int GreaterThanSignEqualsSign=51; + public static final int Functional=5; + public static final int EqualsSignEqualsSign=50; + public static final int Avg=38; + public static final int Min=43; + public static final int VerticalLine=74; + public static final int PlusSign=60; + public static final int RULE_INT=83; + public static final int Contains=7; + public static final int RULE_ML_COMMENT=84; + public static final int POW=36; + public static final int RULE_TRANSITIVE_CLOSURE=79; + public static final int Class=19; + public static final int LESS=25; + public static final int LeftSquareBracket=70; + public static final int RULE_FULL_STOP=81; + public static final int Current=13; + public static final int If=54; + public static final int Inf=39; + public static final int LESS_EQ=12; + public static final int May=42; + public static final int Max=41; + public static final int In=55; + public static final int RULE_STRING=76; + public static final int Int=40; + public static final int Extern=18; + public static final int RULE_SL_COMMENT=78; + public static final int Prod=29; + public static final int Comma=61; + public static final int EqualsSign=68; + public static final int Empty=21; + public static final int HyphenMinus=62; + public static final int Maximize=8; + public static final int LessThanSignEqualsSign=49; + public static final int Solidus=64; + public static final int Colon=65; + public static final int RightCurlyBracket=75; public static final int EOF=-1; - public static final int T__30=30; - public static final int T__74=74; - public static final int T__31=31; - public static final int T__32=32; - public static final int RULE_WS=13; - public static final int RULE_ANY_OTHER=14; - public static final int T__48=48; - public static final int T__49=49; - public static final int T__44=44; - public static final int T__45=45; - public static final int T__46=46; - public static final int T__47=47; - public static final int T__40=40; - public static final int T__41=41; - public static final int T__42=42; - public static final int T__43=43; + public static final int Asterisk=59; + public static final int FullStop=63; + public static final int RULE_WS=85; + public static final int Abstract=6; + public static final int Minimize=9; + public static final int GREATER=11; + public static final int LeftCurlyBracket=73; + public static final int Error=22; + public static final int Only=28; + public static final int RULE_ANY_OTHER=86; + public static final int Default=14; + public static final int ColonHyphenMinus=48; + public static final int CircumflexAccent=72; + public static final int DIV=34; + public static final int Semicolon=66; + public static final int Scope=24; + public static final int Else=26; + public static final int ExclamationMarkEqualsSign=45; + public static final int HyphenMinusGreaterThanSign=46; // delegates // delegators @@ -112,7 +123,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { public String[] getTokenNames() { return InternalSolverLanguageParser.tokenNames; } - public String getGrammarFileName() { return "InternalSolverLanguage.g"; } + public String getGrammarFileName() { return "InternalSolverLanguageParser.g"; } @@ -138,7 +149,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleProblem" - // InternalSolverLanguage.g:65:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ; + // InternalSolverLanguageParser.g:58:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ; public final EObject entryRuleProblem() throws RecognitionException { EObject current = null; @@ -146,21 +157,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:65:48: (iv_ruleProblem= ruleProblem EOF ) - // InternalSolverLanguage.g:66:2: iv_ruleProblem= ruleProblem EOF + // InternalSolverLanguageParser.g:58:48: (iv_ruleProblem= ruleProblem EOF ) + // InternalSolverLanguageParser.g:59:2: iv_ruleProblem= ruleProblem EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getProblemRule()); - } + newCompositeNode(grammarAccess.getProblemRule()); pushFollow(FOLLOW_1); iv_ruleProblem=ruleProblem(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleProblem; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleProblem; + match(input,EOF,FOLLOW_2); } @@ -178,7 +185,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleProblem" - // InternalSolverLanguage.g:72:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; + // InternalSolverLanguageParser.g:65:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; public final EObject ruleProblem() throws RecognitionException { EObject current = null; @@ -189,50 +196,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:78:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) - // InternalSolverLanguage.g:79:2: ( (lv_statements_0_0= ruleStatement ) )* + // InternalSolverLanguageParser.g:71:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) + // InternalSolverLanguageParser.g:72:2: ( (lv_statements_0_0= ruleStatement ) )* { - // InternalSolverLanguage.g:79:2: ( (lv_statements_0_0= ruleStatement ) )* + // InternalSolverLanguageParser.g:72:2: ( (lv_statements_0_0= ruleStatement ) )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); - if ( ((LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=18 && LA1_0<=21)||LA1_0==23||LA1_0==29||LA1_0==33||LA1_0==36||(LA1_0>=39 && LA1_0<=42)||LA1_0==46||(LA1_0>=50 && LA1_0<=51)||(LA1_0>=56 && LA1_0<=57)||(LA1_0>=60 && LA1_0<=74)) ) { + 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)) ) { alt1=1; } switch (alt1) { case 1 : - // InternalSolverLanguage.g:80:3: (lv_statements_0_0= ruleStatement ) + // InternalSolverLanguageParser.g:73:3: (lv_statements_0_0= ruleStatement ) { - // InternalSolverLanguage.g:80:3: (lv_statements_0_0= ruleStatement ) - // InternalSolverLanguage.g:81:4: lv_statements_0_0= ruleStatement + // InternalSolverLanguageParser.g:73:3: (lv_statements_0_0= ruleStatement ) + // InternalSolverLanguageParser.g:74:4: lv_statements_0_0= ruleStatement { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); + pushFollow(FOLLOW_3); lv_statements_0_0=ruleStatement(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getProblemRule()); - } - add( - current, - "statements", - lv_statements_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProblemRule()); + } + add( + current, + "statements", + lv_statements_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); + afterParserOrEnumRuleCall(); + } @@ -248,11 +251,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -267,7 +268,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStatement" - // InternalSolverLanguage.g:101:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; + // InternalSolverLanguageParser.g:94:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; public final EObject entryRuleStatement() throws RecognitionException { EObject current = null; @@ -275,21 +276,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:101:50: (iv_ruleStatement= ruleStatement EOF ) - // InternalSolverLanguage.g:102:2: iv_ruleStatement= ruleStatement EOF + // InternalSolverLanguageParser.g:94:50: (iv_ruleStatement= ruleStatement EOF ) + // InternalSolverLanguageParser.g:95:2: iv_ruleStatement= ruleStatement EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementRule()); - } + newCompositeNode(grammarAccess.getStatementRule()); pushFollow(FOLLOW_1); iv_ruleStatement=ruleStatement(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleStatement; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleStatement; + match(input,EOF,FOLLOW_2); } @@ -307,11 +304,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStatement" - // InternalSolverLanguage.g:108: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_DOT_10= RULE_DOT ) ; + // 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 ) ; public final EObject ruleStatement() throws RecognitionException { EObject current = null; - Token this_DOT_10=null; + Token this_FULL_STOP_10=null; EObject this_AssertionOrDefinition_0 = null; EObject this_PredicateDefinition_1 = null; @@ -337,256 +334,212 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:114: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_DOT_10= RULE_DOT ) ) - // InternalSolverLanguage.g:115: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_DOT_10= RULE_DOT ) + // 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 ) ) + // 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 ) { - // InternalSolverLanguage.g:115: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_DOT_10= RULE_DOT ) - // InternalSolverLanguage.g:116: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_DOT_10= RULE_DOT + // 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 ) + // 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 { - // InternalSolverLanguage.g:116: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 ) + // 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 ) int alt2=10; alt2 = dfa2.predict(input); switch (alt2) { case 1 : - // InternalSolverLanguage.g:117:4: this_AssertionOrDefinition_0= ruleAssertionOrDefinition + // InternalSolverLanguageParser.g:110:4: this_AssertionOrDefinition_0= ruleAssertionOrDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); + pushFollow(FOLLOW_4); this_AssertionOrDefinition_0=ruleAssertionOrDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_AssertionOrDefinition_0; - afterParserOrEnumRuleCall(); - - } + + current = this_AssertionOrDefinition_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguage.g:126:4: this_PredicateDefinition_1= rulePredicateDefinition + // InternalSolverLanguageParser.g:119:4: this_PredicateDefinition_1= rulePredicateDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); + pushFollow(FOLLOW_4); this_PredicateDefinition_1=rulePredicateDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_PredicateDefinition_1; - afterParserOrEnumRuleCall(); - - } + + current = this_PredicateDefinition_1; + afterParserOrEnumRuleCall(); + } break; case 3 : - // InternalSolverLanguage.g:135:4: this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition + // InternalSolverLanguageParser.g:128:4: this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); + pushFollow(FOLLOW_4); this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_UnnamedErrorPrediateDefinition_2; - afterParserOrEnumRuleCall(); - - } + + current = this_UnnamedErrorPrediateDefinition_2; + afterParserOrEnumRuleCall(); + } break; case 4 : - // InternalSolverLanguage.g:144:4: this_DefaultDefinition_3= ruleDefaultDefinition + // InternalSolverLanguageParser.g:137:4: this_DefaultDefinition_3= ruleDefaultDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); + pushFollow(FOLLOW_4); this_DefaultDefinition_3=ruleDefaultDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_DefaultDefinition_3; - afterParserOrEnumRuleCall(); - - } + + current = this_DefaultDefinition_3; + afterParserOrEnumRuleCall(); + } break; case 5 : - // InternalSolverLanguage.g:153:4: this_ExternPredicateDefinition_4= ruleExternPredicateDefinition + // InternalSolverLanguageParser.g:146:4: this_ExternPredicateDefinition_4= ruleExternPredicateDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); + pushFollow(FOLLOW_4); this_ExternPredicateDefinition_4=ruleExternPredicateDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ExternPredicateDefinition_4; - afterParserOrEnumRuleCall(); - - } + + current = this_ExternPredicateDefinition_4; + afterParserOrEnumRuleCall(); + } break; case 6 : - // InternalSolverLanguage.g:162:4: this_MetricDefinition_5= ruleMetricDefinition + // InternalSolverLanguageParser.g:155:4: this_MetricDefinition_5= ruleMetricDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); + pushFollow(FOLLOW_4); this_MetricDefinition_5=ruleMetricDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_MetricDefinition_5; - afterParserOrEnumRuleCall(); - - } + + current = this_MetricDefinition_5; + afterParserOrEnumRuleCall(); + } break; case 7 : - // InternalSolverLanguage.g:171:4: this_ExternMetricDefinition_6= ruleExternMetricDefinition + // InternalSolverLanguageParser.g:164:4: this_ExternMetricDefinition_6= ruleExternMetricDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); + pushFollow(FOLLOW_4); this_ExternMetricDefinition_6=ruleExternMetricDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ExternMetricDefinition_6; - afterParserOrEnumRuleCall(); - - } + + current = this_ExternMetricDefinition_6; + afterParserOrEnumRuleCall(); + } break; case 8 : - // InternalSolverLanguage.g:180:4: this_ClassDefinition_7= ruleClassDefinition + // InternalSolverLanguageParser.g:173:4: this_ClassDefinition_7= ruleClassDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); + pushFollow(FOLLOW_4); this_ClassDefinition_7=ruleClassDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ClassDefinition_7; - afterParserOrEnumRuleCall(); - - } + + current = this_ClassDefinition_7; + afterParserOrEnumRuleCall(); + } break; case 9 : - // InternalSolverLanguage.g:189:4: this_ScopeDefinition_8= ruleScopeDefinition + // InternalSolverLanguageParser.g:182:4: this_ScopeDefinition_8= ruleScopeDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); + pushFollow(FOLLOW_4); this_ScopeDefinition_8=ruleScopeDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ScopeDefinition_8; - afterParserOrEnumRuleCall(); - - } + + current = this_ScopeDefinition_8; + afterParserOrEnumRuleCall(); + } break; case 10 : - // InternalSolverLanguage.g:198:4: this_ObjectiveDefinition_9= ruleObjectiveDefinition + // InternalSolverLanguageParser.g:191:4: this_ObjectiveDefinition_9= ruleObjectiveDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); - - } + newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); + pushFollow(FOLLOW_4); this_ObjectiveDefinition_9=ruleObjectiveDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ObjectiveDefinition_9; - afterParserOrEnumRuleCall(); - - } + + current = this_ObjectiveDefinition_9; + afterParserOrEnumRuleCall(); + } break; } - this_DOT_10=(Token)match(input,RULE_DOT,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + this_FULL_STOP_10=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); - newLeafNode(this_DOT_10, grammarAccess.getStatementAccess().getDOTTerminalRuleCall_1()); - - } + newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -601,7 +554,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAssertionOrDefinition" - // InternalSolverLanguage.g:215:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; + // InternalSolverLanguageParser.g:208:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { EObject current = null; @@ -609,21 +562,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:215:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) - // InternalSolverLanguage.g:216:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF + // InternalSolverLanguageParser.g:208:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) + // InternalSolverLanguageParser.g:209:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); - } + newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleAssertionOrDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleAssertionOrDefinition; + match(input,EOF,FOLLOW_2); } @@ -641,7 +590,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAssertionOrDefinition" - // InternalSolverLanguage.g:222:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) ) ; + // 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 ) ) ) ) ) ; public final EObject ruleAssertionOrDefinition() throws RecognitionException { EObject current = null; @@ -661,50 +610,45 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:228:2: ( (this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) ) ) - // InternalSolverLanguage.g:229:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) ) + // 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 ) ) ) ) ) ) + // 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 ) ) ) ) ) { - // InternalSolverLanguage.g:229:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) ) - // InternalSolverLanguage.g:230:3: this_Expression_0= ruleExpression ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) + // 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 ) ) ) ) ) + // 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 ) ) ) ) { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); + pushFollow(FOLLOW_5); this_Expression_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_Expression_0; - afterParserOrEnumRuleCall(); - - } - // InternalSolverLanguage.g:238:3: ( ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) ) + + current = this_Expression_0; + afterParserOrEnumRuleCall(); + + // 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 ) ) ) ) int alt4=3; switch ( input.LA(1) ) { case EOF: - case RULE_DOT: - case 15: + case Colon: + case RULE_FULL_STOP: { alt4=1; } break; - case 16: + case ColonHyphenMinus: { alt4=2; } break; - case 17: + case EqualsSign: { alt4=3; } break; default: - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 4, 0, input); @@ -713,70 +657,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { switch (alt4) { case 1 : - // InternalSolverLanguage.g:239:4: ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) + // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) { - // InternalSolverLanguage.g:239:4: ( () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? ) - // InternalSolverLanguage.g:240:5: () (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? + // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) + // InternalSolverLanguageParser.g:233:5: () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? { - // InternalSolverLanguage.g:240:5: () - // InternalSolverLanguage.g:241:6: + // InternalSolverLanguageParser.g:233:5: () + // InternalSolverLanguageParser.g:234:6: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), - current); - - } + current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), + current); + } - // InternalSolverLanguage.g:247:5: (otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) )? + // InternalSolverLanguageParser.g:240:5: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? int alt3=2; int LA3_0 = input.LA(1); - if ( (LA3_0==15) ) { + if ( (LA3_0==Colon) ) { alt3=1; } switch (alt3) { case 1 : - // InternalSolverLanguage.g:248:6: otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:241:6: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) { - otherlv_2=(Token)match(input,15,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,Colon,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); - - } - // InternalSolverLanguage.g:252:6: ( (lv_range_3_0= ruleExpression ) ) - // InternalSolverLanguage.g:253:7: (lv_range_3_0= ruleExpression ) + newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); + + // InternalSolverLanguageParser.g:245:6: ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression ) { - // InternalSolverLanguage.g:253:7: (lv_range_3_0= ruleExpression ) - // InternalSolverLanguage.g:254:8: lv_range_3_0= ruleExpression + // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:247:8: lv_range_3_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); - - } + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); + pushFollow(FOLLOW_2); lv_range_3_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); - } - set( - current, - "range", - lv_range_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -796,59 +732,51 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:274:4: ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:274:4: ( () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) ) - // InternalSolverLanguage.g:275:5: () otherlv_5= ':-' ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:268:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) { - // InternalSolverLanguage.g:275:5: () - // InternalSolverLanguage.g:276:6: + // InternalSolverLanguageParser.g:268:5: () + // InternalSolverLanguageParser.g:269:6: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), - current); - - } + current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), + current); + } - otherlv_5=(Token)match(input,16,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_6); - newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); - - } - // InternalSolverLanguage.g:286:5: ( (lv_body_6_0= ruleExpression ) ) - // InternalSolverLanguage.g:287:6: (lv_body_6_0= ruleExpression ) + newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); + + // InternalSolverLanguageParser.g:279:5: ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) { - // InternalSolverLanguage.g:287:6: (lv_body_6_0= ruleExpression ) - // InternalSolverLanguage.g:288:7: lv_body_6_0= ruleExpression + // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:281:7: lv_body_6_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); - - } + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); + pushFollow(FOLLOW_2); lv_body_6_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); - } - set( - current, - "body", - lv_body_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -862,59 +790,51 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:307:4: ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:307:4: ( () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) ) - // InternalSolverLanguage.g:308:5: () otherlv_8= '=' ( (lv_body_9_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:301:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) { - // InternalSolverLanguage.g:308:5: () - // InternalSolverLanguage.g:309:6: + // InternalSolverLanguageParser.g:301:5: () + // InternalSolverLanguageParser.g:302:6: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), - current); - - } + current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), + current); + } - otherlv_8=(Token)match(input,17,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_8=(Token)match(input,EqualsSign,FOLLOW_6); - newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); - - } - // InternalSolverLanguage.g:319:5: ( (lv_body_9_0= ruleExpression ) ) - // InternalSolverLanguage.g:320:6: (lv_body_9_0= ruleExpression ) + newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); + + // InternalSolverLanguageParser.g:312:5: ( (lv_body_9_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) { - // InternalSolverLanguage.g:320:6: (lv_body_9_0= ruleExpression ) - // InternalSolverLanguage.g:321:7: lv_body_9_0= ruleExpression + // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) + // InternalSolverLanguageParser.g:314:7: lv_body_9_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); - - } + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); + pushFollow(FOLLOW_2); lv_body_9_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); - } - set( - current, - "body", - lv_body_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + } + set( + current, + "body", + lv_body_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -936,11 +856,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -955,7 +873,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRulePredicateDefinition" - // InternalSolverLanguage.g:344:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; + // InternalSolverLanguageParser.g:337:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; public final EObject entryRulePredicateDefinition() throws RecognitionException { EObject current = null; @@ -963,21 +881,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:344:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) - // InternalSolverLanguage.g:345:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF + // InternalSolverLanguageParser.g:337:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) + // InternalSolverLanguageParser.g:338:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getPredicateDefinitionRule()); - } + newCompositeNode(grammarAccess.getPredicateDefinitionRule()); pushFollow(FOLLOW_1); iv_rulePredicateDefinition=rulePredicateDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_rulePredicateDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_rulePredicateDefinition; + match(input,EOF,FOLLOW_2); } @@ -995,7 +909,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "rulePredicateDefinition" - // InternalSolverLanguage.g:351: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= ':-' ( (lv_body_6_0= ruleExpression ) ) ) ; + // 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 ) ) ) ; public final EObject rulePredicateDefinition() throws RecognitionException { EObject current = null; @@ -1013,24 +927,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:357: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= ':-' ( (lv_body_6_0= ruleExpression ) ) ) ) - // InternalSolverLanguage.g:358: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= ':-' ( (lv_body_6_0= ruleExpression ) ) ) + // 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 ) ) ) ) + // 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 ) ) ) { - // InternalSolverLanguage.g:358: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= ':-' ( (lv_body_6_0= ruleExpression ) ) ) - // InternalSolverLanguage.g:359: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= ':-' ( (lv_body_6_0= ruleExpression ) ) + // 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 ) ) ) + // 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 ) ) { - // InternalSolverLanguage.g:359:3: ( ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? ) | ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? ) ) + // InternalSolverLanguageParser.g:352:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) int alt7=2; int LA7_0 = input.LA(1); - if ( (LA7_0==18) ) { + if ( (LA7_0==Functional) ) { alt7=1; } - else if ( (LA7_0==19) ) { + else if ( (LA7_0==Error) ) { alt7=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 7, 0, input); @@ -1038,65 +951,57 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } switch (alt7) { case 1 : - // InternalSolverLanguage.g:360:4: ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? ) + // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) { - // InternalSolverLanguage.g:360:4: ( ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? ) - // InternalSolverLanguage.g:361:5: ( (lv_functional_0_0= 'functional' ) ) ( (lv_error_1_0= 'error' ) )? + // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) + // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? { - // InternalSolverLanguage.g:361:5: ( (lv_functional_0_0= 'functional' ) ) - // InternalSolverLanguage.g:362:6: (lv_functional_0_0= 'functional' ) + // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) + // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) { - // InternalSolverLanguage.g:362:6: (lv_functional_0_0= 'functional' ) - // InternalSolverLanguage.g:363:7: lv_functional_0_0= 'functional' + // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) + // InternalSolverLanguageParser.g:356:7: lv_functional_0_0= Functional { - lv_functional_0_0=(Token)match(input,18,FOLLOW_7); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7); - newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed(current, "functional", true, "functional"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "functional", true, "functional"); + } } - // InternalSolverLanguage.g:375:5: ( (lv_error_1_0= 'error' ) )? + // InternalSolverLanguageParser.g:368:5: ( (lv_error_1_0= Error ) )? int alt5=2; int LA5_0 = input.LA(1); - if ( (LA5_0==19) ) { + if ( (LA5_0==Error) ) { alt5=1; } switch (alt5) { case 1 : - // InternalSolverLanguage.g:376:6: (lv_error_1_0= 'error' ) + // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) { - // InternalSolverLanguage.g:376:6: (lv_error_1_0= 'error' ) - // InternalSolverLanguage.g:377:7: lv_error_1_0= 'error' + // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) + // InternalSolverLanguageParser.g:370:7: lv_error_1_0= Error { - lv_error_1_0=(Token)match(input,19,FOLLOW_7); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_error_1_0=(Token)match(input,Error,FOLLOW_8); - newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed(current, "error", true, "error"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "error", true, "error"); + } @@ -1113,65 +1018,57 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:391:4: ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? ) + // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) { - // InternalSolverLanguage.g:391:4: ( ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? ) - // InternalSolverLanguage.g:392:5: ( (lv_error_2_0= 'error' ) ) ( (lv_functional_3_0= 'functional' ) )? + // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) + // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? { - // InternalSolverLanguage.g:392:5: ( (lv_error_2_0= 'error' ) ) - // InternalSolverLanguage.g:393:6: (lv_error_2_0= 'error' ) + // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) + // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) { - // InternalSolverLanguage.g:393:6: (lv_error_2_0= 'error' ) - // InternalSolverLanguage.g:394:7: lv_error_2_0= 'error' + // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) + // InternalSolverLanguageParser.g:387:7: lv_error_2_0= Error { - lv_error_2_0=(Token)match(input,19,FOLLOW_8); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_error_2_0=(Token)match(input,Error,FOLLOW_9); - newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed(current, "error", true, "error"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "error", true, "error"); + } } - // InternalSolverLanguage.g:406:5: ( (lv_functional_3_0= 'functional' ) )? + // InternalSolverLanguageParser.g:399:5: ( (lv_functional_3_0= Functional ) )? int alt6=2; int LA6_0 = input.LA(1); - if ( (LA6_0==18) ) { + if ( (LA6_0==Functional) ) { alt6=1; } switch (alt6) { case 1 : - // InternalSolverLanguage.g:407:6: (lv_functional_3_0= 'functional' ) + // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) { - // InternalSolverLanguage.g:407:6: (lv_functional_3_0= 'functional' ) - // InternalSolverLanguage.g:408:7: lv_functional_3_0= 'functional' + // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) + // InternalSolverLanguageParser.g:401:7: lv_functional_3_0= Functional { - lv_functional_3_0=(Token)match(input,18,FOLLOW_7); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8); - newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed(current, "functional", true, "functional"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "functional", true, "functional"); + } @@ -1190,76 +1087,66 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:422:3: ( (lv_head_4_0= ruleCall ) ) - // InternalSolverLanguage.g:423:4: (lv_head_4_0= ruleCall ) + // InternalSolverLanguageParser.g:415:3: ( (lv_head_4_0= ruleCall ) ) + // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) { - // InternalSolverLanguage.g:423:4: (lv_head_4_0= ruleCall ) - // InternalSolverLanguage.g:424:5: lv_head_4_0= ruleCall + // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) + // InternalSolverLanguageParser.g:417:5: lv_head_4_0= ruleCall { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); - - } - pushFollow(FOLLOW_9); + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + + pushFollow(FOLLOW_10); lv_head_4_0=ruleCall(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - set( - current, - "head", - lv_head_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + current, + "head", + lv_head_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } } - otherlv_5=(Token)match(input,16,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_6); - newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); - - } - // InternalSolverLanguage.g:445:3: ( (lv_body_6_0= ruleExpression ) ) - // InternalSolverLanguage.g:446:4: (lv_body_6_0= ruleExpression ) + newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); + + // InternalSolverLanguageParser.g:438:3: ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) { - // InternalSolverLanguage.g:446:4: (lv_body_6_0= ruleExpression ) - // InternalSolverLanguage.g:447:5: lv_body_6_0= ruleExpression + // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:440:5: lv_body_6_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - - } + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + pushFollow(FOLLOW_2); lv_body_6_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); - } - set( - current, - "body", - lv_body_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -1272,11 +1159,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -1291,7 +1176,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" - // InternalSolverLanguage.g:468:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; + // InternalSolverLanguageParser.g:461:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { EObject current = null; @@ -1299,21 +1184,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:468:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) - // InternalSolverLanguage.g:469:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF + // InternalSolverLanguageParser.g:461:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) + // InternalSolverLanguageParser.g:462:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); - } + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleUnnamedErrorPrediateDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleUnnamedErrorPrediateDefinition; + match(input,EOF,FOLLOW_2); } @@ -1331,7 +1212,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUnnamedErrorPrediateDefinition" - // InternalSolverLanguage.g:475:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) ; + // 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 ) ) ) ; public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException { EObject current = null; @@ -1346,88 +1227,76 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:481:2: ( (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) ) - // InternalSolverLanguage.g:482:2: (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:474:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:482:2: (otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) ) - // InternalSolverLanguage.g:483:3: otherlv_0= 'error' ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ':-' ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:476:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,19,FOLLOW_10); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,Error,FOLLOW_11); - newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); - - } - // InternalSolverLanguage.g:487:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) - // InternalSolverLanguage.g:488:4: (lv_argumentList_1_0= ruleArgumentList ) + newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); + + // InternalSolverLanguageParser.g:480:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) { - // InternalSolverLanguage.g:488:4: (lv_argumentList_1_0= ruleArgumentList ) - // InternalSolverLanguage.g:489:5: lv_argumentList_1_0= ruleArgumentList + // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:482:5: lv_argumentList_1_0= ruleArgumentList { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); - - } - pushFollow(FOLLOW_9); + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + + pushFollow(FOLLOW_10); lv_argumentList_1_0=ruleArgumentList(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); - } - set( - current, - "argumentList", - lv_argumentList_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + set( + current, + "argumentList", + lv_argumentList_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + } } - otherlv_2=(Token)match(input,16,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,ColonHyphenMinus,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); - - } - // InternalSolverLanguage.g:510:3: ( (lv_body_3_0= ruleExpression ) ) - // InternalSolverLanguage.g:511:4: (lv_body_3_0= ruleExpression ) + newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); + + // InternalSolverLanguageParser.g:503:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) { - // InternalSolverLanguage.g:511:4: (lv_body_3_0= ruleExpression ) - // InternalSolverLanguage.g:512:5: lv_body_3_0= ruleExpression + // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:505:5: lv_body_3_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - - } + newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + pushFollow(FOLLOW_2); lv_body_3_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); - } - set( - current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + } + set( + current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -1440,11 +1309,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -1459,7 +1326,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleDefaultDefinition" - // InternalSolverLanguage.g:533:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; + // InternalSolverLanguageParser.g:526:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; public final EObject entryRuleDefaultDefinition() throws RecognitionException { EObject current = null; @@ -1467,21 +1334,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:533:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) - // InternalSolverLanguage.g:534:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF + // InternalSolverLanguageParser.g:526:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) + // InternalSolverLanguageParser.g:527:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDefaultDefinitionRule()); - } + newCompositeNode(grammarAccess.getDefaultDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleDefaultDefinition=ruleDefaultDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleDefaultDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleDefaultDefinition; + match(input,EOF,FOLLOW_2); } @@ -1499,7 +1362,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDefaultDefinition" - // InternalSolverLanguage.g:540:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) ; + // 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 ) ) ) ; public final EObject ruleDefaultDefinition() throws RecognitionException { EObject current = null; @@ -1514,88 +1377,76 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:546:2: ( (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) ) - // InternalSolverLanguage.g:547:2: (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:539:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:547:2: (otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) ) - // InternalSolverLanguage.g:548:3: otherlv_0= 'default' ( (lv_head_1_0= ruleCall ) ) otherlv_2= ':' ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:541:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,20,FOLLOW_7); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,Default,FOLLOW_8); - newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); - - } - // InternalSolverLanguage.g:552:3: ( (lv_head_1_0= ruleCall ) ) - // InternalSolverLanguage.g:553:4: (lv_head_1_0= ruleCall ) + newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); + + // InternalSolverLanguageParser.g:545:3: ( (lv_head_1_0= ruleCall ) ) + // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) { - // InternalSolverLanguage.g:553:4: (lv_head_1_0= ruleCall ) - // InternalSolverLanguage.g:554:5: lv_head_1_0= ruleCall + // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguageParser.g:547:5: lv_head_1_0= ruleCall { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); - - } - pushFollow(FOLLOW_11); + newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); + + pushFollow(FOLLOW_12); lv_head_1_0=ruleCall(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); - } - set( - current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + } + set( + current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } } - otherlv_2=(Token)match(input,15,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,Colon,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); - - } - // InternalSolverLanguage.g:575:3: ( (lv_range_3_0= ruleExpression ) ) - // InternalSolverLanguage.g:576:4: (lv_range_3_0= ruleExpression ) + newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); + + // InternalSolverLanguageParser.g:568:3: ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) { - // InternalSolverLanguage.g:576:4: (lv_range_3_0= ruleExpression ) - // InternalSolverLanguage.g:577:5: lv_range_3_0= ruleExpression + // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:570:5: lv_range_3_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); - - } + newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); + pushFollow(FOLLOW_2); lv_range_3_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); - } - set( - current, - "range", - lv_range_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + } + set( + current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -1608,11 +1459,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -1627,7 +1476,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExternPredicateDefinition" - // InternalSolverLanguage.g:598:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; + // InternalSolverLanguageParser.g:591:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { EObject current = null; @@ -1635,21 +1484,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:598:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) - // InternalSolverLanguage.g:599:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF + // InternalSolverLanguageParser.g:591:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) + // InternalSolverLanguageParser.g:592:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); - } + newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleExternPredicateDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleExternPredicateDefinition; + match(input,EOF,FOLLOW_2); } @@ -1667,12 +1512,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExternPredicateDefinition" - // InternalSolverLanguage.g:605:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) ; + // InternalSolverLanguageParser.g:598:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ; public final EObject ruleExternPredicateDefinition() throws RecognitionException { EObject current = null; Token otherlv_0=null; - Token otherlv_2=null; EObject lv_head_1_0 = null; @@ -1680,70 +1524,56 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:611:2: ( (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) ) - // InternalSolverLanguage.g:612:2: (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) + // InternalSolverLanguageParser.g:604:2: ( (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ) + // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) { - // InternalSolverLanguage.g:612:2: (otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' ) - // InternalSolverLanguage.g:613:3: otherlv_0= 'extern' ( (lv_head_1_0= ruleCall ) ) otherlv_2= '.' + // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) + // InternalSolverLanguageParser.g:606:3: otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) { - otherlv_0=(Token)match(input,21,FOLLOW_7); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,Extern,FOLLOW_8); - newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); - - } - // InternalSolverLanguage.g:617:3: ( (lv_head_1_0= ruleCall ) ) - // InternalSolverLanguage.g:618:4: (lv_head_1_0= ruleCall ) + newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); + + // InternalSolverLanguageParser.g:610:3: ( (lv_head_1_0= ruleCall ) ) + // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) { - // InternalSolverLanguage.g:618:4: (lv_head_1_0= ruleCall ) - // InternalSolverLanguage.g:619:5: lv_head_1_0= ruleCall + // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguageParser.g:612:5: lv_head_1_0= ruleCall { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); - - } - pushFollow(FOLLOW_12); + newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + + pushFollow(FOLLOW_2); lv_head_1_0=ruleCall(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); - } - set( - current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - - } - } + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); + } + set( + current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } - otherlv_2=(Token)match(input,22,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { - newLeafNode(otherlv_2, grammarAccess.getExternPredicateDefinitionAccess().getFullStopKeyword_2()); - } + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -1758,7 +1588,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMetricDefinition" - // InternalSolverLanguage.g:644:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; + // InternalSolverLanguageParser.g:633:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; public final EObject entryRuleMetricDefinition() throws RecognitionException { EObject current = null; @@ -1766,21 +1596,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:644:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) - // InternalSolverLanguage.g:645:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF + // InternalSolverLanguageParser.g:633:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) + // InternalSolverLanguageParser.g:634:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMetricDefinitionRule()); - } + newCompositeNode(grammarAccess.getMetricDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleMetricDefinition=ruleMetricDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleMetricDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleMetricDefinition; + match(input,EOF,FOLLOW_2); } @@ -1798,7 +1624,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMetricDefinition" - // InternalSolverLanguage.g:651:1: ruleMetricDefinition returns [EObject current=null] : ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) ; + // 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 ) ) ) ; public final EObject ruleMetricDefinition() throws RecognitionException { EObject current = null; @@ -1814,117 +1640,103 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:657:2: ( ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) ) - // InternalSolverLanguage.g:658:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:646:2: ( ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:658:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) ) - // InternalSolverLanguage.g:659:3: ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= '=' ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) { - // InternalSolverLanguage.g:659:3: ( (lv_type_0_0= ruleMetricType ) ) - // InternalSolverLanguage.g:660:4: (lv_type_0_0= ruleMetricType ) + // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) + // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) { - // InternalSolverLanguage.g:660:4: (lv_type_0_0= ruleMetricType ) - // InternalSolverLanguage.g:661:5: lv_type_0_0= ruleMetricType + // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) + // InternalSolverLanguageParser.g:650:5: lv_type_0_0= ruleMetricType { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); - - } + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); + pushFollow(FOLLOW_6); lv_type_0_0=ruleMetricType(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); - } - set( - current, - "type", - lv_type_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + current, + "type", + lv_type_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:678:3: ( (lv_head_1_0= ruleExpression ) ) - // InternalSolverLanguage.g:679:4: (lv_head_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:667:3: ( (lv_head_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) { - // InternalSolverLanguage.g:679:4: (lv_head_1_0= ruleExpression ) - // InternalSolverLanguage.g:680:5: lv_head_1_0= ruleExpression + // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:669:5: lv_head_1_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); - - } + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); + pushFollow(FOLLOW_13); lv_head_1_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); - } - set( - current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + current, + "head", + lv_head_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } } - otherlv_2=(Token)match(input,17,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); - - } - // InternalSolverLanguage.g:701:3: ( (lv_body_3_0= ruleExpression ) ) - // InternalSolverLanguage.g:702:4: (lv_body_3_0= ruleExpression ) + newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); + + // InternalSolverLanguageParser.g:690:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) { - // InternalSolverLanguage.g:702:4: (lv_body_3_0= ruleExpression ) - // InternalSolverLanguage.g:703:5: lv_body_3_0= ruleExpression + // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:692:5: lv_body_3_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - - } + newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + pushFollow(FOLLOW_2); lv_body_3_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); - } - set( - current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + } + set( + current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -1937,11 +1749,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -1956,7 +1766,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExternMetricDefinition" - // InternalSolverLanguage.g:724:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; + // InternalSolverLanguageParser.g:713:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; public final EObject entryRuleExternMetricDefinition() throws RecognitionException { EObject current = null; @@ -1964,21 +1774,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:724:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) - // InternalSolverLanguage.g:725:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF + // InternalSolverLanguageParser.g:713:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) + // InternalSolverLanguageParser.g:714:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); - } + newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleExternMetricDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleExternMetricDefinition; + match(input,EOF,FOLLOW_2); } @@ -1996,7 +1802,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExternMetricDefinition" - // InternalSolverLanguage.g:731:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ; + // InternalSolverLanguageParser.g:720:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ; public final EObject ruleExternMetricDefinition() throws RecognitionException { EObject current = null; @@ -2010,82 +1816,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:737:2: ( (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ) - // InternalSolverLanguage.g:738:2: (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) + // InternalSolverLanguageParser.g:726:2: ( (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ) + // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) { - // InternalSolverLanguage.g:738:2: (otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) - // InternalSolverLanguage.g:739:3: otherlv_0= 'extern' ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) + // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) + // InternalSolverLanguageParser.g:728:3: otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) { - otherlv_0=(Token)match(input,21,FOLLOW_14); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,Extern,FOLLOW_14); - newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); - - } - // InternalSolverLanguage.g:743:3: ( (lv_type_1_0= ruleMetricType ) ) - // InternalSolverLanguage.g:744:4: (lv_type_1_0= ruleMetricType ) + newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + + // InternalSolverLanguageParser.g:732:3: ( (lv_type_1_0= ruleMetricType ) ) + // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) { - // InternalSolverLanguage.g:744:4: (lv_type_1_0= ruleMetricType ) - // InternalSolverLanguage.g:745:5: lv_type_1_0= ruleMetricType + // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) + // InternalSolverLanguageParser.g:734:5: lv_type_1_0= ruleMetricType { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); - - } - pushFollow(FOLLOW_7); + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); + + pushFollow(FOLLOW_8); lv_type_1_0=ruleMetricType(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); - } - set( - current, - "type", - lv_type_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + current, + "type", + lv_type_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:762:3: ( (lv_head_2_0= ruleCall ) ) - // InternalSolverLanguage.g:763:4: (lv_head_2_0= ruleCall ) + // InternalSolverLanguageParser.g:751:3: ( (lv_head_2_0= ruleCall ) ) + // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) { - // InternalSolverLanguage.g:763:4: (lv_head_2_0= ruleCall ) - // InternalSolverLanguage.g:764:5: lv_head_2_0= ruleCall + // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) + // InternalSolverLanguageParser.g:753:5: lv_head_2_0= ruleCall { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); - - } + newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); + pushFollow(FOLLOW_2); lv_head_2_0=ruleCall(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); - } - set( - current, - "head", - lv_head_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + } + set( + current, + "head", + lv_head_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + } @@ -2098,11 +1894,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -2117,7 +1911,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExpression" - // InternalSolverLanguage.g:785:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; + // InternalSolverLanguageParser.g:774:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; public final EObject entryRuleExpression() throws RecognitionException { EObject current = null; @@ -2125,21 +1919,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:785:51: (iv_ruleExpression= ruleExpression EOF ) - // InternalSolverLanguage.g:786:2: iv_ruleExpression= ruleExpression EOF + // InternalSolverLanguageParser.g:774:51: (iv_ruleExpression= ruleExpression EOF ) + // InternalSolverLanguageParser.g:775:2: iv_ruleExpression= ruleExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExpressionRule()); - } + newCompositeNode(grammarAccess.getExpressionRule()); pushFollow(FOLLOW_1); iv_ruleExpression=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleExpression; + match(input,EOF,FOLLOW_2); } @@ -2157,7 +1947,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExpression" - // InternalSolverLanguage.g:792:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ; + // InternalSolverLanguageParser.g:781:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ; public final EObject ruleExpression() throws RecognitionException { EObject current = null; @@ -2170,21 +1960,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:798:2: ( (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ) - // InternalSolverLanguage.g:799:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) + // InternalSolverLanguageParser.g:787:2: ( (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ) + // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) { - // InternalSolverLanguage.g:799:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) + // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) int alt8=2; int LA8_0 = input.LA(1); - if ( (LA8_0==23) ) { + if ( (LA8_0==If) ) { alt8=1; } - else if ( ((LA8_0>=RULE_STRING && LA8_0<=RULE_QUOTED_ID)||LA8_0==19||LA8_0==29||LA8_0==33||LA8_0==36||(LA8_0>=39 && LA8_0<=40)||(LA8_0>=56 && LA8_0<=57)||(LA8_0>=60 && LA8_0<=72)) ) { + 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)) ) { alt8=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 8, 0, input); @@ -2192,46 +1981,38 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } switch (alt8) { case 1 : - // InternalSolverLanguage.g:800:3: this_IfElse_0= ruleIfElse + // InternalSolverLanguageParser.g:789:3: this_IfElse_0= ruleIfElse { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); + pushFollow(FOLLOW_2); this_IfElse_0=ruleIfElse(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_IfElse_0; - afterParserOrEnumRuleCall(); - - } + + current = this_IfElse_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguage.g:809:3: this_DisjunctiveExpression_1= ruleDisjunctiveExpression + // InternalSolverLanguageParser.g:798:3: this_DisjunctiveExpression_1= ruleDisjunctiveExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); - - } + newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); + pushFollow(FOLLOW_2); this_DisjunctiveExpression_1=ruleDisjunctiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_DisjunctiveExpression_1; - afterParserOrEnumRuleCall(); - - } + + current = this_DisjunctiveExpression_1; + afterParserOrEnumRuleCall(); + } break; @@ -2241,11 +2022,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -2260,7 +2039,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleIfElse" - // InternalSolverLanguage.g:821:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; + // InternalSolverLanguageParser.g:810:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; public final EObject entryRuleIfElse() throws RecognitionException { EObject current = null; @@ -2268,21 +2047,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:821:47: (iv_ruleIfElse= ruleIfElse EOF ) - // InternalSolverLanguage.g:822:2: iv_ruleIfElse= ruleIfElse EOF + // InternalSolverLanguageParser.g:810:47: (iv_ruleIfElse= ruleIfElse EOF ) + // InternalSolverLanguageParser.g:811:2: iv_ruleIfElse= ruleIfElse EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getIfElseRule()); - } + newCompositeNode(grammarAccess.getIfElseRule()); pushFollow(FOLLOW_1); iv_ruleIfElse=ruleIfElse(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleIfElse; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleIfElse; + match(input,EOF,FOLLOW_2); } @@ -2300,7 +2075,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleIfElse" - // InternalSolverLanguage.g:828: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 ) ) ) ; + // 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 ) ) ) ; public final EObject ruleIfElse() throws RecognitionException { EObject current = null; @@ -2318,129 +2093,111 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:834: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 ) ) ) ) - // InternalSolverLanguage.g:835: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 ) ) ) + // 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 ) ) ) ) + // 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 ) ) ) { - // InternalSolverLanguage.g:835: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 ) ) ) - // InternalSolverLanguage.g:836: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 ) ) + // 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 ) ) ) + // 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 ) ) { - otherlv_0=(Token)match(input,23,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,If,FOLLOW_6); - newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); - - } - // InternalSolverLanguage.g:840:3: ( (lv_condition_1_0= ruleExpression ) ) - // InternalSolverLanguage.g:841:4: (lv_condition_1_0= ruleExpression ) + newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); + + // InternalSolverLanguageParser.g:829:3: ( (lv_condition_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) { - // InternalSolverLanguage.g:841:4: (lv_condition_1_0= ruleExpression ) - // InternalSolverLanguage.g:842:5: lv_condition_1_0= ruleExpression + // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:831:5: lv_condition_1_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); - - } + newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + pushFollow(FOLLOW_15); lv_condition_1_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); - } - set( - current, - "condition", - lv_condition_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "condition", + lv_condition_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } } - otherlv_2=(Token)match(input,24,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,Then,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); - - } - // InternalSolverLanguage.g:863:3: ( (lv_then_3_0= ruleExpression ) ) - // InternalSolverLanguage.g:864:4: (lv_then_3_0= ruleExpression ) + newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); + + // InternalSolverLanguageParser.g:852:3: ( (lv_then_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) { - // InternalSolverLanguage.g:864:4: (lv_then_3_0= ruleExpression ) - // InternalSolverLanguage.g:865:5: lv_then_3_0= ruleExpression + // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:854:5: lv_then_3_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); - - } + newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + pushFollow(FOLLOW_16); lv_then_3_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); - } - set( - current, - "then", - lv_then_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "then", + lv_then_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } } - otherlv_4=(Token)match(input,25,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_4=(Token)match(input,Else,FOLLOW_6); - newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); - - } - // InternalSolverLanguage.g:886:3: ( (lv_else_5_0= ruleExpression ) ) - // InternalSolverLanguage.g:887:4: (lv_else_5_0= ruleExpression ) + newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); + + // InternalSolverLanguageParser.g:875:3: ( (lv_else_5_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) { - // InternalSolverLanguage.g:887:4: (lv_else_5_0= ruleExpression ) - // InternalSolverLanguage.g:888:5: lv_else_5_0= ruleExpression + // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) + // InternalSolverLanguageParser.g:877:5: lv_else_5_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); - - } + newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + pushFollow(FOLLOW_2); lv_else_5_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); - } - set( - current, - "else", - lv_else_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseRule()); + } + set( + current, + "else", + lv_else_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -2453,11 +2210,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -2472,7 +2227,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleDisjunctiveExpression" - // InternalSolverLanguage.g:909:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; + // InternalSolverLanguageParser.g:898:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; public final EObject entryRuleDisjunctiveExpression() throws RecognitionException { EObject current = null; @@ -2480,21 +2235,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:909:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) - // InternalSolverLanguage.g:910:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF + // InternalSolverLanguageParser.g:898:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) + // InternalSolverLanguageParser.g:899:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); - } + newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); pushFollow(FOLLOW_1); iv_ruleDisjunctiveExpression=ruleDisjunctiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleDisjunctiveExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleDisjunctiveExpression; + match(input,EOF,FOLLOW_2); } @@ -2512,7 +2263,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDisjunctiveExpression" - // InternalSolverLanguage.g:916:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ; + // 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 ) ) )* ) )? ) ; public final EObject ruleDisjunctiveExpression() throws RecognitionException { EObject current = null; @@ -2532,109 +2283,97 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:922:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ) - // InternalSolverLanguage.g:923:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) + // 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 ) ) )* ) )? ) ) + // 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 ) ) )* ) )? ) { - // InternalSolverLanguage.g:923:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) - // InternalSolverLanguage.g:924:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? + // 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 ) ) )* ) )? ) + // 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 ) ) )* ) )? { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); + pushFollow(FOLLOW_17); this_ConjunctiveExpression_0=ruleConjunctiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ConjunctiveExpression_0; - afterParserOrEnumRuleCall(); - - } - // InternalSolverLanguage.g:932:3: ( ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) )? + + current = this_ConjunctiveExpression_0; + afterParserOrEnumRuleCall(); + + // 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 ) ) )* ) )? int alt11=3; int LA11_0 = input.LA(1); - if ( (LA11_0==26) ) { + if ( (LA11_0==Semicolon) ) { alt11=1; } - else if ( (LA11_0==27) ) { + else if ( (LA11_0==HyphenMinusGreaterThanSign) ) { alt11=2; } switch (alt11) { case 1 : - // InternalSolverLanguage.g:933:4: ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) + // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) { - // InternalSolverLanguage.g:933:4: ( () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) - // InternalSolverLanguage.g:934:5: () (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ + // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) + // InternalSolverLanguageParser.g:923:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ { - // InternalSolverLanguage.g:934:5: () - // InternalSolverLanguage.g:935:6: + // InternalSolverLanguageParser.g:923:5: () + // InternalSolverLanguageParser.g:924:6: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndAdd( - grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0(), - current); - - } + current = forceCreateModelElementAndAdd( + grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0(), + current); + } - // InternalSolverLanguage.g:941:5: (otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ + // InternalSolverLanguageParser.g:930:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ int cnt9=0; loop9: do { int alt9=2; int LA9_0 = input.LA(1); - if ( (LA9_0==26) ) { + if ( (LA9_0==Semicolon) ) { alt9=1; } switch (alt9) { case 1 : - // InternalSolverLanguage.g:942:6: otherlv_2= ';' ( (lv_children_3_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:931:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) { - otherlv_2=(Token)match(input,26,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,Semicolon,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); - - } - // InternalSolverLanguage.g:946:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguage.g:947:7: (lv_children_3_0= ruleConjunctiveExpression ) + newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); + + // InternalSolverLanguageParser.g:935:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) { - // InternalSolverLanguage.g:947:7: (lv_children_3_0= ruleConjunctiveExpression ) - // InternalSolverLanguage.g:948:8: lv_children_3_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:937:8: lv_children_3_0= ruleConjunctiveExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); - - } + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); + pushFollow(FOLLOW_18); lv_children_3_0=ruleConjunctiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); - } - add( - current, - "children", - lv_children_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + add( + current, + "children", + lv_children_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } @@ -2647,7 +2386,6 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { default : if ( cnt9 >= 1 ) break loop9; - if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(9, input); throw eee; @@ -2662,128 +2400,112 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:968:4: ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) + // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) { - // InternalSolverLanguage.g:968:4: ( () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* ) - // InternalSolverLanguage.g:969:5: () otherlv_5= '->' ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* + // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) + // InternalSolverLanguageParser.g:958:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* { - // InternalSolverLanguage.g:969:5: () - // InternalSolverLanguage.g:970:6: + // InternalSolverLanguageParser.g:958:5: () + // InternalSolverLanguageParser.g:959:6: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndSet( - grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(), - current); - - } + current = forceCreateModelElementAndSet( + grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0(), + current); + } - otherlv_5=(Token)match(input,27,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_5=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_6); - newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); - - } - // InternalSolverLanguage.g:980:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguage.g:981:6: (lv_body_6_0= ruleConjunctiveExpression ) + newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); + + // InternalSolverLanguageParser.g:969:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) { - // InternalSolverLanguage.g:981:6: (lv_body_6_0= ruleConjunctiveExpression ) - // InternalSolverLanguage.g:982:7: lv_body_6_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:971:7: lv_body_6_0= ruleConjunctiveExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); - - } + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); + pushFollow(FOLLOW_18); lv_body_6_0=ruleConjunctiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); - } - set( - current, - "body", - lv_body_6_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + set( + current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:999:5: () - // InternalSolverLanguage.g:1000:6: + // InternalSolverLanguageParser.g:988:5: () + // InternalSolverLanguageParser.g:989:6: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndAdd( - grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3(), - current); - - } + current = forceCreateModelElementAndAdd( + grammarAccess.getDisjunctiveExpressionAccess().getSwitchCasesAction_1_1_3(), + current); + } - // InternalSolverLanguage.g:1006:5: (otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) )* + // InternalSolverLanguageParser.g:995:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* loop10: do { int alt10=2; int LA10_0 = input.LA(1); - if ( (LA10_0==26) ) { + if ( (LA10_0==Semicolon) ) { alt10=1; } switch (alt10) { case 1 : - // InternalSolverLanguage.g:1007:6: otherlv_8= ';' ( (lv_cases_9_0= ruleCase ) ) + // InternalSolverLanguageParser.g:996:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) { - otherlv_8=(Token)match(input,26,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_8=(Token)match(input,Semicolon,FOLLOW_6); - newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); - - } - // InternalSolverLanguage.g:1011:6: ( (lv_cases_9_0= ruleCase ) ) - // InternalSolverLanguage.g:1012:7: (lv_cases_9_0= ruleCase ) + newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); + + // InternalSolverLanguageParser.g:1000:6: ( (lv_cases_9_0= ruleCase ) ) + // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) { - // InternalSolverLanguage.g:1012:7: (lv_cases_9_0= ruleCase ) - // InternalSolverLanguage.g:1013:8: lv_cases_9_0= ruleCase + // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) + // InternalSolverLanguageParser.g:1002:8: lv_cases_9_0= ruleCase { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); - - } + newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); + pushFollow(FOLLOW_18); lv_cases_9_0=ruleCase(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); - } - add( - current, - "cases", - lv_cases_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Case"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDisjunctiveExpressionRule()); + } + add( + current, + "cases", + lv_cases_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Case"); + afterParserOrEnumRuleCall(); + } @@ -2814,11 +2536,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -2833,7 +2553,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCase" - // InternalSolverLanguage.g:1037:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; + // InternalSolverLanguageParser.g:1026:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; public final EObject entryRuleCase() throws RecognitionException { EObject current = null; @@ -2841,21 +2561,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1037:45: (iv_ruleCase= ruleCase EOF ) - // InternalSolverLanguage.g:1038:2: iv_ruleCase= ruleCase EOF + // InternalSolverLanguageParser.g:1026:45: (iv_ruleCase= ruleCase EOF ) + // InternalSolverLanguageParser.g:1027:2: iv_ruleCase= ruleCase EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCaseRule()); - } + newCompositeNode(grammarAccess.getCaseRule()); pushFollow(FOLLOW_1); iv_ruleCase=ruleCase(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleCase; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleCase; + match(input,EOF,FOLLOW_2); } @@ -2873,7 +2589,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCase" - // InternalSolverLanguage.g:1044:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; + // InternalSolverLanguageParser.g:1033:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; public final EObject ruleCase() throws RecognitionException { EObject current = null; @@ -2887,82 +2603,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1050:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) - // InternalSolverLanguage.g:1051:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) + // InternalSolverLanguageParser.g:1039:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) + // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) { - // InternalSolverLanguage.g:1051:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) - // InternalSolverLanguage.g:1052:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= '->' ( (lv_body_2_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) + // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) { - // InternalSolverLanguage.g:1052:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguage.g:1053:4: (lv_condition_0_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) { - // InternalSolverLanguage.g:1053:4: (lv_condition_0_0= ruleConjunctiveExpression ) - // InternalSolverLanguage.g:1054:5: lv_condition_0_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1043:5: lv_condition_0_0= ruleConjunctiveExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); - - } + newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); + pushFollow(FOLLOW_19); lv_condition_0_0=ruleConjunctiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getCaseRule()); - } - set( - current, - "condition", - lv_condition_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseRule()); + } + set( + current, + "condition", + lv_condition_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } } - otherlv_1=(Token)match(input,27,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_6); - newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); - - } - // InternalSolverLanguage.g:1075:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguage.g:1076:4: (lv_body_2_0= ruleConjunctiveExpression ) + newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); + + // InternalSolverLanguageParser.g:1064:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) { - // InternalSolverLanguage.g:1076:4: (lv_body_2_0= ruleConjunctiveExpression ) - // InternalSolverLanguage.g:1077:5: lv_body_2_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1066:5: lv_body_2_0= ruleConjunctiveExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); - - } + newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); + pushFollow(FOLLOW_2); lv_body_2_0=ruleConjunctiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getCaseRule()); - } - set( - current, - "body", - lv_body_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ConjunctiveExpression"); + afterParserOrEnumRuleCall(); + } @@ -2975,11 +2681,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -2994,7 +2698,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleConjunctiveExpression" - // InternalSolverLanguage.g:1098:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; + // InternalSolverLanguageParser.g:1087:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; public final EObject entryRuleConjunctiveExpression() throws RecognitionException { EObject current = null; @@ -3002,21 +2706,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1098:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) - // InternalSolverLanguage.g:1099:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF + // InternalSolverLanguageParser.g:1087:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) + // InternalSolverLanguageParser.g:1088:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); - } + newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); pushFollow(FOLLOW_1); iv_ruleConjunctiveExpression=ruleConjunctiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleConjunctiveExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleConjunctiveExpression; + match(input,EOF,FOLLOW_2); } @@ -3034,7 +2734,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleConjunctiveExpression" - // InternalSolverLanguage.g:1105:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; + // InternalSolverLanguageParser.g:1094:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; public final EObject ruleConjunctiveExpression() throws RecognitionException { EObject current = null; @@ -3048,103 +2748,91 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1111:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) - // InternalSolverLanguage.g:1112:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) + // InternalSolverLanguageParser.g:1100:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) + // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) { - // InternalSolverLanguage.g:1112:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) - // InternalSolverLanguage.g:1113:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? + // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) + // InternalSolverLanguageParser.g:1102:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); + pushFollow(FOLLOW_20); this_ComparisonExpression_0=ruleComparisonExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ComparisonExpression_0; - afterParserOrEnumRuleCall(); - - } - // InternalSolverLanguage.g:1121:3: ( () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? + + current = this_ComparisonExpression_0; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:1110:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? int alt13=2; int LA13_0 = input.LA(1); - if ( (LA13_0==28) ) { + if ( (LA13_0==Comma) ) { alt13=1; } switch (alt13) { case 1 : - // InternalSolverLanguage.g:1122:4: () (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ + // InternalSolverLanguageParser.g:1111:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ { - // InternalSolverLanguage.g:1122:4: () - // InternalSolverLanguage.g:1123:5: + // InternalSolverLanguageParser.g:1111:4: () + // InternalSolverLanguageParser.g:1112:5: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndAdd( - grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0(), - current); - - } + current = forceCreateModelElementAndAdd( + grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0(), + current); + } - // InternalSolverLanguage.g:1129:4: (otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) )+ + // InternalSolverLanguageParser.g:1118:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ int cnt12=0; loop12: do { int alt12=2; int LA12_0 = input.LA(1); - if ( (LA12_0==28) ) { + if ( (LA12_0==Comma) ) { alt12=1; } switch (alt12) { case 1 : - // InternalSolverLanguage.g:1130:5: otherlv_2= ',' ( (lv_children_3_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:1119:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) { - otherlv_2=(Token)match(input,28,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,Comma,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); - - } - // InternalSolverLanguage.g:1134:5: ( (lv_children_3_0= ruleComparisonExpression ) ) - // InternalSolverLanguage.g:1135:6: (lv_children_3_0= ruleComparisonExpression ) + newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); + + // InternalSolverLanguageParser.g:1123:5: ( (lv_children_3_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) { - // InternalSolverLanguage.g:1135:6: (lv_children_3_0= ruleComparisonExpression ) - // InternalSolverLanguage.g:1136:7: lv_children_3_0= ruleComparisonExpression + // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:1125:7: lv_children_3_0= ruleComparisonExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); - - } + newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); + pushFollow(FOLLOW_20); lv_children_3_0=ruleComparisonExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getConjunctiveExpressionRule()); - } - add( - current, - "children", - lv_children_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConjunctiveExpressionRule()); + } + add( + current, + "children", + lv_children_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + afterParserOrEnumRuleCall(); + } @@ -3157,7 +2845,6 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { default : if ( cnt12 >= 1 ) break loop12; - if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(12, input); throw eee; @@ -3177,11 +2864,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -3196,7 +2881,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleComparisonExpression" - // InternalSolverLanguage.g:1159:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; + // InternalSolverLanguageParser.g:1148:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; public final EObject entryRuleComparisonExpression() throws RecognitionException { EObject current = null; @@ -3204,21 +2889,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1159:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) - // InternalSolverLanguage.g:1160:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF + // InternalSolverLanguageParser.g:1148:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) + // InternalSolverLanguageParser.g:1149:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getComparisonExpressionRule()); - } + newCompositeNode(grammarAccess.getComparisonExpressionRule()); pushFollow(FOLLOW_1); iv_ruleComparisonExpression=ruleComparisonExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleComparisonExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleComparisonExpression; + match(input,EOF,FOLLOW_2); } @@ -3236,7 +2917,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleComparisonExpression" - // InternalSolverLanguage.g:1166:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; + // InternalSolverLanguageParser.g:1155:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; public final EObject ruleComparisonExpression() throws RecognitionException { EObject current = null; @@ -3251,116 +2932,102 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1172:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) - // InternalSolverLanguage.g:1173:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) + // InternalSolverLanguageParser.g:1161:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) + // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) { - // InternalSolverLanguage.g:1173:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) - // InternalSolverLanguage.g:1174:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? + // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) + // InternalSolverLanguageParser.g:1163:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); + pushFollow(FOLLOW_21); this_AdditiveExpression_0=ruleAdditiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_AdditiveExpression_0; - afterParserOrEnumRuleCall(); - - } - // InternalSolverLanguage.g:1182:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? + + current = this_AdditiveExpression_0; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:1171:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? int alt14=2; int LA14_0 = input.LA(1); - if ( ((LA14_0>=47 && LA14_0<=49)||(LA14_0>=52 && LA14_0<=55)) ) { + if ( (LA14_0==ExclamationMarkEqualsSign||(LA14_0>=LessThanSignEqualsSign && LA14_0<=GreaterThanSignEqualsSign)||LA14_0==In||LA14_0==LessThanSign||LA14_0==GreaterThanSign) ) { alt14=1; } switch (alt14) { case 1 : - // InternalSolverLanguage.g:1183:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:1172:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) { - // InternalSolverLanguage.g:1183:4: () - // InternalSolverLanguage.g:1184:5: + // InternalSolverLanguageParser.g:1172:4: () + // InternalSolverLanguageParser.g:1173:5: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndSet( - grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), - current); - - } + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), + current); + } - // InternalSolverLanguage.g:1190:4: ( (lv_op_2_0= ruleComparisonOperator ) ) - // InternalSolverLanguage.g:1191:5: (lv_op_2_0= ruleComparisonOperator ) + // InternalSolverLanguageParser.g:1179:4: ( (lv_op_2_0= ruleComparisonOperator ) ) + // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) { - // InternalSolverLanguage.g:1191:5: (lv_op_2_0= ruleComparisonOperator ) - // InternalSolverLanguage.g:1192:6: lv_op_2_0= ruleComparisonOperator + // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) + // InternalSolverLanguageParser.g:1181:6: lv_op_2_0= ruleComparisonOperator { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); - - } + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_6); lv_op_2_0=ruleComparisonOperator(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); - } - set( - current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:1209:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) - // InternalSolverLanguage.g:1210:5: (lv_right_3_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:1198:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) { - // InternalSolverLanguage.g:1210:5: (lv_right_3_0= ruleAdditiveExpression ) - // InternalSolverLanguage.g:1211:6: lv_right_3_0= ruleAdditiveExpression + // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:1200:6: lv_right_3_0= ruleAdditiveExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); - - } + newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); + pushFollow(FOLLOW_2); lv_right_3_0=ruleAdditiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); - } - set( - current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); + afterParserOrEnumRuleCall(); + } @@ -3379,11 +3046,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -3398,7 +3063,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAdditiveExpression" - // InternalSolverLanguage.g:1233:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; + // InternalSolverLanguageParser.g:1222:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; public final EObject entryRuleAdditiveExpression() throws RecognitionException { EObject current = null; @@ -3406,21 +3071,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1233:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) - // InternalSolverLanguage.g:1234:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF + // InternalSolverLanguageParser.g:1222:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) + // InternalSolverLanguageParser.g:1223:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAdditiveExpressionRule()); - } + newCompositeNode(grammarAccess.getAdditiveExpressionRule()); pushFollow(FOLLOW_1); iv_ruleAdditiveExpression=ruleAdditiveExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleAdditiveExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleAdditiveExpression; + match(input,EOF,FOLLOW_2); } @@ -3438,7 +3099,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAdditiveExpression" - // InternalSolverLanguage.g:1240:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; + // InternalSolverLanguageParser.g:1229:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; public final EObject ruleAdditiveExpression() throws RecognitionException { EObject current = null; @@ -3453,120 +3114,106 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1246:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) - // InternalSolverLanguage.g:1247:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) + // InternalSolverLanguageParser.g:1235:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) + // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) { - // InternalSolverLanguage.g:1247:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) - // InternalSolverLanguage.g:1248:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* + // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) + // InternalSolverLanguageParser.g:1237:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); + pushFollow(FOLLOW_22); this_MultiplicativeExpression_0=ruleMultiplicativeExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_MultiplicativeExpression_0; - afterParserOrEnumRuleCall(); - - } - // InternalSolverLanguage.g:1256:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* + + current = this_MultiplicativeExpression_0; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:1245:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* loop15: do { int alt15=2; int LA15_0 = input.LA(1); - if ( ((LA15_0>=56 && LA15_0<=57)) ) { + if ( (LA15_0==PlusSign||LA15_0==HyphenMinus) ) { alt15=1; } switch (alt15) { case 1 : - // InternalSolverLanguage.g:1257:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) + // InternalSolverLanguageParser.g:1246:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) { - // InternalSolverLanguage.g:1257:4: () - // InternalSolverLanguage.g:1258:5: + // InternalSolverLanguageParser.g:1246:4: () + // InternalSolverLanguageParser.g:1247:5: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndSet( - grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0(), - current); - - } + current = forceCreateModelElementAndSet( + grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0(), + current); + } - // InternalSolverLanguage.g:1264:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) - // InternalSolverLanguage.g:1265:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) + // InternalSolverLanguageParser.g:1253:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) + // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) { - // InternalSolverLanguage.g:1265:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) - // InternalSolverLanguage.g:1266:6: lv_op_2_0= ruleAdditiveBinaryOperator + // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) + // InternalSolverLanguageParser.g:1255:6: lv_op_2_0= ruleAdditiveBinaryOperator { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); - - } + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_6); lv_op_2_0=ruleAdditiveBinaryOperator(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); - } - set( - current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:1283:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) - // InternalSolverLanguage.g:1284:5: (lv_right_3_0= ruleMultiplicativeExpression ) + // InternalSolverLanguageParser.g:1272:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) + // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) { - // InternalSolverLanguage.g:1284:5: (lv_right_3_0= ruleMultiplicativeExpression ) - // InternalSolverLanguage.g:1285:6: lv_right_3_0= ruleMultiplicativeExpression + // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) + // InternalSolverLanguageParser.g:1274:6: lv_right_3_0= ruleMultiplicativeExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); - - } + newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); + pushFollow(FOLLOW_22); lv_right_3_0=ruleMultiplicativeExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); - } - set( - current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeExpression"); + afterParserOrEnumRuleCall(); + } @@ -3588,11 +3235,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -3607,7 +3252,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMultiplicativeExpression" - // InternalSolverLanguage.g:1307:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; + // InternalSolverLanguageParser.g:1296:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; public final EObject entryRuleMultiplicativeExpression() throws RecognitionException { EObject current = null; @@ -3615,21 +3260,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1307:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) - // InternalSolverLanguage.g:1308:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF + // InternalSolverLanguageParser.g:1296:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) + // InternalSolverLanguageParser.g:1297:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); - } + newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); pushFollow(FOLLOW_1); iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleMultiplicativeExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleMultiplicativeExpression; + match(input,EOF,FOLLOW_2); } @@ -3647,7 +3288,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicativeExpression" - // InternalSolverLanguage.g:1314:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; + // InternalSolverLanguageParser.g:1303:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; public final EObject ruleMultiplicativeExpression() throws RecognitionException { EObject current = null; @@ -3662,120 +3303,106 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1320:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) - // InternalSolverLanguage.g:1321:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) + // InternalSolverLanguageParser.g:1309:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) + // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) { - // InternalSolverLanguage.g:1321:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) - // InternalSolverLanguage.g:1322:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* + // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) + // InternalSolverLanguageParser.g:1311:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); + pushFollow(FOLLOW_23); this_ExponentialExpression_0=ruleExponentialExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ExponentialExpression_0; - afterParserOrEnumRuleCall(); - - } - // InternalSolverLanguage.g:1330:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* + + current = this_ExponentialExpression_0; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:1319:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* loop16: do { int alt16=2; int LA16_0 = input.LA(1); - if ( (LA16_0==35||LA16_0==58) ) { + if ( (LA16_0==Asterisk||LA16_0==Solidus) ) { alt16=1; } switch (alt16) { case 1 : - // InternalSolverLanguage.g:1331:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:1320:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) { - // InternalSolverLanguage.g:1331:4: () - // InternalSolverLanguage.g:1332:5: + // InternalSolverLanguageParser.g:1320:4: () + // InternalSolverLanguageParser.g:1321:5: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndSet( - grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0(), - current); - - } + current = forceCreateModelElementAndSet( + grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0(), + current); + } - // InternalSolverLanguage.g:1338:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) - // InternalSolverLanguage.g:1339:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) + // InternalSolverLanguageParser.g:1327:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) + // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) { - // InternalSolverLanguage.g:1339:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) - // InternalSolverLanguage.g:1340:6: lv_op_2_0= ruleMultiplicativeBinaryOperator + // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) + // InternalSolverLanguageParser.g:1329:6: lv_op_2_0= ruleMultiplicativeBinaryOperator { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); - - } + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_6); lv_op_2_0=ruleMultiplicativeBinaryOperator(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); - } - set( - current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:1357:4: ( (lv_right_3_0= ruleExponentialExpression ) ) - // InternalSolverLanguage.g:1358:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:1346:4: ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) { - // InternalSolverLanguage.g:1358:5: (lv_right_3_0= ruleExponentialExpression ) - // InternalSolverLanguage.g:1359:6: lv_right_3_0= ruleExponentialExpression + // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:1348:6: lv_right_3_0= ruleExponentialExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); - - } + newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + pushFollow(FOLLOW_23); lv_right_3_0=ruleExponentialExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); - } - set( - current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + afterParserOrEnumRuleCall(); + } @@ -3797,11 +3424,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -3816,7 +3441,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExponentialExpression" - // InternalSolverLanguage.g:1381:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; + // InternalSolverLanguageParser.g:1370:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; public final EObject entryRuleExponentialExpression() throws RecognitionException { EObject current = null; @@ -3824,21 +3449,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1381:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) - // InternalSolverLanguage.g:1382:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF + // InternalSolverLanguageParser.g:1370:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) + // InternalSolverLanguageParser.g:1371:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExponentialExpressionRule()); - } + newCompositeNode(grammarAccess.getExponentialExpressionRule()); pushFollow(FOLLOW_1); iv_ruleExponentialExpression=ruleExponentialExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleExponentialExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleExponentialExpression; + match(input,EOF,FOLLOW_2); } @@ -3856,7 +3477,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExponentialExpression" - // InternalSolverLanguage.g:1388:1: ruleExponentialExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ; + // InternalSolverLanguageParser.g:1377:1: ruleExponentialExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ; public final EObject ruleExponentialExpression() throws RecognitionException { EObject current = null; @@ -3871,116 +3492,102 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1394:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ) - // InternalSolverLanguage.g:1395:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) + // InternalSolverLanguageParser.g:1383:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ) + // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) { - // InternalSolverLanguage.g:1395:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) - // InternalSolverLanguage.g:1396:3: this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? + // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) + // InternalSolverLanguageParser.g:1385:3: this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); + pushFollow(FOLLOW_24); this_UnaryExpression_0=ruleUnaryExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_UnaryExpression_0; - afterParserOrEnumRuleCall(); - - } - // InternalSolverLanguage.g:1404:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? + + current = this_UnaryExpression_0; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:1393:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? int alt17=2; int LA17_0 = input.LA(1); - if ( (LA17_0==59) ) { + if ( (LA17_0==CircumflexAccent) ) { alt17=1; } switch (alt17) { case 1 : - // InternalSolverLanguage.g:1405:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:1394:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) { - // InternalSolverLanguage.g:1405:4: () - // InternalSolverLanguage.g:1406:5: + // InternalSolverLanguageParser.g:1394:4: () + // InternalSolverLanguageParser.g:1395:5: { - if ( state.backtracking==0 ) { - current = forceCreateModelElementAndSet( - grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0(), - current); - - } + current = forceCreateModelElementAndSet( + grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0(), + current); + } - // InternalSolverLanguage.g:1412:4: ( (lv_op_2_0= ruleExponentialOp ) ) - // InternalSolverLanguage.g:1413:5: (lv_op_2_0= ruleExponentialOp ) + // InternalSolverLanguageParser.g:1401:4: ( (lv_op_2_0= ruleExponentialOp ) ) + // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) { - // InternalSolverLanguage.g:1413:5: (lv_op_2_0= ruleExponentialOp ) - // InternalSolverLanguage.g:1414:6: lv_op_2_0= ruleExponentialOp + // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) + // InternalSolverLanguageParser.g:1403:6: lv_op_2_0= ruleExponentialOp { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); - - } + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_6); lv_op_2_0=ruleExponentialOp(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); - } - set( - current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:1431:4: ( (lv_right_3_0= ruleExponentialExpression ) ) - // InternalSolverLanguage.g:1432:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:1420:4: ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) { - // InternalSolverLanguage.g:1432:5: (lv_right_3_0= ruleExponentialExpression ) - // InternalSolverLanguage.g:1433:6: lv_right_3_0= ruleExponentialExpression + // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:1422:6: lv_right_3_0= ruleExponentialExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); - - } + newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); + pushFollow(FOLLOW_2); lv_right_3_0=ruleExponentialExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); - } - set( - current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); + afterParserOrEnumRuleCall(); + } @@ -3999,11 +3606,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -4018,7 +3623,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleUnaryExpression" - // InternalSolverLanguage.g:1455:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; + // InternalSolverLanguageParser.g:1444:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; public final EObject entryRuleUnaryExpression() throws RecognitionException { EObject current = null; @@ -4026,21 +3631,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1455:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) - // InternalSolverLanguage.g:1456:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF + // InternalSolverLanguageParser.g:1444:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) + // InternalSolverLanguageParser.g:1445:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getUnaryExpressionRule()); - } + newCompositeNode(grammarAccess.getUnaryExpressionRule()); pushFollow(FOLLOW_1); iv_ruleUnaryExpression=ruleUnaryExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleUnaryExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleUnaryExpression; + match(input,EOF,FOLLOW_2); } @@ -4058,7 +3659,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUnaryExpression" - // InternalSolverLanguage.g:1462:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; + // InternalSolverLanguageParser.g:1451:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; public final EObject ruleUnaryExpression() throws RecognitionException { EObject current = null; @@ -4073,21 +3674,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1468:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) - // InternalSolverLanguage.g:1469:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) + // InternalSolverLanguageParser.g:1457:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) + // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) { - // InternalSolverLanguage.g:1469:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) + // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) int alt18=2; int LA18_0 = input.LA(1); - if ( ((LA18_0>=RULE_STRING && LA18_0<=RULE_QUOTED_ID)||LA18_0==19||LA18_0==29||LA18_0==33||LA18_0==36||(LA18_0>=39 && LA18_0<=40)||(LA18_0>=64 && LA18_0<=72)) ) { + 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)) ) { alt18=1; } - else if ( ((LA18_0>=56 && LA18_0<=57)||(LA18_0>=60 && LA18_0<=63)) ) { + else if ( (LA18_0==Current||LA18_0==Must||LA18_0==May||LA18_0==ExclamationMark||LA18_0==PlusSign||LA18_0==HyphenMinus) ) { alt18=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 18, 0, input); @@ -4095,110 +3695,96 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } switch (alt18) { case 1 : - // InternalSolverLanguage.g:1470:3: this_AggregationExpression_0= ruleAggregationExpression + // InternalSolverLanguageParser.g:1459:3: this_AggregationExpression_0= ruleAggregationExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); + pushFollow(FOLLOW_2); this_AggregationExpression_0=ruleAggregationExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_AggregationExpression_0; - afterParserOrEnumRuleCall(); - - } + + current = this_AggregationExpression_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguage.g:1479:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) + // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) { - // InternalSolverLanguage.g:1479:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) - // InternalSolverLanguage.g:1480:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) + // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) + // InternalSolverLanguageParser.g:1469:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) { - // InternalSolverLanguage.g:1480:4: () - // InternalSolverLanguage.g:1481:5: + // InternalSolverLanguageParser.g:1469:4: () + // InternalSolverLanguageParser.g:1470:5: { - if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0(), - current); - - } + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0(), + current); + } - // InternalSolverLanguage.g:1487:4: ( (lv_op_2_0= ruleUnaryOp ) ) - // InternalSolverLanguage.g:1488:5: (lv_op_2_0= ruleUnaryOp ) + // InternalSolverLanguageParser.g:1476:4: ( (lv_op_2_0= ruleUnaryOp ) ) + // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) { - // InternalSolverLanguage.g:1488:5: (lv_op_2_0= ruleUnaryOp ) - // InternalSolverLanguage.g:1489:6: lv_op_2_0= ruleUnaryOp + // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) + // InternalSolverLanguageParser.g:1478:6: lv_op_2_0= ruleUnaryOp { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); - - } + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_25); lv_op_2_0=ruleUnaryOp(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); - } - set( - current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + current, + "op", + lv_op_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:1506:4: ( (lv_body_3_0= ruleAggregationExpression ) ) - // InternalSolverLanguage.g:1507:5: (lv_body_3_0= ruleAggregationExpression ) + // InternalSolverLanguageParser.g:1495:4: ( (lv_body_3_0= ruleAggregationExpression ) ) + // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) { - // InternalSolverLanguage.g:1507:5: (lv_body_3_0= ruleAggregationExpression ) - // InternalSolverLanguage.g:1508:6: lv_body_3_0= ruleAggregationExpression + // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) + // InternalSolverLanguageParser.g:1497:6: lv_body_3_0= ruleAggregationExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); - - } + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); + pushFollow(FOLLOW_2); lv_body_3_0=ruleAggregationExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); - } - set( - current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); + afterParserOrEnumRuleCall(); + } @@ -4217,11 +3803,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -4236,7 +3820,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAggregationExpression" - // InternalSolverLanguage.g:1530:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; + // InternalSolverLanguageParser.g:1519:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; public final EObject entryRuleAggregationExpression() throws RecognitionException { EObject current = null; @@ -4244,21 +3828,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1530:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) - // InternalSolverLanguage.g:1531:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF + // InternalSolverLanguageParser.g:1519:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) + // InternalSolverLanguageParser.g:1520:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAggregationExpressionRule()); - } + newCompositeNode(grammarAccess.getAggregationExpressionRule()); pushFollow(FOLLOW_1); iv_ruleAggregationExpression=ruleAggregationExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleAggregationExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleAggregationExpression; + match(input,EOF,FOLLOW_2); } @@ -4276,7 +3856,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAggregationExpression" - // InternalSolverLanguage.g:1537:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ; + // InternalSolverLanguageParser.g:1526:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ; public final EObject ruleAggregationExpression() throws RecognitionException { EObject current = null; @@ -4291,45 +3871,44 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1543:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ) - // InternalSolverLanguage.g:1544:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) + // InternalSolverLanguageParser.g:1532:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ) + // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) { - // InternalSolverLanguage.g:1544:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) + // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) int alt19=3; switch ( input.LA(1) ) { + case Unknown: + case Empty: + case Error: + case False: + case True: + case Inf: + case LeftParenthesis: + case LeftSquareBracket: case RULE_STRING: + case RULE_QUOTED_ID: case RULE_ID: case RULE_INT: - case RULE_QUOTED_ID: - case 19: - case 33: - case 36: - case 39: - case 40: - case 70: - case 71: - case 72: { alt19=1; } break; - case 29: + case Count: { alt19=2; } break; - case 64: - case 65: - case 66: - case 67: - case 68: - case 69: + case Only: + case Prod: + case Avg: + case Max: + case Min: + case Sum: { alt19=3; } break; default: - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 19, 0, input); @@ -4338,68 +3917,56 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { switch (alt19) { case 1 : - // InternalSolverLanguage.g:1545:3: this_AtomicExpression_0= ruleAtomicExpression + // InternalSolverLanguageParser.g:1534:3: this_AtomicExpression_0= ruleAtomicExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); + pushFollow(FOLLOW_2); this_AtomicExpression_0=ruleAtomicExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_AtomicExpression_0; - afterParserOrEnumRuleCall(); - - } + + current = this_AtomicExpression_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguage.g:1554:3: this_Count_1= ruleCount + // InternalSolverLanguageParser.g:1543:3: this_Count_1= ruleCount { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); - - } + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); + pushFollow(FOLLOW_2); this_Count_1=ruleCount(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_Count_1; - afterParserOrEnumRuleCall(); - - } + + current = this_Count_1; + afterParserOrEnumRuleCall(); + } break; case 3 : - // InternalSolverLanguage.g:1563:3: this_Aggregation_2= ruleAggregation + // InternalSolverLanguageParser.g:1552:3: this_Aggregation_2= ruleAggregation { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); - - } + newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); + pushFollow(FOLLOW_2); this_Aggregation_2=ruleAggregation(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_Aggregation_2; - afterParserOrEnumRuleCall(); - - } + + current = this_Aggregation_2; + afterParserOrEnumRuleCall(); + } break; @@ -4409,11 +3976,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -4428,7 +3993,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCount" - // InternalSolverLanguage.g:1575:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ; + // InternalSolverLanguageParser.g:1564:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ; public final EObject entryRuleCount() throws RecognitionException { EObject current = null; @@ -4436,21 +4001,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1575:46: (iv_ruleCount= ruleCount EOF ) - // InternalSolverLanguage.g:1576:2: iv_ruleCount= ruleCount EOF + // InternalSolverLanguageParser.g:1564:46: (iv_ruleCount= ruleCount EOF ) + // InternalSolverLanguageParser.g:1565:2: iv_ruleCount= ruleCount EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCountRule()); - } + newCompositeNode(grammarAccess.getCountRule()); pushFollow(FOLLOW_1); iv_ruleCount=ruleCount(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleCount; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleCount; + match(input,EOF,FOLLOW_2); } @@ -4468,7 +4029,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCount" - // InternalSolverLanguage.g:1582:1: ruleCount returns [EObject current=null] : (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) ; + // InternalSolverLanguageParser.g:1571:1: ruleCount returns [EObject current=null] : (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ; public final EObject ruleCount() throws RecognitionException { EObject current = null; @@ -4482,76 +4043,64 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1588:2: ( (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) ) - // InternalSolverLanguage.g:1589:2: (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) + // InternalSolverLanguageParser.g:1577:2: ( (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ) + // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) { - // InternalSolverLanguage.g:1589:2: (otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' ) - // InternalSolverLanguage.g:1590:3: otherlv_0= 'count' otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '}' + // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) + // InternalSolverLanguageParser.g:1579:3: otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket { - otherlv_0=(Token)match(input,29,FOLLOW_26); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,Count,FOLLOW_26); - newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); - - } - otherlv_1=(Token)match(input,30,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); + + otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6); - newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); - - } - // InternalSolverLanguage.g:1598:3: ( (lv_body_2_0= ruleExpression ) ) - // InternalSolverLanguage.g:1599:4: (lv_body_2_0= ruleExpression ) + newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); + + // InternalSolverLanguageParser.g:1587:3: ( (lv_body_2_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) { - // InternalSolverLanguage.g:1599:4: (lv_body_2_0= ruleExpression ) - // InternalSolverLanguage.g:1600:5: lv_body_2_0= ruleExpression + // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) + // InternalSolverLanguageParser.g:1589:5: lv_body_2_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); - - } + newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); + pushFollow(FOLLOW_27); lv_body_2_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getCountRule()); - } - set( - current, - "body", - lv_body_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCountRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } } - otherlv_3=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_3=(Token)match(input,RightCurlyBracket,FOLLOW_2); - newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); - - } + newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -4566,7 +4115,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAggregation" - // InternalSolverLanguage.g:1625:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; + // InternalSolverLanguageParser.g:1614:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; public final EObject entryRuleAggregation() throws RecognitionException { EObject current = null; @@ -4574,21 +4123,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1625:52: (iv_ruleAggregation= ruleAggregation EOF ) - // InternalSolverLanguage.g:1626:2: iv_ruleAggregation= ruleAggregation EOF + // InternalSolverLanguageParser.g:1614:52: (iv_ruleAggregation= ruleAggregation EOF ) + // InternalSolverLanguageParser.g:1615:2: iv_ruleAggregation= ruleAggregation EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAggregationRule()); - } + newCompositeNode(grammarAccess.getAggregationRule()); pushFollow(FOLLOW_1); iv_ruleAggregation=ruleAggregation(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleAggregation; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleAggregation; + match(input,EOF,FOLLOW_2); } @@ -4606,7 +4151,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAggregation" - // InternalSolverLanguage.g:1632:1: ruleAggregation returns [EObject current=null] : ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' ) ; + // 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 ) ; public final EObject ruleAggregation() throws RecognitionException { EObject current = null; @@ -4624,146 +4169,126 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1638:2: ( ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' ) ) - // InternalSolverLanguage.g:1639:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' ) + // 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 ) ) + // 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 ) { - // InternalSolverLanguage.g:1639:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' ) - // InternalSolverLanguage.g:1640:3: ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= '{' ( (lv_body_2_0= ruleExpression ) ) otherlv_3= '|' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= '}' + // 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 ) + // 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 { - // InternalSolverLanguage.g:1640:3: ( (lv_op_0_0= ruleAggregationOp ) ) - // InternalSolverLanguage.g:1641:4: (lv_op_0_0= ruleAggregationOp ) + // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) + // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) { - // InternalSolverLanguage.g:1641:4: (lv_op_0_0= ruleAggregationOp ) - // InternalSolverLanguage.g:1642:5: lv_op_0_0= ruleAggregationOp + // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) + // InternalSolverLanguageParser.g:1631:5: lv_op_0_0= ruleAggregationOp { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); - - } + newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); + pushFollow(FOLLOW_26); lv_op_0_0=ruleAggregationOp(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - current, - "op", - lv_op_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "op", + lv_op_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); + afterParserOrEnumRuleCall(); + } } - otherlv_1=(Token)match(input,30,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6); - newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); - - } - // InternalSolverLanguage.g:1663:3: ( (lv_body_2_0= ruleExpression ) ) - // InternalSolverLanguage.g:1664:4: (lv_body_2_0= ruleExpression ) + newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); + + // InternalSolverLanguageParser.g:1652:3: ( (lv_body_2_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) { - // InternalSolverLanguage.g:1664:4: (lv_body_2_0= ruleExpression ) - // InternalSolverLanguage.g:1665:5: lv_body_2_0= ruleExpression + // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) + // InternalSolverLanguageParser.g:1654:5: lv_body_2_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); - - } + newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); + pushFollow(FOLLOW_28); lv_body_2_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - current, - "body", - lv_body_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "body", + lv_body_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } } - otherlv_3=(Token)match(input,32,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_3=(Token)match(input,VerticalLine,FOLLOW_6); - newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); - - } - // InternalSolverLanguage.g:1686:3: ( (lv_condition_4_0= ruleExpression ) ) - // InternalSolverLanguage.g:1687:4: (lv_condition_4_0= ruleExpression ) + newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); + + // InternalSolverLanguageParser.g:1675:3: ( (lv_condition_4_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) { - // InternalSolverLanguage.g:1687:4: (lv_condition_4_0= ruleExpression ) - // InternalSolverLanguage.g:1688:5: lv_condition_4_0= ruleExpression + // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) + // InternalSolverLanguageParser.g:1677:5: lv_condition_4_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); - - } + newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); + pushFollow(FOLLOW_27); lv_condition_4_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - current, - "condition", - lv_condition_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "condition", + lv_condition_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } } - otherlv_5=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_5=(Token)match(input,RightCurlyBracket,FOLLOW_2); - newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); - - } + newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -4778,7 +4303,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAtomicExpression" - // InternalSolverLanguage.g:1713:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; + // InternalSolverLanguageParser.g:1702:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; public final EObject entryRuleAtomicExpression() throws RecognitionException { EObject current = null; @@ -4786,21 +4311,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1713:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) - // InternalSolverLanguage.g:1714:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF + // InternalSolverLanguageParser.g:1702:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) + // InternalSolverLanguageParser.g:1703:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAtomicExpressionRule()); - } + newCompositeNode(grammarAccess.getAtomicExpressionRule()); pushFollow(FOLLOW_1); iv_ruleAtomicExpression=ruleAtomicExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleAtomicExpression; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleAtomicExpression; + match(input,EOF,FOLLOW_2); } @@ -4818,241 +4339,132 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAtomicExpression" - // InternalSolverLanguage.g:1720:1: ruleAtomicExpression returns [EObject current=null] : ( (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) | this_Interval_3= ruleInterval | this_Literal_4= ruleLiteral | (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) ) ; + // 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 ) ) ; public final EObject ruleAtomicExpression() throws RecognitionException { EObject current = null; - Token otherlv_5=null; - Token otherlv_7=null; + Token otherlv_4=null; + Token otherlv_6=null; EObject this_Reference_0 = null; - EObject lv_argumentList_2_0 = null; + EObject this_Call_1 = null; - EObject this_Interval_3 = null; + EObject this_Interval_2 = null; - EObject this_Literal_4 = null; + EObject this_Literal_3 = null; - EObject this_Expression_6 = null; + EObject this_Expression_5 = null; enterRule(); try { - // InternalSolverLanguage.g:1726:2: ( ( (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) | this_Interval_3= ruleInterval | this_Literal_4= ruleLiteral | (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) ) ) - // InternalSolverLanguage.g:1727:2: ( (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) | this_Interval_3= ruleInterval | this_Literal_4= ruleLiteral | (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) ) + // 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 ) ) ) + // 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 ) ) { - // InternalSolverLanguage.g:1727:2: ( (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) | this_Interval_3= ruleInterval | this_Literal_4= ruleLiteral | (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) ) - int alt21=4; - switch ( input.LA(1) ) { - case RULE_ID: - case RULE_QUOTED_ID: - { - alt21=1; - } - break; - case 36: - { - alt21=2; - } - break; - case RULE_STRING: - case RULE_INT: - case 19: - case 39: - case 40: - case 70: - case 71: - case 72: - { - alt21=3; - } - break; - case 33: - { - alt21=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return current;} - NoViableAltException nvae = - new NoViableAltException("", 21, 0, input); - - throw nvae; - } - - switch (alt21) { + // 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 ) ) + int alt20=5; + alt20 = dfa20.predict(input); + switch (alt20) { case 1 : - // InternalSolverLanguage.g:1728:3: (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) + // InternalSolverLanguageParser.g:1717:3: this_Reference_0= ruleReference { - // InternalSolverLanguage.g:1728:3: (this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? ) - // InternalSolverLanguage.g:1729:4: this_Reference_0= ruleReference ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? - { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0_0()); - - } - pushFollow(FOLLOW_29); + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); + + pushFollow(FOLLOW_2); this_Reference_0=ruleReference(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - current = this_Reference_0; - afterParserOrEnumRuleCall(); - - } - // InternalSolverLanguage.g:1737:4: ( () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) )? - int alt20=2; - int LA20_0 = input.LA(1); - - if ( (LA20_0==33) ) { - alt20=1; - } - switch (alt20) { - case 1 : - // InternalSolverLanguage.g:1738:5: () ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) - { - // InternalSolverLanguage.g:1738:5: () - // InternalSolverLanguage.g:1739:6: - { - if ( state.backtracking==0 ) { - - current = forceCreateModelElementAndSet( - grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(), - current); - - } - } - // InternalSolverLanguage.g:1745:5: ( ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) ) - // InternalSolverLanguage.g:1746:6: ( '(' )=> (lv_argumentList_2_0= ruleArgumentList ) - { - // InternalSolverLanguage.g:1747:6: (lv_argumentList_2_0= ruleArgumentList ) - // InternalSolverLanguage.g:1748:7: lv_argumentList_2_0= ruleArgumentList - { - if ( state.backtracking==0 ) { - - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0()); - - } - pushFollow(FOLLOW_2); - lv_argumentList_2_0=ruleArgumentList(); - - state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); - } - set( - current, - "argumentList", - lv_argumentList_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); - afterParserOrEnumRuleCall(); - - } - - } - - - } - - - } - break; + current = this_Reference_0; + afterParserOrEnumRuleCall(); + } + break; + case 2 : + // InternalSolverLanguageParser.g:1726:3: this_Call_1= ruleCall + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_Call_1=ruleCall(); - } + state._fsp--; + current = this_Call_1; + afterParserOrEnumRuleCall(); + + } break; - case 2 : - // InternalSolverLanguage.g:1768:3: this_Interval_3= ruleInterval + case 3 : + // InternalSolverLanguageParser.g:1735:3: this_Interval_2= ruleInterval { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_1()); - - } + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); + pushFollow(FOLLOW_2); - this_Interval_3=ruleInterval(); + this_Interval_2=ruleInterval(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_Interval_3; - afterParserOrEnumRuleCall(); - - } + + current = this_Interval_2; + afterParserOrEnumRuleCall(); + } break; - case 3 : - // InternalSolverLanguage.g:1777:3: this_Literal_4= ruleLiteral + case 4 : + // InternalSolverLanguageParser.g:1744:3: this_Literal_3= ruleLiteral { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_2()); - - } + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); + pushFollow(FOLLOW_2); - this_Literal_4=ruleLiteral(); + this_Literal_3=ruleLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_Literal_4; - afterParserOrEnumRuleCall(); - - } + + current = this_Literal_3; + afterParserOrEnumRuleCall(); + } break; - case 4 : - // InternalSolverLanguage.g:1786:3: (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) + case 5 : + // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) { - // InternalSolverLanguage.g:1786:3: (otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' ) - // InternalSolverLanguage.g:1787:4: otherlv_5= '(' this_Expression_6= ruleExpression otherlv_7= ')' + // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) + // InternalSolverLanguageParser.g:1754:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis { - otherlv_5=(Token)match(input,33,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6); - newLeafNode(otherlv_5, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(otherlv_4, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); + - newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_3_1()); - - } - pushFollow(FOLLOW_30); - this_Expression_6=ruleExpression(); + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); + + pushFollow(FOLLOW_29); + this_Expression_5=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_Expression_6; - afterParserOrEnumRuleCall(); - - } - otherlv_7=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { - newLeafNode(otherlv_7, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_3_2()); - - } + current = this_Expression_5; + afterParserOrEnumRuleCall(); + + otherlv_6=(Token)match(input,RightParenthesis,FOLLOW_2); + + newLeafNode(otherlv_6, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_4_2()); + } @@ -5065,11 +4477,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -5084,7 +4494,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCall" - // InternalSolverLanguage.g:1808:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; + // InternalSolverLanguageParser.g:1775:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; public final EObject entryRuleCall() throws RecognitionException { EObject current = null; @@ -5092,21 +4502,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1808:45: (iv_ruleCall= ruleCall EOF ) - // InternalSolverLanguage.g:1809:2: iv_ruleCall= ruleCall EOF + // InternalSolverLanguageParser.g:1775:45: (iv_ruleCall= ruleCall EOF ) + // InternalSolverLanguageParser.g:1776:2: iv_ruleCall= ruleCall EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCallRule()); - } + newCompositeNode(grammarAccess.getCallRule()); pushFollow(FOLLOW_1); iv_ruleCall=ruleCall(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleCall; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleCall; + match(input,EOF,FOLLOW_2); } @@ -5124,7 +4530,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCall" - // InternalSolverLanguage.g:1815:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ; + // 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 ) ) ) ; public final EObject ruleCall() throws RecognitionException { EObject current = null; @@ -5139,85 +4545,77 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1821:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ) - // InternalSolverLanguage.g:1822:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) + // 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 ) ) ) ) + // 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 ) ) ) { - // InternalSolverLanguage.g:1822:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) - // InternalSolverLanguage.g:1823:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) + // 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 ) ) ) + // 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 ) ) { - // InternalSolverLanguage.g:1823:3: ( (lv_functor_0_0= ruleReference ) ) - // InternalSolverLanguage.g:1824:4: (lv_functor_0_0= ruleReference ) + // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) + // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) { - // InternalSolverLanguage.g:1824:4: (lv_functor_0_0= ruleReference ) - // InternalSolverLanguage.g:1825:5: lv_functor_0_0= ruleReference + // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) + // InternalSolverLanguageParser.g:1792:5: lv_functor_0_0= ruleReference { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); - - } - pushFollow(FOLLOW_31); + newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); + + pushFollow(FOLLOW_30); lv_functor_0_0=ruleReference(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getCallRule()); - } - set( - current, - "functor", - lv_functor_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCallRule()); + } + set( + current, + "functor", + lv_functor_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:1842:3: ( ( (lv_transitiveClosure_1_0= RULE_STAR ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) )? - int alt22=3; - int LA22_0 = input.LA(1); + // InternalSolverLanguageParser.g:1809:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? + int alt21=3; + int LA21_0 = input.LA(1); - if ( (LA22_0==RULE_STAR) ) { - alt22=1; + if ( (LA21_0==RULE_TRANSITIVE_CLOSURE) ) { + alt21=1; } - else if ( (LA22_0==RULE_PLUS) ) { - alt22=2; + else if ( (LA21_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) { + alt21=2; } - switch (alt22) { + switch (alt21) { case 1 : - // InternalSolverLanguage.g:1843:4: ( (lv_transitiveClosure_1_0= RULE_STAR ) ) + // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) { - // InternalSolverLanguage.g:1843:4: ( (lv_transitiveClosure_1_0= RULE_STAR ) ) - // InternalSolverLanguage.g:1844:5: (lv_transitiveClosure_1_0= RULE_STAR ) + // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) + // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) { - // InternalSolverLanguage.g:1844:5: (lv_transitiveClosure_1_0= RULE_STAR ) - // InternalSolverLanguage.g:1845:6: lv_transitiveClosure_1_0= RULE_STAR + // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) + // InternalSolverLanguageParser.g:1812:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE { - lv_transitiveClosure_1_0=(Token)match(input,RULE_STAR,FOLLOW_10); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11); - newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureSTARTerminalRuleCall_1_0_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getCallRule()); - } - setWithLastConsumed( - current, - "transitiveClosure", - true, - "org.eclipse.viatra.solver.language.SolverLanguage.STAR"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getCallRule()); + } + setWithLastConsumed( + current, + "transitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); + } @@ -5228,32 +4626,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:1862:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) + // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) { - // InternalSolverLanguage.g:1862:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) ) - // InternalSolverLanguage.g:1863:5: (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) + // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) + // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) { - // InternalSolverLanguage.g:1863:5: (lv_reflexiveTransitiveClosure_2_0= RULE_PLUS ) - // InternalSolverLanguage.g:1864:6: lv_reflexiveTransitiveClosure_2_0= RULE_PLUS + // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) + // InternalSolverLanguageParser.g:1831:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE { - lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_PLUS,FOLLOW_10); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11); - newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getCallRule()); - } - setWithLastConsumed( - current, - "reflexiveTransitiveClosure", - true, - "org.eclipse.viatra.solver.language.SolverLanguage.PLUS"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getCallRule()); + } + setWithLastConsumed( + current, + "reflexiveTransitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); + } @@ -5266,35 +4660,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:1881:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) - // InternalSolverLanguage.g:1882:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:1848:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) { - // InternalSolverLanguage.g:1882:4: (lv_argumentList_3_0= ruleArgumentList ) - // InternalSolverLanguage.g:1883:5: lv_argumentList_3_0= ruleArgumentList + // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:1850:5: lv_argumentList_3_0= ruleArgumentList { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); - - } + newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); + pushFollow(FOLLOW_2); lv_argumentList_3_0=ruleArgumentList(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getCallRule()); - } - set( - current, - "argumentList", - lv_argumentList_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCallRule()); + } + set( + current, + "argumentList", + lv_argumentList_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + } @@ -5307,11 +4697,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -5326,7 +4714,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleArgumentList" - // InternalSolverLanguage.g:1904:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; + // InternalSolverLanguageParser.g:1871:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; public final EObject entryRuleArgumentList() throws RecognitionException { EObject current = null; @@ -5334,21 +4722,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1904:53: (iv_ruleArgumentList= ruleArgumentList EOF ) - // InternalSolverLanguage.g:1905:2: iv_ruleArgumentList= ruleArgumentList EOF + // InternalSolverLanguageParser.g:1871:53: (iv_ruleArgumentList= ruleArgumentList EOF ) + // InternalSolverLanguageParser.g:1872:2: iv_ruleArgumentList= ruleArgumentList EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getArgumentListRule()); - } + newCompositeNode(grammarAccess.getArgumentListRule()); pushFollow(FOLLOW_1); iv_ruleArgumentList=ruleArgumentList(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleArgumentList; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleArgumentList; + match(input,EOF,FOLLOW_2); } @@ -5366,7 +4750,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleArgumentList" - // InternalSolverLanguage.g:1911:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) ; + // 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 ) ; public final EObject ruleArgumentList() throws RecognitionException { EObject current = null; @@ -5382,127 +4766,113 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1917:2: ( ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) ) - // InternalSolverLanguage.g:1918:2: ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) + // InternalSolverLanguageParser.g:1884:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ) + // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) { - // InternalSolverLanguage.g:1918:2: ( () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' ) - // InternalSolverLanguage.g:1919:3: () otherlv_1= '(' ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= ')' + // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) + // InternalSolverLanguageParser.g:1886:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis { - // InternalSolverLanguage.g:1919:3: () - // InternalSolverLanguage.g:1920:4: + // InternalSolverLanguageParser.g:1886:3: () + // InternalSolverLanguageParser.g:1887:4: { - if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getArgumentListAccess().getArgumentListAction_0(), - current); - - } + current = forceCreateModelElement( + grammarAccess.getArgumentListAccess().getArgumentListAction_0(), + current); + } - otherlv_1=(Token)match(input,33,FOLLOW_32); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_31); - newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); - - } - // InternalSolverLanguage.g:1930:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* )? - int alt24=2; - int LA24_0 = input.LA(1); + newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); + + // InternalSolverLanguageParser.g:1897:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? + int alt23=2; + int LA23_0 = input.LA(1); - if ( ((LA24_0>=RULE_STRING && LA24_0<=RULE_QUOTED_ID)||LA24_0==19||LA24_0==29||LA24_0==33||(LA24_0>=35 && LA24_0<=36)||(LA24_0>=39 && LA24_0<=40)||(LA24_0>=56 && LA24_0<=57)||(LA24_0>=60 && LA24_0<=72)) ) { - alt24=1; + 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)) ) { + alt23=1; } - switch (alt24) { + switch (alt23) { case 1 : - // InternalSolverLanguage.g:1931:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* + // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* { - // InternalSolverLanguage.g:1931:4: ( (lv_arguments_2_0= ruleArgument ) ) - // InternalSolverLanguage.g:1932:5: (lv_arguments_2_0= ruleArgument ) + // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) { - // InternalSolverLanguage.g:1932:5: (lv_arguments_2_0= ruleArgument ) - // InternalSolverLanguage.g:1933:6: lv_arguments_2_0= ruleArgument + // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) + // InternalSolverLanguageParser.g:1900:6: lv_arguments_2_0= ruleArgument { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); - - } - pushFollow(FOLLOW_33); + newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); + + pushFollow(FOLLOW_32); lv_arguments_2_0=ruleArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getArgumentListRule()); - } - add( - current, - "arguments", - lv_arguments_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArgumentListRule()); + } + add( + current, + "arguments", + lv_arguments_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:1950:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) )* - loop23: + // InternalSolverLanguageParser.g:1917:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* + loop22: do { - int alt23=2; - int LA23_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA23_0==28) ) { - alt23=1; + if ( (LA22_0==Comma) ) { + alt22=1; } - switch (alt23) { + switch (alt22) { case 1 : - // InternalSolverLanguage.g:1951:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:1918:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) { - otherlv_3=(Token)match(input,28,FOLLOW_34); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_3=(Token)match(input,Comma,FOLLOW_33); - newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); - - } - // InternalSolverLanguage.g:1955:5: ( (lv_arguments_4_0= ruleArgument ) ) - // InternalSolverLanguage.g:1956:6: (lv_arguments_4_0= ruleArgument ) + newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); + + // InternalSolverLanguageParser.g:1922:5: ( (lv_arguments_4_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) { - // InternalSolverLanguage.g:1956:6: (lv_arguments_4_0= ruleArgument ) - // InternalSolverLanguage.g:1957:7: lv_arguments_4_0= ruleArgument + // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) + // InternalSolverLanguageParser.g:1924:7: lv_arguments_4_0= ruleArgument { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); - - } - pushFollow(FOLLOW_33); + newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); + + pushFollow(FOLLOW_32); lv_arguments_4_0=ruleArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getArgumentListRule()); - } - add( - current, - "arguments", - lv_arguments_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArgumentListRule()); + } + add( + current, + "arguments", + lv_arguments_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Argument"); + afterParserOrEnumRuleCall(); + } @@ -5514,7 +4884,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop23; + break loop22; } } while (true); @@ -5524,23 +4894,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,34,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_5=(Token)match(input,RightParenthesis,FOLLOW_2); - newLeafNode(otherlv_5, grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); - - } + newLeafNode(otherlv_5, grammarAccess.getArgumentListAccess().getRightParenthesisKeyword_3()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -5555,7 +4921,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleArgument" - // InternalSolverLanguage.g:1984:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; + // InternalSolverLanguageParser.g:1951:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; public final EObject entryRuleArgument() throws RecognitionException { EObject current = null; @@ -5563,21 +4929,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1984:49: (iv_ruleArgument= ruleArgument EOF ) - // InternalSolverLanguage.g:1985:2: iv_ruleArgument= ruleArgument EOF + // InternalSolverLanguageParser.g:1951:49: (iv_ruleArgument= ruleArgument EOF ) + // InternalSolverLanguageParser.g:1952:2: iv_ruleArgument= ruleArgument EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getArgumentRule()); - } + newCompositeNode(grammarAccess.getArgumentRule()); pushFollow(FOLLOW_1); iv_ruleArgument=ruleArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleArgument; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleArgument; + match(input,EOF,FOLLOW_2); } @@ -5595,7 +4957,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleArgument" - // InternalSolverLanguage.g:1991:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ; + // 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 ) ; public final EObject ruleArgument() throws RecognitionException { EObject current = null; @@ -5612,98 +4974,82 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1997:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) - // InternalSolverLanguage.g:1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) + // InternalSolverLanguageParser.g:1964:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) + // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) { - // InternalSolverLanguage.g:1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) - int alt25=4; - alt25 = dfa25.predict(input); - switch (alt25) { + // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) + int alt24=4; + alt24 = dfa24.predict(input); + switch (alt24) { case 1 : - // InternalSolverLanguage.g:1999:3: this_ExpressionArgument_0= ruleExpressionArgument + // InternalSolverLanguageParser.g:1966:3: this_ExpressionArgument_0= ruleExpressionArgument { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); + pushFollow(FOLLOW_2); this_ExpressionArgument_0=ruleExpressionArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ExpressionArgument_0; - afterParserOrEnumRuleCall(); - - } + + current = this_ExpressionArgument_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguage.g:2008:3: this_StarArgument_1= ruleStarArgument + // InternalSolverLanguageParser.g:1975:3: this_StarArgument_1= ruleStarArgument { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); - - } + newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); + pushFollow(FOLLOW_2); this_StarArgument_1=ruleStarArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_StarArgument_1; - afterParserOrEnumRuleCall(); - - } + + current = this_StarArgument_1; + afterParserOrEnumRuleCall(); + } break; case 3 : - // InternalSolverLanguage.g:2017:3: this_TypedArgument_2= ruleTypedArgument + // InternalSolverLanguageParser.g:1984:3: this_TypedArgument_2= ruleTypedArgument { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); - - } + newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); + pushFollow(FOLLOW_2); this_TypedArgument_2=ruleTypedArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_TypedArgument_2; - afterParserOrEnumRuleCall(); - - } + + current = this_TypedArgument_2; + afterParserOrEnumRuleCall(); + } break; case 4 : - // InternalSolverLanguage.g:2026:3: this_TypedStarArgument_3= ruleTypedStarArgument + // InternalSolverLanguageParser.g:1993:3: this_TypedStarArgument_3= ruleTypedStarArgument { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); - - } + newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); + pushFollow(FOLLOW_2); this_TypedStarArgument_3=ruleTypedStarArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_TypedStarArgument_3; - afterParserOrEnumRuleCall(); - - } + + current = this_TypedStarArgument_3; + afterParserOrEnumRuleCall(); + } break; @@ -5713,11 +5059,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -5732,7 +5076,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExpressionArgument" - // InternalSolverLanguage.g:2038:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; + // InternalSolverLanguageParser.g:2005:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; public final EObject entryRuleExpressionArgument() throws RecognitionException { EObject current = null; @@ -5740,21 +5084,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2038:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) - // InternalSolverLanguage.g:2039:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF + // InternalSolverLanguageParser.g:2005:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) + // InternalSolverLanguageParser.g:2006:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExpressionArgumentRule()); - } + newCompositeNode(grammarAccess.getExpressionArgumentRule()); pushFollow(FOLLOW_1); iv_ruleExpressionArgument=ruleExpressionArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleExpressionArgument; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleExpressionArgument; + match(input,EOF,FOLLOW_2); } @@ -5772,7 +5112,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExpressionArgument" - // InternalSolverLanguage.g:2045:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; + // InternalSolverLanguageParser.g:2012:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; public final EObject ruleExpressionArgument() throws RecognitionException { EObject current = null; @@ -5783,38 +5123,34 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2051:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) - // InternalSolverLanguage.g:2052:2: ( (lv_body_0_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:2018:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) + // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) { - // InternalSolverLanguage.g:2052:2: ( (lv_body_0_0= ruleComparisonExpression ) ) - // InternalSolverLanguage.g:2053:3: (lv_body_0_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) { - // InternalSolverLanguage.g:2053:3: (lv_body_0_0= ruleComparisonExpression ) - // InternalSolverLanguage.g:2054:4: lv_body_0_0= ruleComparisonExpression + // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:2021:4: lv_body_0_0= ruleComparisonExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); + pushFollow(FOLLOW_2); lv_body_0_0=ruleComparisonExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); - } - set( - current, - "body", - lv_body_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); + } + set( + current, + "body", + lv_body_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); + afterParserOrEnumRuleCall(); + } @@ -5824,11 +5160,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -5843,7 +5177,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStarArgument" - // InternalSolverLanguage.g:2074:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; + // InternalSolverLanguageParser.g:2041:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; public final EObject entryRuleStarArgument() throws RecognitionException { EObject current = null; @@ -5851,21 +5185,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2074:53: (iv_ruleStarArgument= ruleStarArgument EOF ) - // InternalSolverLanguage.g:2075:2: iv_ruleStarArgument= ruleStarArgument EOF + // InternalSolverLanguageParser.g:2041:53: (iv_ruleStarArgument= ruleStarArgument EOF ) + // InternalSolverLanguageParser.g:2042:2: iv_ruleStarArgument= ruleStarArgument EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStarArgumentRule()); - } + newCompositeNode(grammarAccess.getStarArgumentRule()); pushFollow(FOLLOW_1); iv_ruleStarArgument=ruleStarArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleStarArgument; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleStarArgument; + match(input,EOF,FOLLOW_2); } @@ -5883,7 +5213,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStarArgument" - // InternalSolverLanguage.g:2081:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= '*' ) ; + // InternalSolverLanguageParser.g:2048:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; public final EObject ruleStarArgument() throws RecognitionException { EObject current = null; @@ -5893,42 +5223,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2087:2: ( ( () otherlv_1= '*' ) ) - // InternalSolverLanguage.g:2088:2: ( () otherlv_1= '*' ) + // InternalSolverLanguageParser.g:2054:2: ( ( () otherlv_1= Asterisk ) ) + // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) { - // InternalSolverLanguage.g:2088:2: ( () otherlv_1= '*' ) - // InternalSolverLanguage.g:2089:3: () otherlv_1= '*' + // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:2056:3: () otherlv_1= Asterisk { - // InternalSolverLanguage.g:2089:3: () - // InternalSolverLanguage.g:2090:4: + // InternalSolverLanguageParser.g:2056:3: () + // InternalSolverLanguageParser.g:2057:4: { - if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getStarArgumentAccess().getStarArgumentAction_0(), - current); - - } + current = forceCreateModelElement( + grammarAccess.getStarArgumentAccess().getStarArgumentAction_0(), + current); + } - otherlv_1=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,Asterisk,FOLLOW_2); - newLeafNode(otherlv_1, grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); - - } + newLeafNode(otherlv_1, grammarAccess.getStarArgumentAccess().getAsteriskKeyword_1()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -5943,7 +5267,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleTypedArgument" - // InternalSolverLanguage.g:2104:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; + // InternalSolverLanguageParser.g:2071:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; public final EObject entryRuleTypedArgument() throws RecognitionException { EObject current = null; @@ -5951,21 +5275,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2104:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) - // InternalSolverLanguage.g:2105:2: iv_ruleTypedArgument= ruleTypedArgument EOF + // InternalSolverLanguageParser.g:2071:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) + // InternalSolverLanguageParser.g:2072:2: iv_ruleTypedArgument= ruleTypedArgument EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getTypedArgumentRule()); - } + newCompositeNode(grammarAccess.getTypedArgumentRule()); pushFollow(FOLLOW_1); iv_ruleTypedArgument=ruleTypedArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleTypedArgument; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleTypedArgument; + match(input,EOF,FOLLOW_2); } @@ -5983,7 +5303,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleTypedArgument" - // InternalSolverLanguage.g:2111:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; + // InternalSolverLanguageParser.g:2078:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; public final EObject ruleTypedArgument() throws RecognitionException { EObject current = null; @@ -5991,74 +5311,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2117:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) - // InternalSolverLanguage.g:2118:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:2084:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) + // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) { - // InternalSolverLanguage.g:2118:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) - // InternalSolverLanguage.g:2119:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:2119:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:2120:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:2120:4: ( ruleQualifiedName ) - // InternalSolverLanguage.g:2121:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2088:5: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getTypedArgumentRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getTypedArgumentRule()); + } + - newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); - - } - pushFollow(FOLLOW_35); + newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); + + pushFollow(FOLLOW_8); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:2135:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:2136:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2102:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:2136:4: ( ruleQualifiedName ) - // InternalSolverLanguage.g:2137:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2104:5: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getTypedArgumentRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getTypedArgumentRule()); + } + - newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); - - } + newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); + pushFollow(FOLLOW_2); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } @@ -6071,11 +5379,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -6090,7 +5396,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleTypedStarArgument" - // InternalSolverLanguage.g:2155:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; + // InternalSolverLanguageParser.g:2122:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; public final EObject entryRuleTypedStarArgument() throws RecognitionException { EObject current = null; @@ -6098,21 +5404,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2155:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) - // InternalSolverLanguage.g:2156:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF + // InternalSolverLanguageParser.g:2122:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) + // InternalSolverLanguageParser.g:2123:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getTypedStarArgumentRule()); - } + newCompositeNode(grammarAccess.getTypedStarArgumentRule()); pushFollow(FOLLOW_1); iv_ruleTypedStarArgument=ruleTypedStarArgument(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleTypedStarArgument; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleTypedStarArgument; + match(input,EOF,FOLLOW_2); } @@ -6130,7 +5432,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleTypedStarArgument" - // InternalSolverLanguage.g:2162:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) ; + // InternalSolverLanguageParser.g:2129:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ; public final EObject ruleTypedStarArgument() throws RecognitionException { EObject current = null; @@ -6140,63 +5442,53 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2168:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) ) - // InternalSolverLanguage.g:2169:2: ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) + // InternalSolverLanguageParser.g:2135:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ) + // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) { - // InternalSolverLanguage.g:2169:2: ( ( ( ruleQualifiedName ) ) otherlv_1= '*' ) - // InternalSolverLanguage.g:2170:3: ( ( ruleQualifiedName ) ) otherlv_1= '*' + // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk { - // InternalSolverLanguage.g:2170:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:2171:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:2171:4: ( ruleQualifiedName ) - // InternalSolverLanguage.g:2172:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2139:5: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getTypedStarArgumentRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getTypedStarArgumentRule()); + } + - newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); - - } - pushFollow(FOLLOW_36); + newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); + + pushFollow(FOLLOW_34); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } } - otherlv_1=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,Asterisk,FOLLOW_2); - newLeafNode(otherlv_1, grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); - - } + newLeafNode(otherlv_1, grammarAccess.getTypedStarArgumentAccess().getAsteriskKeyword_1()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -6211,7 +5503,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleReference" - // InternalSolverLanguage.g:2194:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; + // InternalSolverLanguageParser.g:2161:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; public final EObject entryRuleReference() throws RecognitionException { EObject current = null; @@ -6219,21 +5511,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2194:50: (iv_ruleReference= ruleReference EOF ) - // InternalSolverLanguage.g:2195:2: iv_ruleReference= ruleReference EOF + // InternalSolverLanguageParser.g:2161:50: (iv_ruleReference= ruleReference EOF ) + // InternalSolverLanguageParser.g:2162:2: iv_ruleReference= ruleReference EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getReferenceRule()); - } + newCompositeNode(grammarAccess.getReferenceRule()); pushFollow(FOLLOW_1); iv_ruleReference=ruleReference(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleReference; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleReference; + match(input,EOF,FOLLOW_2); } @@ -6251,7 +5539,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleReference" - // InternalSolverLanguage.g:2201:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; + // InternalSolverLanguageParser.g:2168:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; public final EObject ruleReference() throws RecognitionException { EObject current = null; @@ -6259,37 +5547,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2207:2: ( ( ( ruleQualifiedName ) ) ) - // InternalSolverLanguage.g:2208:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2174:2: ( ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:2208:2: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:2209:3: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:2209:3: ( ruleQualifiedName ) - // InternalSolverLanguage.g:2210:4: ruleQualifiedName + // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2177:4: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getReferenceRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getReferenceRule()); + } + - newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); - - } + newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); + pushFollow(FOLLOW_2); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } @@ -6299,11 +5581,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -6318,7 +5598,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleInterval" - // InternalSolverLanguage.g:2227:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; + // InternalSolverLanguageParser.g:2194:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; public final EObject entryRuleInterval() throws RecognitionException { EObject current = null; @@ -6326,21 +5606,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2227:49: (iv_ruleInterval= ruleInterval EOF ) - // InternalSolverLanguage.g:2228:2: iv_ruleInterval= ruleInterval EOF + // InternalSolverLanguageParser.g:2194:49: (iv_ruleInterval= ruleInterval EOF ) + // InternalSolverLanguageParser.g:2195:2: iv_ruleInterval= ruleInterval EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getIntervalRule()); - } + newCompositeNode(grammarAccess.getIntervalRule()); pushFollow(FOLLOW_1); iv_ruleInterval=ruleInterval(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleInterval; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleInterval; + match(input,EOF,FOLLOW_2); } @@ -6358,7 +5634,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleInterval" - // InternalSolverLanguage.g:2234:1: ruleInterval returns [EObject current=null] : (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) ; + // 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 ) ; public final EObject ruleInterval() throws RecognitionException { EObject current = null; @@ -6374,111 +5650,95 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2240:2: ( (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) ) - // InternalSolverLanguage.g:2241:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) + // InternalSolverLanguageParser.g:2207:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) { - // InternalSolverLanguage.g:2241:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' ) - // InternalSolverLanguage.g:2242:3: otherlv_0= '[' ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= ']' + // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) + // InternalSolverLanguageParser.g:2209:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket { - otherlv_0=(Token)match(input,36,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6); - newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); - - } - // InternalSolverLanguage.g:2246:3: ( (lv_lowerBound_1_0= ruleExpression ) ) - // InternalSolverLanguage.g:2247:4: (lv_lowerBound_1_0= ruleExpression ) + newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); + + // InternalSolverLanguageParser.g:2213:3: ( (lv_lowerBound_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) { - // InternalSolverLanguage.g:2247:4: (lv_lowerBound_1_0= ruleExpression ) - // InternalSolverLanguage.g:2248:5: lv_lowerBound_1_0= ruleExpression + // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:2215:5: lv_lowerBound_1_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); - - } - pushFollow(FOLLOW_37); + newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); + + pushFollow(FOLLOW_35); lv_lowerBound_1_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getIntervalRule()); - } - set( - current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIntervalRule()); + } + set( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } } - otherlv_2=(Token)match(input,37,FOLLOW_6); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_6); - newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); - - } - // InternalSolverLanguage.g:2269:3: ( (lv_upperBound_3_0= ruleExpression ) ) - // InternalSolverLanguage.g:2270:4: (lv_upperBound_3_0= ruleExpression ) + newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); + + // InternalSolverLanguageParser.g:2236:3: ( (lv_upperBound_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) { - // InternalSolverLanguage.g:2270:4: (lv_upperBound_3_0= ruleExpression ) - // InternalSolverLanguage.g:2271:5: lv_upperBound_3_0= ruleExpression + // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:2238:5: lv_upperBound_3_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); - - } - pushFollow(FOLLOW_38); + newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); + + pushFollow(FOLLOW_36); lv_upperBound_3_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getIntervalRule()); - } - set( - current, - "upperBound", - lv_upperBound_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIntervalRule()); + } + set( + current, + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } } - otherlv_4=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_4=(Token)match(input,RightSquareBracket,FOLLOW_2); - newLeafNode(otherlv_4, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); - - } + newLeafNode(otherlv_4, grammarAccess.getIntervalAccess().getRightSquareBracketKeyword_4()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -6493,7 +5753,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLiteral" - // InternalSolverLanguage.g:2296:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; + // InternalSolverLanguageParser.g:2263:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; public final EObject entryRuleLiteral() throws RecognitionException { EObject current = null; @@ -6501,21 +5761,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2296:48: (iv_ruleLiteral= ruleLiteral EOF ) - // InternalSolverLanguage.g:2297:2: iv_ruleLiteral= ruleLiteral EOF + // InternalSolverLanguageParser.g:2263:48: (iv_ruleLiteral= ruleLiteral EOF ) + // InternalSolverLanguageParser.g:2264:2: iv_ruleLiteral= ruleLiteral EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLiteralRule()); - } + newCompositeNode(grammarAccess.getLiteralRule()); pushFollow(FOLLOW_1); iv_ruleLiteral=ruleLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleLiteral; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleLiteral; + match(input,EOF,FOLLOW_2); } @@ -6533,7 +5789,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLiteral" - // InternalSolverLanguage.g:2303: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 ) ; + // 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 ) ; public final EObject ruleLiteral() throws RecognitionException { EObject current = null; @@ -6552,156 +5808,135 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2309:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ) - // InternalSolverLanguage.g:2310:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) + // InternalSolverLanguageParser.g:2276:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ) + // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) { - // InternalSolverLanguage.g:2310:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) - int alt26=5; + // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) + int alt25=5; switch ( input.LA(1) ) { - case 19: - case 70: - case 71: - case 72: + case Unknown: + case Error: + case False: + case True: { - alt26=1; + alt25=1; } break; case RULE_INT: { - alt26=2; + alt25=2; } break; - case 39: + case Inf: { - alt26=3; + alt25=3; } break; - case 40: + case Empty: { - alt26=4; + alt25=4; } break; case RULE_STRING: { - alt26=5; + alt25=5; } break; default: - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 26, 0, input); + new NoViableAltException("", 25, 0, input); throw nvae; } - switch (alt26) { + switch (alt25) { case 1 : - // InternalSolverLanguage.g:2311:3: this_LogicLiteral_0= ruleLogicLiteral + // InternalSolverLanguageParser.g:2278:3: this_LogicLiteral_0= ruleLogicLiteral { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); + pushFollow(FOLLOW_2); this_LogicLiteral_0=ruleLogicLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_LogicLiteral_0; - afterParserOrEnumRuleCall(); - - } + + current = this_LogicLiteral_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguage.g:2320:3: this_NumericLiteral_1= ruleNumericLiteral + // InternalSolverLanguageParser.g:2287:3: this_NumericLiteral_1= ruleNumericLiteral { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); - - } + newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); + pushFollow(FOLLOW_2); this_NumericLiteral_1=ruleNumericLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_NumericLiteral_1; - afterParserOrEnumRuleCall(); - - } + + current = this_NumericLiteral_1; + afterParserOrEnumRuleCall(); + } break; case 3 : - // InternalSolverLanguage.g:2329:3: this_InfinityLiteral_2= ruleInfinityLiteral + // InternalSolverLanguageParser.g:2296:3: this_InfinityLiteral_2= ruleInfinityLiteral { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); - - } + newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); + pushFollow(FOLLOW_2); this_InfinityLiteral_2=ruleInfinityLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_InfinityLiteral_2; - afterParserOrEnumRuleCall(); - - } + + current = this_InfinityLiteral_2; + afterParserOrEnumRuleCall(); + } break; case 4 : - // InternalSolverLanguage.g:2338:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral + // InternalSolverLanguageParser.g:2305:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); - - } + newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); + pushFollow(FOLLOW_2); this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_EmptyIntervalLiteral_3; - afterParserOrEnumRuleCall(); - - } + + current = this_EmptyIntervalLiteral_3; + afterParserOrEnumRuleCall(); + } break; case 5 : - // InternalSolverLanguage.g:2347:3: this_StringLiteral_4= ruleStringLiteral + // InternalSolverLanguageParser.g:2314:3: this_StringLiteral_4= ruleStringLiteral { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); - - } + newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + pushFollow(FOLLOW_2); this_StringLiteral_4=ruleStringLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_StringLiteral_4; - afterParserOrEnumRuleCall(); - - } + + current = this_StringLiteral_4; + afterParserOrEnumRuleCall(); + } break; @@ -6711,11 +5946,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -6730,7 +5963,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLogicLiteral" - // InternalSolverLanguage.g:2359:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; + // InternalSolverLanguageParser.g:2326:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; public final EObject entryRuleLogicLiteral() throws RecognitionException { EObject current = null; @@ -6738,21 +5971,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2359:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) - // InternalSolverLanguage.g:2360:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF + // InternalSolverLanguageParser.g:2326:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) + // InternalSolverLanguageParser.g:2327:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLogicLiteralRule()); - } + newCompositeNode(grammarAccess.getLogicLiteralRule()); pushFollow(FOLLOW_1); iv_ruleLogicLiteral=ruleLogicLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleLogicLiteral; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleLogicLiteral; + match(input,EOF,FOLLOW_2); } @@ -6770,7 +5999,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLogicLiteral" - // InternalSolverLanguage.g:2366:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; + // InternalSolverLanguageParser.g:2333:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; public final EObject ruleLogicLiteral() throws RecognitionException { EObject current = null; @@ -6781,38 +6010,34 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2372:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) - // InternalSolverLanguage.g:2373:2: ( (lv_value_0_0= ruleLogicValue ) ) + // InternalSolverLanguageParser.g:2339:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) + // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) { - // InternalSolverLanguage.g:2373:2: ( (lv_value_0_0= ruleLogicValue ) ) - // InternalSolverLanguage.g:2374:3: (lv_value_0_0= ruleLogicValue ) + // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) + // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) { - // InternalSolverLanguage.g:2374:3: (lv_value_0_0= ruleLogicValue ) - // InternalSolverLanguage.g:2375:4: lv_value_0_0= ruleLogicValue + // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) + // InternalSolverLanguageParser.g:2342:4: lv_value_0_0= ruleLogicValue { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); - - } + newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); + pushFollow(FOLLOW_2); lv_value_0_0=ruleLogicValue(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getLogicLiteralRule()); - } - set( - current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLogicLiteralRule()); + } + set( + current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); + afterParserOrEnumRuleCall(); + } @@ -6822,11 +6047,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -6841,7 +6064,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleNumericLiteral" - // InternalSolverLanguage.g:2395:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; + // InternalSolverLanguageParser.g:2362:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; public final EObject entryRuleNumericLiteral() throws RecognitionException { EObject current = null; @@ -6849,21 +6072,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2395:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) - // InternalSolverLanguage.g:2396:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF + // InternalSolverLanguageParser.g:2362:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) + // InternalSolverLanguageParser.g:2363:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getNumericLiteralRule()); - } + newCompositeNode(grammarAccess.getNumericLiteralRule()); pushFollow(FOLLOW_1); iv_ruleNumericLiteral=ruleNumericLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleNumericLiteral; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleNumericLiteral; + match(input,EOF,FOLLOW_2); } @@ -6881,7 +6100,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleNumericLiteral" - // InternalSolverLanguage.g:2402:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; + // InternalSolverLanguageParser.g:2369:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; public final EObject ruleNumericLiteral() throws RecognitionException { EObject current = null; @@ -6892,38 +6111,34 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2408:2: ( ( (lv_value_0_0= ruleReal ) ) ) - // InternalSolverLanguage.g:2409:2: ( (lv_value_0_0= ruleReal ) ) + // InternalSolverLanguageParser.g:2375:2: ( ( (lv_value_0_0= ruleReal ) ) ) + // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) { - // InternalSolverLanguage.g:2409:2: ( (lv_value_0_0= ruleReal ) ) - // InternalSolverLanguage.g:2410:3: (lv_value_0_0= ruleReal ) + // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) + // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) { - // InternalSolverLanguage.g:2410:3: (lv_value_0_0= ruleReal ) - // InternalSolverLanguage.g:2411:4: lv_value_0_0= ruleReal + // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) + // InternalSolverLanguageParser.g:2378:4: lv_value_0_0= ruleReal { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); + pushFollow(FOLLOW_2); lv_value_0_0=ruleReal(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); - } - set( - current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Real"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); + } + set( + current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Real"); + afterParserOrEnumRuleCall(); + } @@ -6933,11 +6148,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -6952,7 +6165,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleInfinityLiteral" - // InternalSolverLanguage.g:2431:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; + // InternalSolverLanguageParser.g:2398:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; public final EObject entryRuleInfinityLiteral() throws RecognitionException { EObject current = null; @@ -6960,21 +6173,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2431:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) - // InternalSolverLanguage.g:2432:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF + // InternalSolverLanguageParser.g:2398:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) + // InternalSolverLanguageParser.g:2399:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getInfinityLiteralRule()); - } + newCompositeNode(grammarAccess.getInfinityLiteralRule()); pushFollow(FOLLOW_1); iv_ruleInfinityLiteral=ruleInfinityLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleInfinityLiteral; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleInfinityLiteral; + match(input,EOF,FOLLOW_2); } @@ -6992,7 +6201,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleInfinityLiteral" - // InternalSolverLanguage.g:2438:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= 'inf' ) ; + // InternalSolverLanguageParser.g:2405:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; public final EObject ruleInfinityLiteral() throws RecognitionException { EObject current = null; @@ -7002,42 +6211,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2444:2: ( ( () otherlv_1= 'inf' ) ) - // InternalSolverLanguage.g:2445:2: ( () otherlv_1= 'inf' ) + // InternalSolverLanguageParser.g:2411:2: ( ( () otherlv_1= Inf ) ) + // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) { - // InternalSolverLanguage.g:2445:2: ( () otherlv_1= 'inf' ) - // InternalSolverLanguage.g:2446:3: () otherlv_1= 'inf' + // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) + // InternalSolverLanguageParser.g:2413:3: () otherlv_1= Inf { - // InternalSolverLanguage.g:2446:3: () - // InternalSolverLanguage.g:2447:4: + // InternalSolverLanguageParser.g:2413:3: () + // InternalSolverLanguageParser.g:2414:4: { - if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0(), - current); - - } + current = forceCreateModelElement( + grammarAccess.getInfinityLiteralAccess().getInfinityLiteralAction_0(), + current); + } - otherlv_1=(Token)match(input,39,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,Inf,FOLLOW_2); - newLeafNode(otherlv_1, grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); - - } + newLeafNode(otherlv_1, grammarAccess.getInfinityLiteralAccess().getInfKeyword_1()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -7052,7 +6255,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleEmptyIntervalLiteral" - // InternalSolverLanguage.g:2461:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; + // InternalSolverLanguageParser.g:2428:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException { EObject current = null; @@ -7060,21 +6263,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2461:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) - // InternalSolverLanguage.g:2462:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF + // InternalSolverLanguageParser.g:2428:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) + // InternalSolverLanguageParser.g:2429:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); - } + newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); pushFollow(FOLLOW_1); iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleEmptyIntervalLiteral; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleEmptyIntervalLiteral; + match(input,EOF,FOLLOW_2); } @@ -7092,7 +6291,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleEmptyIntervalLiteral" - // InternalSolverLanguage.g:2468:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= 'empty' ) ; + // InternalSolverLanguageParser.g:2435:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; public final EObject ruleEmptyIntervalLiteral() throws RecognitionException { EObject current = null; @@ -7102,42 +6301,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2474:2: ( ( () otherlv_1= 'empty' ) ) - // InternalSolverLanguage.g:2475:2: ( () otherlv_1= 'empty' ) + // InternalSolverLanguageParser.g:2441:2: ( ( () otherlv_1= Empty ) ) + // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) { - // InternalSolverLanguage.g:2475:2: ( () otherlv_1= 'empty' ) - // InternalSolverLanguage.g:2476:3: () otherlv_1= 'empty' + // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) + // InternalSolverLanguageParser.g:2443:3: () otherlv_1= Empty { - // InternalSolverLanguage.g:2476:3: () - // InternalSolverLanguage.g:2477:4: + // InternalSolverLanguageParser.g:2443:3: () + // InternalSolverLanguageParser.g:2444:4: { - if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), - current); - - } + current = forceCreateModelElement( + grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), + current); + } - otherlv_1=(Token)match(input,40,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,Empty,FOLLOW_2); - newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); - - } + newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -7152,7 +6345,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStringLiteral" - // InternalSolverLanguage.g:2491:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; + // InternalSolverLanguageParser.g:2458:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; public final EObject entryRuleStringLiteral() throws RecognitionException { EObject current = null; @@ -7160,21 +6353,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2491:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) - // InternalSolverLanguage.g:2492:2: iv_ruleStringLiteral= ruleStringLiteral EOF + // InternalSolverLanguageParser.g:2458:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) + // InternalSolverLanguageParser.g:2459:2: iv_ruleStringLiteral= ruleStringLiteral EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getStringLiteralRule()); - } + newCompositeNode(grammarAccess.getStringLiteralRule()); pushFollow(FOLLOW_1); iv_ruleStringLiteral=ruleStringLiteral(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleStringLiteral; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleStringLiteral; + match(input,EOF,FOLLOW_2); } @@ -7192,7 +6381,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStringLiteral" - // InternalSolverLanguage.g:2498:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; + // InternalSolverLanguageParser.g:2465:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; public final EObject ruleStringLiteral() throws RecognitionException { EObject current = null; @@ -7202,33 +6391,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2504:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) - // InternalSolverLanguage.g:2505:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguageParser.g:2471:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) + // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) { - // InternalSolverLanguage.g:2505:2: ( (lv_value_0_0= RULE_STRING ) ) - // InternalSolverLanguage.g:2506:3: (lv_value_0_0= RULE_STRING ) + // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) { - // InternalSolverLanguage.g:2506:3: (lv_value_0_0= RULE_STRING ) - // InternalSolverLanguage.g:2507:4: lv_value_0_0= RULE_STRING + // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) + // InternalSolverLanguageParser.g:2474:4: lv_value_0_0= RULE_STRING { - lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); - newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getStringLiteralRule()); - } - setWithLastConsumed( - current, - "value", - lv_value_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getStringLiteralRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); + } @@ -7238,11 +6423,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -7257,7 +6440,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleClassDefinition" - // InternalSolverLanguage.g:2526:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; + // InternalSolverLanguageParser.g:2493:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; public final EObject entryRuleClassDefinition() throws RecognitionException { EObject current = null; @@ -7265,21 +6448,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2526:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) - // InternalSolverLanguage.g:2527:2: iv_ruleClassDefinition= ruleClassDefinition EOF + // InternalSolverLanguageParser.g:2493:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) + // InternalSolverLanguageParser.g:2494:2: iv_ruleClassDefinition= ruleClassDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getClassDefinitionRule()); - } + newCompositeNode(grammarAccess.getClassDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleClassDefinition=ruleClassDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleClassDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleClassDefinition; + match(input,EOF,FOLLOW_2); } @@ -7297,7 +6476,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleClassDefinition" - // InternalSolverLanguage.g:2533: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= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' ) ; + // 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 ) ; public final EObject ruleClassDefinition() throws RecognitionException { EObject current = null; @@ -7315,40 +6494,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2539:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' ) ) - // InternalSolverLanguage.g:2540:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' ) + // 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 ) ) + // 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 ) { - // InternalSolverLanguage.g:2540:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' ) - // InternalSolverLanguage.g:2541:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= '}' + // 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 ) + // 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 { - // InternalSolverLanguage.g:2541:3: ( (lv_abstract_0_0= 'abstract' ) )? - int alt27=2; - int LA27_0 = input.LA(1); + // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? + int alt26=2; + int LA26_0 = input.LA(1); - if ( (LA27_0==41) ) { - alt27=1; + if ( (LA26_0==Abstract) ) { + alt26=1; } - switch (alt27) { + switch (alt26) { case 1 : - // InternalSolverLanguage.g:2542:4: (lv_abstract_0_0= 'abstract' ) + // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) { - // InternalSolverLanguage.g:2542:4: (lv_abstract_0_0= 'abstract' ) - // InternalSolverLanguage.g:2543:5: lv_abstract_0_0= 'abstract' + // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) + // InternalSolverLanguageParser.g:2510:5: lv_abstract_0_0= Abstract { - lv_abstract_0_0=(Token)match(input,41,FOLLOW_39); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_37); - newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - setWithLastConsumed(current, "abstract", true, "abstract"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + setWithLastConsumed(current, "abstract", true, "abstract"); + } @@ -7358,142 +6533,120 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,42,FOLLOW_40); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,Class,FOLLOW_38); - newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); - - } - // InternalSolverLanguage.g:2559:3: ( (lv_name_2_0= RULE_ID ) ) - // InternalSolverLanguage.g:2560:4: (lv_name_2_0= RULE_ID ) + newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); + + // InternalSolverLanguageParser.g:2526:3: ( (lv_name_2_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) { - // InternalSolverLanguage.g:2560:4: (lv_name_2_0= RULE_ID ) - // InternalSolverLanguage.g:2561:5: lv_name_2_0= RULE_ID + // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) + // InternalSolverLanguageParser.g:2528:5: lv_name_2_0= RULE_ID { - lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_41); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_39); - newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - setWithLastConsumed( - current, - "name", - lv_name_2_0, - "org.eclipse.xtext.common.Terminals.ID"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_2_0, + "org.eclipse.xtext.common.Terminals.ID"); + } } - // InternalSolverLanguage.g:2577:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? - int alt29=2; - int LA29_0 = input.LA(1); + // InternalSolverLanguageParser.g:2544:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA29_0==43) ) { - alt29=1; + if ( (LA28_0==Extends) ) { + alt28=1; } - switch (alt29) { + switch (alt28) { case 1 : - // InternalSolverLanguage.g:2578:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* + // InternalSolverLanguageParser.g:2545:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* { - otherlv_3=(Token)match(input,43,FOLLOW_35); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_3=(Token)match(input,Extends,FOLLOW_8); - newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); - - } - // InternalSolverLanguage.g:2582:4: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:2583:5: ( ruleQualifiedName ) + newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); + + // InternalSolverLanguageParser.g:2549:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:2583:5: ( ruleQualifiedName ) - // InternalSolverLanguage.g:2584:6: ruleQualifiedName + // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2551:6: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + - newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); - - } - pushFollow(FOLLOW_42); + newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); + + pushFollow(FOLLOW_40); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:2598:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* - loop28: + // InternalSolverLanguageParser.g:2565:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* + loop27: do { - int alt28=2; - int LA28_0 = input.LA(1); + int alt27=2; + int LA27_0 = input.LA(1); - if ( (LA28_0==28) ) { - alt28=1; + if ( (LA27_0==Comma) ) { + alt27=1; } - switch (alt28) { + switch (alt27) { case 1 : - // InternalSolverLanguage.g:2599:5: otherlv_5= ',' ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2566:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) { - otherlv_5=(Token)match(input,28,FOLLOW_35); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_5=(Token)match(input,Comma,FOLLOW_8); - newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); - - } - // InternalSolverLanguage.g:2603:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:2604:6: ( ruleQualifiedName ) + newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); + + // InternalSolverLanguageParser.g:2570:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:2604:6: ( ruleQualifiedName ) - // InternalSolverLanguage.g:2605:7: ruleQualifiedName + // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2572:7: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getClassDefinitionRule()); + } + - newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); - - } - pushFollow(FOLLOW_42); + newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); + + pushFollow(FOLLOW_40); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } @@ -7505,7 +6658,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop28; + break loop27; } } while (true); @@ -7515,53 +6668,47 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_7=(Token)match(input,30,FOLLOW_43); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_41); - newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); - - } - // InternalSolverLanguage.g:2625:3: ( (lv_members_8_0= ruleMemberDefinition ) )* - loop30: + newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); + + // InternalSolverLanguageParser.g:2592:3: ( (lv_members_8_0= ruleMemberDefinition ) )* + loop29: do { - int alt30=2; - int LA30_0 = input.LA(1); + int alt29=2; + int LA29_0 = input.LA(1); - if ( (LA30_0==RULE_ID||LA30_0==RULE_QUOTED_ID||LA30_0==44) ) { - alt30=1; + if ( (LA29_0==Contains||LA29_0==RULE_QUOTED_ID||LA29_0==RULE_ID) ) { + alt29=1; } - switch (alt30) { + switch (alt29) { case 1 : - // InternalSolverLanguage.g:2626:4: (lv_members_8_0= ruleMemberDefinition ) + // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) { - // InternalSolverLanguage.g:2626:4: (lv_members_8_0= ruleMemberDefinition ) - // InternalSolverLanguage.g:2627:5: lv_members_8_0= ruleMemberDefinition + // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) + // InternalSolverLanguageParser.g:2594:5: lv_members_8_0= ruleMemberDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); - - } - pushFollow(FOLLOW_43); + newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); + + pushFollow(FOLLOW_41); lv_members_8_0=ruleMemberDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); - } - add( - current, - "members", - lv_members_8_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); - afterParserOrEnumRuleCall(); - - } + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); + } + add( + current, + "members", + lv_members_8_0, + "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); + afterParserOrEnumRuleCall(); + } @@ -7570,27 +6717,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop30; + break loop29; } } while (true); - otherlv_9=(Token)match(input,31,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_9=(Token)match(input,RightCurlyBracket,FOLLOW_2); - newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); - - } + newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -7605,7 +6748,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMemberDefinition" - // InternalSolverLanguage.g:2652:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; + // InternalSolverLanguageParser.g:2619:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; public final EObject entryRuleMemberDefinition() throws RecognitionException { EObject current = null; @@ -7613,21 +6756,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2652:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) - // InternalSolverLanguage.g:2653:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF + // InternalSolverLanguageParser.g:2619:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) + // InternalSolverLanguageParser.g:2620:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMemberDefinitionRule()); - } + newCompositeNode(grammarAccess.getMemberDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleMemberDefinition=ruleMemberDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleMemberDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleMemberDefinition; + match(input,EOF,FOLLOW_2); } @@ -7645,7 +6784,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMemberDefinition" - // InternalSolverLanguage.g:2659: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= ';' )? ) ; + // 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 )? ) ; public final EObject ruleMemberDefinition() throws RecognitionException { EObject current = null; @@ -7660,40 +6799,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2665:2: ( ( ( (lv_containment_0_0= 'contains' ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? (otherlv_6= ';' )? ) ) - // InternalSolverLanguage.g:2666:2: ( ( (lv_containment_0_0= 'contains' ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? (otherlv_6= ';' )? ) + // 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 )? ) ) + // 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 )? ) { - // InternalSolverLanguage.g:2666:2: ( ( (lv_containment_0_0= 'contains' ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? (otherlv_6= ';' )? ) - // InternalSolverLanguage.g:2667:3: ( (lv_containment_0_0= 'contains' ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? (otherlv_6= ';' )? + // 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 )? ) + // 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 )? { - // InternalSolverLanguage.g:2667:3: ( (lv_containment_0_0= 'contains' ) )? - int alt31=2; - int LA31_0 = input.LA(1); + // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? + int alt30=2; + int LA30_0 = input.LA(1); - if ( (LA31_0==44) ) { - alt31=1; + if ( (LA30_0==Contains) ) { + alt30=1; } - switch (alt31) { + switch (alt30) { case 1 : - // InternalSolverLanguage.g:2668:4: (lv_containment_0_0= 'contains' ) + // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) { - // InternalSolverLanguage.g:2668:4: (lv_containment_0_0= 'contains' ) - // InternalSolverLanguage.g:2669:5: lv_containment_0_0= 'contains' + // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) + // InternalSolverLanguageParser.g:2636:5: lv_containment_0_0= Contains { - lv_containment_0_0=(Token)match(input,44,FOLLOW_35); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8); - newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - setWithLastConsumed(current, "containment", true, "contains"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + setWithLastConsumed(current, "containment", true, "contains"); + } @@ -7703,77 +6838,67 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2681:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:2682:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2648:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:2682:4: ( ruleQualifiedName ) - // InternalSolverLanguage.g:2683:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2650:5: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); - - } - pushFollow(FOLLOW_44); + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + + pushFollow(FOLLOW_42); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:2697:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? - int alt32=2; - int LA32_0 = input.LA(1); + // InternalSolverLanguageParser.g:2664:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? + int alt31=2; + int LA31_0 = input.LA(1); - if ( (LA32_0==36) ) { - alt32=1; + if ( (LA31_0==LeftSquareBracket) ) { + alt31=1; } - switch (alt32) { + switch (alt31) { case 1 : - // InternalSolverLanguage.g:2698:4: (lv_multiplicity_2_0= ruleMultiplicity ) + // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) { - // InternalSolverLanguage.g:2698:4: (lv_multiplicity_2_0= ruleMultiplicity ) - // InternalSolverLanguage.g:2699:5: lv_multiplicity_2_0= ruleMultiplicity + // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) + // InternalSolverLanguageParser.g:2666:5: lv_multiplicity_2_0= ruleMultiplicity { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); - - } - pushFollow(FOLLOW_40); + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); + + pushFollow(FOLLOW_38); lv_multiplicity_2_0=ruleMultiplicity(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); - } - set( - current, - "multiplicity", - lv_multiplicity_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); + } + set( + current, + "multiplicity", + lv_multiplicity_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); + afterParserOrEnumRuleCall(); + } @@ -7783,81 +6908,69 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2716:3: ( (lv_name_3_0= RULE_ID ) ) - // InternalSolverLanguage.g:2717:4: (lv_name_3_0= RULE_ID ) + // InternalSolverLanguageParser.g:2683:3: ( (lv_name_3_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) { - // InternalSolverLanguage.g:2717:4: (lv_name_3_0= RULE_ID ) - // InternalSolverLanguage.g:2718:5: lv_name_3_0= RULE_ID + // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) + // InternalSolverLanguageParser.g:2685:5: lv_name_3_0= RULE_ID { - lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_45); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_43); - newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - setWithLastConsumed( - current, - "name", - lv_name_3_0, - "org.eclipse.xtext.common.Terminals.ID"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_3_0, + "org.eclipse.xtext.common.Terminals.ID"); + } } - // InternalSolverLanguage.g:2734:3: (otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) )? - int alt33=2; - int LA33_0 = input.LA(1); + // InternalSolverLanguageParser.g:2701:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA33_0==45) ) { - alt33=1; + if ( (LA32_0==Opposite) ) { + alt32=1; } - switch (alt33) { + switch (alt32) { case 1 : - // InternalSolverLanguage.g:2735:4: otherlv_4= 'opposite' ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2702:4: otherlv_4= Opposite ( ( ruleQualifiedName ) ) { - otherlv_4=(Token)match(input,45,FOLLOW_35); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_4=(Token)match(input,Opposite,FOLLOW_8); - newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); - - } - // InternalSolverLanguage.g:2739:4: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:2740:5: ( ruleQualifiedName ) + newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); + + // InternalSolverLanguageParser.g:2706:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:2740:5: ( ruleQualifiedName ) - // InternalSolverLanguage.g:2741:6: ruleQualifiedName + // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2708:6: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getMemberDefinitionRule()); + } + - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); - - } + newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); + pushFollow(FOLLOW_18); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } @@ -7870,23 +6983,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2756:3: (otherlv_6= ';' )? - int alt34=2; - int LA34_0 = input.LA(1); + // InternalSolverLanguageParser.g:2723:3: (otherlv_6= Semicolon )? + int alt33=2; + int LA33_0 = input.LA(1); - if ( (LA34_0==26) ) { - alt34=1; + if ( (LA33_0==Semicolon) ) { + alt33=1; } - switch (alt34) { + switch (alt33) { case 1 : - // InternalSolverLanguage.g:2757:4: otherlv_6= ';' + // InternalSolverLanguageParser.g:2724:4: otherlv_6= Semicolon { - otherlv_6=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_6=(Token)match(input,Semicolon,FOLLOW_2); - newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); - - } + newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + } break; @@ -7899,11 +7010,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -7918,7 +7027,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMultiplicity" - // InternalSolverLanguage.g:2766:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; + // InternalSolverLanguageParser.g:2733:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; public final EObject entryRuleMultiplicity() throws RecognitionException { EObject current = null; @@ -7926,21 +7035,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2766:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) - // InternalSolverLanguage.g:2767:2: iv_ruleMultiplicity= ruleMultiplicity EOF + // InternalSolverLanguageParser.g:2733:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) + // InternalSolverLanguageParser.g:2734:2: iv_ruleMultiplicity= ruleMultiplicity EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMultiplicityRule()); - } + newCompositeNode(grammarAccess.getMultiplicityRule()); pushFollow(FOLLOW_1); iv_ruleMultiplicity=ruleMultiplicity(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleMultiplicity; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleMultiplicity; + match(input,EOF,FOLLOW_2); } @@ -7958,7 +7063,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicity" - // InternalSolverLanguage.g:2773:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; + // InternalSolverLanguageParser.g:2740:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; public final EObject ruleMultiplicity() throws RecognitionException { EObject current = null; @@ -7973,124 +7078,109 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2779:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) - // InternalSolverLanguage.g:2780:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) + // InternalSolverLanguageParser.g:2746:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) + // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) { - // InternalSolverLanguage.g:2780:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) - int alt35=3; - int LA35_0 = input.LA(1); + // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) + int alt34=3; + int LA34_0 = input.LA(1); - if ( (LA35_0==36) ) { + if ( (LA34_0==LeftSquareBracket) ) { switch ( input.LA(2) ) { case RULE_INT: { - int LA35_2 = input.LA(3); + int LA34_2 = input.LA(3); - if ( (LA35_2==38) ) { - alt35=2; + if ( (LA34_2==FullStopFullStop) ) { + alt34=3; } - else if ( (LA35_2==37) ) { - alt35=3; + else if ( (LA34_2==RightSquareBracket) ) { + alt34=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 35, 2, input); + new NoViableAltException("", 34, 2, input); throw nvae; } } break; - case 35: + case Asterisk: { - alt35=2; + alt34=2; } break; - case 38: + case RightSquareBracket: { - alt35=1; + alt34=1; } break; default: - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 35, 1, input); + new NoViableAltException("", 34, 1, input); throw nvae; } } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 35, 0, input); + new NoViableAltException("", 34, 0, input); throw nvae; } - switch (alt35) { + switch (alt34) { case 1 : - // InternalSolverLanguage.g:2781:3: this_ManyMultiplicity_0= ruleManyMultiplicity + // InternalSolverLanguageParser.g:2748:3: this_ManyMultiplicity_0= ruleManyMultiplicity { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); + pushFollow(FOLLOW_2); this_ManyMultiplicity_0=ruleManyMultiplicity(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ManyMultiplicity_0; - afterParserOrEnumRuleCall(); - - } + + current = this_ManyMultiplicity_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguage.g:2790:3: this_ExactMultiplicity_1= ruleExactMultiplicity + // InternalSolverLanguageParser.g:2757:3: this_ExactMultiplicity_1= ruleExactMultiplicity { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); - - } + newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); + pushFollow(FOLLOW_2); this_ExactMultiplicity_1=ruleExactMultiplicity(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ExactMultiplicity_1; - afterParserOrEnumRuleCall(); - - } + + current = this_ExactMultiplicity_1; + afterParserOrEnumRuleCall(); + } break; case 3 : - // InternalSolverLanguage.g:2799:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity + // InternalSolverLanguageParser.g:2766:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); - - } + newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); + pushFollow(FOLLOW_2); this_BoundedMultiplicity_2=ruleBoundedMultiplicity(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_BoundedMultiplicity_2; - afterParserOrEnumRuleCall(); - - } + + current = this_BoundedMultiplicity_2; + afterParserOrEnumRuleCall(); + } break; @@ -8100,11 +7190,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -8119,7 +7207,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleManyMultiplicity" - // InternalSolverLanguage.g:2811:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; + // InternalSolverLanguageParser.g:2778:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; public final EObject entryRuleManyMultiplicity() throws RecognitionException { EObject current = null; @@ -8127,21 +7215,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2811:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) - // InternalSolverLanguage.g:2812:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF + // InternalSolverLanguageParser.g:2778:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) + // InternalSolverLanguageParser.g:2779:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getManyMultiplicityRule()); - } + newCompositeNode(grammarAccess.getManyMultiplicityRule()); pushFollow(FOLLOW_1); iv_ruleManyMultiplicity=ruleManyMultiplicity(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleManyMultiplicity; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleManyMultiplicity; + match(input,EOF,FOLLOW_2); } @@ -8159,7 +7243,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleManyMultiplicity" - // InternalSolverLanguage.g:2818:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= '[' otherlv_2= ']' ) ; + // InternalSolverLanguageParser.g:2785:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; public final EObject ruleManyMultiplicity() throws RecognitionException { EObject current = null; @@ -8170,48 +7254,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2824:2: ( ( () otherlv_1= '[' otherlv_2= ']' ) ) - // InternalSolverLanguage.g:2825:2: ( () otherlv_1= '[' otherlv_2= ']' ) + // InternalSolverLanguageParser.g:2791:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) { - // InternalSolverLanguage.g:2825:2: ( () otherlv_1= '[' otherlv_2= ']' ) - // InternalSolverLanguage.g:2826:3: () otherlv_1= '[' otherlv_2= ']' + // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:2793:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket { - // InternalSolverLanguage.g:2826:3: () - // InternalSolverLanguage.g:2827:4: + // InternalSolverLanguageParser.g:2793:3: () + // InternalSolverLanguageParser.g:2794:4: { - if ( state.backtracking==0 ) { - current = forceCreateModelElement( - grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), - current); - - } + current = forceCreateModelElement( + grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), + current); + } - otherlv_1=(Token)match(input,36,FOLLOW_38); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_36); - newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); - - } - otherlv_2=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); + + otherlv_2=(Token)match(input,RightSquareBracket,FOLLOW_2); - newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); - - } + newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -8226,7 +7302,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExactMultiplicity" - // InternalSolverLanguage.g:2845:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; + // InternalSolverLanguageParser.g:2812:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; public final EObject entryRuleExactMultiplicity() throws RecognitionException { EObject current = null; @@ -8234,21 +7310,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2845:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) - // InternalSolverLanguage.g:2846:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF + // InternalSolverLanguageParser.g:2812:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) + // InternalSolverLanguageParser.g:2813:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExactMultiplicityRule()); - } + newCompositeNode(grammarAccess.getExactMultiplicityRule()); pushFollow(FOLLOW_1); iv_ruleExactMultiplicity=ruleExactMultiplicity(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleExactMultiplicity; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleExactMultiplicity; + match(input,EOF,FOLLOW_2); } @@ -8266,7 +7338,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExactMultiplicity" - // InternalSolverLanguage.g:2852:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) ; + // InternalSolverLanguageParser.g:2819:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ; public final EObject ruleExactMultiplicity() throws RecognitionException { EObject current = null; @@ -8279,70 +7351,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2858:2: ( (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) ) - // InternalSolverLanguage.g:2859:2: (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) + // InternalSolverLanguageParser.g:2825:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) { - // InternalSolverLanguage.g:2859:2: (otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' ) - // InternalSolverLanguage.g:2860:3: otherlv_0= '[' ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= ']' + // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:2827:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket { - otherlv_0=(Token)match(input,36,FOLLOW_46); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_44); - newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); - - } - // InternalSolverLanguage.g:2864:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) - // InternalSolverLanguage.g:2865:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) + newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); + + // InternalSolverLanguageParser.g:2831:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) + // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) { - // InternalSolverLanguage.g:2865:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) - // InternalSolverLanguage.g:2866:5: lv_multiplicity_1_0= ruleUpperMultiplicty + // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:2833:5: lv_multiplicity_1_0= ruleUpperMultiplicty { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); - - } - pushFollow(FOLLOW_38); + newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); + + pushFollow(FOLLOW_36); lv_multiplicity_1_0=ruleUpperMultiplicty(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); - } - set( - current, - "multiplicity", - lv_multiplicity_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); + } + set( + current, + "multiplicity", + lv_multiplicity_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + } } - otherlv_2=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,RightSquareBracket,FOLLOW_2); - newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); - - } + newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -8357,7 +7419,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleBoundedMultiplicity" - // InternalSolverLanguage.g:2891:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; + // InternalSolverLanguageParser.g:2858:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { EObject current = null; @@ -8365,21 +7427,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2891:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) - // InternalSolverLanguage.g:2892:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF + // InternalSolverLanguageParser.g:2858:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) + // InternalSolverLanguageParser.g:2859:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); - } + newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); pushFollow(FOLLOW_1); iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleBoundedMultiplicity; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleBoundedMultiplicity; + match(input,EOF,FOLLOW_2); } @@ -8397,7 +7455,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleBoundedMultiplicity" - // InternalSolverLanguage.g:2898:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) ; + // 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 ) ; public final EObject ruleBoundedMultiplicity() throws RecognitionException { EObject current = null; @@ -8412,106 +7470,90 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2904:2: ( (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) ) - // InternalSolverLanguage.g:2905:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) + // InternalSolverLanguageParser.g:2871:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) { - // InternalSolverLanguage.g:2905:2: (otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' ) - // InternalSolverLanguage.g:2906:3: otherlv_0= '[' ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '..' ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= ']' + // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) + // InternalSolverLanguageParser.g:2873:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket { - otherlv_0=(Token)match(input,36,FOLLOW_47); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_45); - newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); - - } - // InternalSolverLanguage.g:2910:3: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguage.g:2911:4: (lv_lowerBound_1_0= RULE_INT ) + newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); + + // InternalSolverLanguageParser.g:2877:3: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) { - // InternalSolverLanguage.g:2911:4: (lv_lowerBound_1_0= RULE_INT ) - // InternalSolverLanguage.g:2912:5: lv_lowerBound_1_0= RULE_INT + // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:2879:5: lv_lowerBound_1_0= RULE_INT { - lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_37); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_35); - newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getBoundedMultiplicityRule()); - } - setWithLastConsumed( - current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.xtext.common.Terminals.INT"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getBoundedMultiplicityRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } } - otherlv_2=(Token)match(input,37,FOLLOW_46); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_44); - newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); - - } - // InternalSolverLanguage.g:2932:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) - // InternalSolverLanguage.g:2933:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); + + // InternalSolverLanguageParser.g:2899:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) + // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) { - // InternalSolverLanguage.g:2933:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) - // InternalSolverLanguage.g:2934:5: lv_upperBound_3_0= ruleUpperMultiplicty + // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:2901:5: lv_upperBound_3_0= ruleUpperMultiplicty { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); - - } - pushFollow(FOLLOW_38); + newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); + + pushFollow(FOLLOW_36); lv_upperBound_3_0=ruleUpperMultiplicty(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule()); - } - set( - current, - "upperBound", - lv_upperBound_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule()); + } + set( + current, + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + } } - otherlv_4=(Token)match(input,38,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_4=(Token)match(input,RightSquareBracket,FOLLOW_2); - newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); - - } + newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -8526,7 +7568,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleScopeDefinition" - // InternalSolverLanguage.g:2959:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; + // InternalSolverLanguageParser.g:2926:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; public final EObject entryRuleScopeDefinition() throws RecognitionException { EObject current = null; @@ -8534,21 +7576,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2959:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) - // InternalSolverLanguage.g:2960:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF + // InternalSolverLanguageParser.g:2926:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) + // InternalSolverLanguageParser.g:2927:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getScopeDefinitionRule()); - } + newCompositeNode(grammarAccess.getScopeDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleScopeDefinition=ruleScopeDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleScopeDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleScopeDefinition; + match(input,EOF,FOLLOW_2); } @@ -8566,7 +7604,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleScopeDefinition" - // InternalSolverLanguage.g:2966:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ; + // InternalSolverLanguageParser.g:2933:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ; public final EObject ruleScopeDefinition() throws RecognitionException { EObject current = null; @@ -8581,76 +7619,64 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2972:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) - // InternalSolverLanguage.g:2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) + // InternalSolverLanguageParser.g:2939:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) + // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) { - // InternalSolverLanguage.g:2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) - int alt36=3; - alt36 = dfa36.predict(input); - switch (alt36) { + // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) + int alt35=3; + alt35 = dfa35.predict(input); + switch (alt35) { case 1 : - // InternalSolverLanguage.g:2974:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition + // InternalSolverLanguageParser.g:2941:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); - - } + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); + pushFollow(FOLLOW_2); this_ExactScopeDefinition_0=ruleExactScopeDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_ExactScopeDefinition_0; - afterParserOrEnumRuleCall(); - - } + + current = this_ExactScopeDefinition_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguage.g:2983:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition + // InternalSolverLanguageParser.g:2950:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); - - } + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); + pushFollow(FOLLOW_2); this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_BoundedScopeDefinition_1; - afterParserOrEnumRuleCall(); - - } + + current = this_BoundedScopeDefinition_1; + afterParserOrEnumRuleCall(); + } break; case 3 : - // InternalSolverLanguage.g:2992:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition + // InternalSolverLanguageParser.g:2959:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); - - } + newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); + pushFollow(FOLLOW_2); this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current = this_LowerBoundedScopeDefinition_2; - afterParserOrEnumRuleCall(); - - } + + current = this_LowerBoundedScopeDefinition_2; + afterParserOrEnumRuleCall(); + } break; @@ -8660,11 +7686,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -8679,7 +7703,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExactScopeDefinition" - // InternalSolverLanguage.g:3004:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; + // InternalSolverLanguageParser.g:2971:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; public final EObject entryRuleExactScopeDefinition() throws RecognitionException { EObject current = null; @@ -8687,21 +7711,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:3004:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) - // InternalSolverLanguage.g:3005:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF + // InternalSolverLanguageParser.g:2971:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) + // InternalSolverLanguageParser.g:2972:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); - } + newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleExactScopeDefinition=ruleExactScopeDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleExactScopeDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleExactScopeDefinition; + match(input,EOF,FOLLOW_2); } @@ -8719,7 +7739,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExactScopeDefinition" - // InternalSolverLanguage.g:3011:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) ; + // InternalSolverLanguageParser.g:2978:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ; public final EObject ruleExactScopeDefinition() throws RecognitionException { EObject current = null; @@ -8731,82 +7751,68 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3017:2: ( (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) ) - // InternalSolverLanguage.g:3018:2: (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:2984:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ) + // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) { - // InternalSolverLanguage.g:3018:2: (otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) ) - // InternalSolverLanguage.g:3019:3: otherlv_0= 'scope' ( ( ruleQualifiedName ) ) otherlv_2= '==' ( (lv_exactScope_3_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:2986:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) { - otherlv_0=(Token)match(input,46,FOLLOW_35); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,Scope,FOLLOW_8); - newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); - - } - // InternalSolverLanguage.g:3023:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:3024:4: ( ruleQualifiedName ) + newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); + + // InternalSolverLanguageParser.g:2990:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:3024:4: ( ruleQualifiedName ) - // InternalSolverLanguage.g:3025:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2992:5: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + } + - newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); - - } - pushFollow(FOLLOW_48); + newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + + pushFollow(FOLLOW_46); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } } - otherlv_2=(Token)match(input,47,FOLLOW_47); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_45); - newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); - - } - // InternalSolverLanguage.g:3043:3: ( (lv_exactScope_3_0= RULE_INT ) ) - // InternalSolverLanguage.g:3044:4: (lv_exactScope_3_0= RULE_INT ) + newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); + + // InternalSolverLanguageParser.g:3010:3: ( (lv_exactScope_3_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) { - // InternalSolverLanguage.g:3044:4: (lv_exactScope_3_0= RULE_INT ) - // InternalSolverLanguage.g:3045:5: lv_exactScope_3_0= RULE_INT + // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) + // InternalSolverLanguageParser.g:3012:5: lv_exactScope_3_0= RULE_INT { - lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); - newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); - } - setWithLastConsumed( - current, - "exactScope", - lv_exactScope_3_0, - "org.eclipse.xtext.common.Terminals.INT"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "exactScope", + lv_exactScope_3_0, + "org.eclipse.xtext.common.Terminals.INT"); + } @@ -8819,11 +7825,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -8838,7 +7842,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleBoundedScopeDefinition" - // InternalSolverLanguage.g:3065:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; + // InternalSolverLanguageParser.g:3032:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException { EObject current = null; @@ -8846,21 +7850,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:3065:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) - // InternalSolverLanguage.g:3066:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF + // InternalSolverLanguageParser.g:3032:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) + // InternalSolverLanguageParser.g:3033:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); - } + newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleBoundedScopeDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleBoundedScopeDefinition; + match(input,EOF,FOLLOW_2); } @@ -8878,7 +7878,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleBoundedScopeDefinition" - // InternalSolverLanguage.g:3072:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' ) ; + // 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 ) ) )? ) ) ) ; public final EObject ruleBoundedScopeDefinition() throws RecognitionException { EObject current = null; @@ -8891,179 +7891,156 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { Token otherlv_7=null; Token otherlv_9=null; Token lv_lowerBound_10_0=null; - Token otherlv_11=null; enterRule(); try { - // InternalSolverLanguage.g:3078:2: ( (otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' ) ) - // InternalSolverLanguage.g:3079:2: (otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' ) + // 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 ) ) )? ) ) ) ) + // 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 ) ) )? ) ) ) { - // InternalSolverLanguage.g:3079:2: (otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' ) - // InternalSolverLanguage.g:3080:3: otherlv_0= 'scope' ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) otherlv_11= '.' + // 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 ) ) )? ) ) ) + // 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 ) ) )? ) ) { - otherlv_0=(Token)match(input,46,FOLLOW_49); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,Scope,FOLLOW_47); - newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); - - } - // InternalSolverLanguage.g:3084:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) - int alt39=2; - int LA39_0 = input.LA(1); + newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); + + // 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 ) ) )? ) ) + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA39_0==RULE_INT) ) { - int LA39_1 = input.LA(2); + if ( (LA38_0==RULE_INT) ) { + int LA38_1 = input.LA(2); - if ( (LA39_1==49) ) { - alt39=2; + if ( (LA38_1==GreaterThanSignEqualsSign) ) { + alt38=2; } - else if ( (LA39_1==48) ) { - alt39=1; + else if ( (LA38_1==LessThanSignEqualsSign) ) { + alt38=1; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 39, 1, input); + new NoViableAltException("", 38, 1, input); throw nvae; } } - else if ( (LA39_0==RULE_ID||LA39_0==RULE_QUOTED_ID) ) { - alt39=1; + else if ( (LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) { + alt38=1; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 39, 0, input); + new NoViableAltException("", 38, 0, input); throw nvae; } - switch (alt39) { + switch (alt38) { case 1 : - // InternalSolverLanguage.g:3085:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) { - // InternalSolverLanguage.g:3085:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) ) - // InternalSolverLanguage.g:3086:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? ( ( ruleQualifiedName ) ) otherlv_4= '<=' ( (lv_upperBound_5_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) { - // InternalSolverLanguage.g:3086:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' )? - int alt37=2; - int LA37_0 = input.LA(1); + // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA37_0==RULE_INT) ) { - alt37=1; + if ( (LA36_0==RULE_INT) ) { + alt36=1; } - switch (alt37) { + switch (alt36) { case 1 : - // InternalSolverLanguage.g:3087:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' + // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign { - // InternalSolverLanguage.g:3087:6: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguage.g:3088:7: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) { - // InternalSolverLanguage.g:3088:7: (lv_lowerBound_1_0= RULE_INT ) - // InternalSolverLanguage.g:3089:8: lv_lowerBound_1_0= RULE_INT + // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3056:8: lv_lowerBound_1_0= RULE_INT { - lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_50); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); - newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); - - } - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.xtext.common.Terminals.INT"); - - } + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } } - otherlv_2=(Token)match(input,48,FOLLOW_35); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_8); - newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); - - } + newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); + } break; } - // InternalSolverLanguage.g:3110:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:3111:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3077:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:3111:6: ( ruleQualifiedName ) - // InternalSolverLanguage.g:3112:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3079:7: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + - newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); - - } - pushFollow(FOLLOW_50); + newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); + + pushFollow(FOLLOW_48); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } } - otherlv_4=(Token)match(input,48,FOLLOW_47); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_45); - newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); - - } - // InternalSolverLanguage.g:3130:5: ( (lv_upperBound_5_0= RULE_INT ) ) - // InternalSolverLanguage.g:3131:6: (lv_upperBound_5_0= RULE_INT ) + newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); + + // InternalSolverLanguageParser.g:3097:5: ( (lv_upperBound_5_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) { - // InternalSolverLanguage.g:3131:6: (lv_upperBound_5_0= RULE_INT ) - // InternalSolverLanguage.g:3132:7: lv_upperBound_5_0= RULE_INT + // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) + // InternalSolverLanguageParser.g:3099:7: lv_upperBound_5_0= RULE_INT { - lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2); - newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - current, - "upperBound", - lv_upperBound_5_0, - "org.eclipse.xtext.common.Terminals.INT"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "upperBound", + lv_upperBound_5_0, + "org.eclipse.xtext.common.Terminals.INT"); + } @@ -9077,122 +8054,104 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3150:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) + // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) { - // InternalSolverLanguage.g:3150:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) - // InternalSolverLanguage.g:3151:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= '>=' ( ( ruleQualifiedName ) ) (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? + // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) + // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? { - // InternalSolverLanguage.g:3151:5: ( (lv_upperBound_6_0= RULE_INT ) ) - // InternalSolverLanguage.g:3152:6: (lv_upperBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) { - // InternalSolverLanguage.g:3152:6: (lv_upperBound_6_0= RULE_INT ) - // InternalSolverLanguage.g:3153:7: lv_upperBound_6_0= RULE_INT + // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:3120:7: lv_upperBound_6_0= RULE_INT { - lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_51); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_49); - newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - current, - "upperBound", - lv_upperBound_6_0, - "org.eclipse.xtext.common.Terminals.INT"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "upperBound", + lv_upperBound_6_0, + "org.eclipse.xtext.common.Terminals.INT"); + } } - otherlv_7=(Token)match(input,49,FOLLOW_35); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_7=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_8); - newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); - - } - // InternalSolverLanguage.g:3173:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:3174:6: ( ruleQualifiedName ) + newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + + // InternalSolverLanguageParser.g:3140:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:3174:6: ( ruleQualifiedName ) - // InternalSolverLanguage.g:3175:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3142:7: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + - newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); - - } - pushFollow(FOLLOW_52); + newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); + + pushFollow(FOLLOW_50); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:3189:5: (otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) )? - int alt38=2; - int LA38_0 = input.LA(1); + // InternalSolverLanguageParser.g:3156:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA38_0==49) ) { - alt38=1; + if ( (LA37_0==GreaterThanSignEqualsSign) ) { + alt37=1; } - switch (alt38) { + switch (alt37) { case 1 : - // InternalSolverLanguage.g:3190:6: otherlv_9= '>=' ( (lv_lowerBound_10_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3157:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) { - otherlv_9=(Token)match(input,49,FOLLOW_47); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); - newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); - - } - // InternalSolverLanguage.g:3194:6: ( (lv_lowerBound_10_0= RULE_INT ) ) - // InternalSolverLanguage.g:3195:7: (lv_lowerBound_10_0= RULE_INT ) + newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); + + // InternalSolverLanguageParser.g:3161:6: ( (lv_lowerBound_10_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) { - // InternalSolverLanguage.g:3195:7: (lv_lowerBound_10_0= RULE_INT ) - // InternalSolverLanguage.g:3196:8: lv_lowerBound_10_0= RULE_INT + // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) + // InternalSolverLanguageParser.g:3163:8: lv_lowerBound_10_0= RULE_INT { - lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2); - newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); - - } - if ( state.backtracking==0 ) { - - if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - current, - "lowerBound", - lv_lowerBound_10_0, - "org.eclipse.xtext.common.Terminals.INT"); - - } + newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_10_0, + "org.eclipse.xtext.common.Terminals.INT"); + } @@ -9214,23 +8173,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_11=(Token)match(input,22,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { - - newLeafNode(otherlv_11, grammarAccess.getBoundedScopeDefinitionAccess().getFullStopKeyword_2()); - - } } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -9245,7 +8196,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLowerBoundedScopeDefinition" - // InternalSolverLanguage.g:3223:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; + // InternalSolverLanguageParser.g:3186:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException { EObject current = null; @@ -9253,21 +8204,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:3223:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) - // InternalSolverLanguage.g:3224:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF + // InternalSolverLanguageParser.g:3186:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) + // InternalSolverLanguageParser.g:3187:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleLowerBoundedScopeDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleLowerBoundedScopeDefinition; + match(input,EOF,FOLLOW_2); } @@ -9285,7 +8232,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLowerBoundedScopeDefinition" - // InternalSolverLanguage.g:3230:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' ) ; + // 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 ) ) ) ) ) ; public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException { EObject current = null; @@ -9294,112 +8241,96 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { Token otherlv_2=null; Token otherlv_5=null; Token lv_lowerBound_6_0=null; - Token otherlv_7=null; enterRule(); try { - // InternalSolverLanguage.g:3236:2: ( (otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' ) ) - // InternalSolverLanguage.g:3237:2: (otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' ) + // 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 ) ) ) ) ) ) + // 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 ) ) ) ) ) { - // InternalSolverLanguage.g:3237:2: (otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' ) - // InternalSolverLanguage.g:3238:3: otherlv_0= 'scope' ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) otherlv_7= '.' + // 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 ) ) ) ) ) + // 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 ) ) ) ) { - otherlv_0=(Token)match(input,46,FOLLOW_49); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_0=(Token)match(input,Scope,FOLLOW_47); - newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); - - } - // InternalSolverLanguage.g:3242:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) - int alt40=2; - int LA40_0 = input.LA(1); + newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); + + // InternalSolverLanguageParser.g:3205:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA40_0==RULE_INT) ) { - alt40=1; + if ( (LA39_0==RULE_INT) ) { + alt39=1; } - else if ( (LA40_0==RULE_ID||LA40_0==RULE_QUOTED_ID) ) { - alt40=2; + else if ( (LA39_0==RULE_QUOTED_ID||LA39_0==RULE_ID) ) { + alt39=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 40, 0, input); + new NoViableAltException("", 39, 0, input); throw nvae; } - switch (alt40) { + switch (alt39) { case 1 : - // InternalSolverLanguage.g:3243:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) { - // InternalSolverLanguage.g:3243:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) ) - // InternalSolverLanguage.g:3244:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= '<=' ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) { - // InternalSolverLanguage.g:3244:5: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguage.g:3245:6: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) { - // InternalSolverLanguage.g:3245:6: (lv_lowerBound_1_0= RULE_INT ) - // InternalSolverLanguage.g:3246:7: lv_lowerBound_1_0= RULE_INT + // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3209:7: lv_lowerBound_1_0= RULE_INT { - lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_50); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); - newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.xtext.common.Terminals.INT"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } } - otherlv_2=(Token)match(input,48,FOLLOW_35); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_8); - newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); - - } - // InternalSolverLanguage.g:3266:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:3267:6: ( ruleQualifiedName ) + newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); + + // InternalSolverLanguageParser.g:3229:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:3267:6: ( ruleQualifiedName ) - // InternalSolverLanguage.g:3268:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3231:7: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); - - } - pushFollow(FOLLOW_12); + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); + + pushFollow(FOLLOW_2); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } @@ -9413,75 +8344,63 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3284:4: ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) { - // InternalSolverLanguage.g:3284:4: ( ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) ) - // InternalSolverLanguage.g:3285:5: ( ( ruleQualifiedName ) ) otherlv_5= '>=' ( (lv_lowerBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) { - // InternalSolverLanguage.g:3285:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguage.g:3286:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) { - // InternalSolverLanguage.g:3286:6: ( ruleQualifiedName ) - // InternalSolverLanguage.g:3287:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3250:7: ruleQualifiedName { - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } - - } - if ( state.backtracking==0 ) { + if (current==null) { + current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); - - } - pushFollow(FOLLOW_51); + newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); + + pushFollow(FOLLOW_49); ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - - } + + afterParserOrEnumRuleCall(); + } } - otherlv_5=(Token)match(input,49,FOLLOW_47); if (state.failed) return current; - if ( state.backtracking==0 ) { + otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); - newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); - - } - // InternalSolverLanguage.g:3305:5: ( (lv_lowerBound_6_0= RULE_INT ) ) - // InternalSolverLanguage.g:3306:6: (lv_lowerBound_6_0= RULE_INT ) + newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + + // InternalSolverLanguageParser.g:3268:5: ( (lv_lowerBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) { - // InternalSolverLanguage.g:3306:6: (lv_lowerBound_6_0= RULE_INT ) - // InternalSolverLanguage.g:3307:7: lv_lowerBound_6_0= RULE_INT + // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:3270:7: lv_lowerBound_6_0= RULE_INT { - lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_12); if (state.failed) return current; - if ( state.backtracking==0 ) { + lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2); - newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); - - } - if ( state.backtracking==0 ) { + newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); + - if (current==null) { - current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); - } - setWithLastConsumed( - current, - "lowerBound", - lv_lowerBound_6_0, - "org.eclipse.xtext.common.Terminals.INT"); - - } + if (current==null) { + current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_6_0, + "org.eclipse.xtext.common.Terminals.INT"); + } @@ -9497,23 +8416,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_7=(Token)match(input,22,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { - - newLeafNode(otherlv_7, grammarAccess.getLowerBoundedScopeDefinitionAccess().getFullStopKeyword_2()); - - } } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -9528,7 +8439,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleObjectiveDefinition" - // InternalSolverLanguage.g:3333:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; + // InternalSolverLanguageParser.g:3292:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; public final EObject entryRuleObjectiveDefinition() throws RecognitionException { EObject current = null; @@ -9536,21 +8447,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:3333:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) - // InternalSolverLanguage.g:3334:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF + // InternalSolverLanguageParser.g:3292:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) + // InternalSolverLanguageParser.g:3293:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); - } + newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); pushFollow(FOLLOW_1); iv_ruleObjectiveDefinition=ruleObjectiveDefinition(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleObjectiveDefinition; - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleObjectiveDefinition; + match(input,EOF,FOLLOW_2); } @@ -9568,7 +8475,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleObjectiveDefinition" - // InternalSolverLanguage.g:3340:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ; + // InternalSolverLanguageParser.g:3299:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ; public final EObject ruleObjectiveDefinition() throws RecognitionException { EObject current = null; @@ -9581,76 +8488,68 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3346:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) - // InternalSolverLanguage.g:3347:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:3305:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) { - // InternalSolverLanguage.g:3347:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) - // InternalSolverLanguage.g:3348:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) { - // InternalSolverLanguage.g:3348:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) - // InternalSolverLanguage.g:3349:4: (lv_kind_0_0= ruleObjectiveKind ) + // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) + // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) { - // InternalSolverLanguage.g:3349:4: (lv_kind_0_0= ruleObjectiveKind ) - // InternalSolverLanguage.g:3350:5: lv_kind_0_0= ruleObjectiveKind + // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) + // InternalSolverLanguageParser.g:3309:5: lv_kind_0_0= ruleObjectiveKind { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); - - } + newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); + pushFollow(FOLLOW_6); lv_kind_0_0=ruleObjectiveKind(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); - } - set( - current, - "kind", - lv_kind_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + } + set( + current, + "kind", + lv_kind_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); + afterParserOrEnumRuleCall(); + } } - // InternalSolverLanguage.g:3367:3: ( (lv_objective_1_0= ruleExpression ) ) - // InternalSolverLanguage.g:3368:4: (lv_objective_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:3326:3: ( (lv_objective_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) { - // InternalSolverLanguage.g:3368:4: (lv_objective_1_0= ruleExpression ) - // InternalSolverLanguage.g:3369:5: lv_objective_1_0= ruleExpression + // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:3328:5: lv_objective_1_0= ruleExpression { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); - - } + newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); + pushFollow(FOLLOW_2); lv_objective_1_0=ruleExpression(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); - } - set( - current, - "objective", - lv_objective_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + + if (current==null) { + current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + } + set( + current, + "objective", + lv_objective_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } @@ -9663,11 +8562,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -9682,7 +8579,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleUpperMultiplicty" - // InternalSolverLanguage.g:3390:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; + // InternalSolverLanguageParser.g:3349:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; public final String entryRuleUpperMultiplicty() throws RecognitionException { String current = null; @@ -9690,21 +8587,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:3390:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) - // InternalSolverLanguage.g:3391:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF + // InternalSolverLanguageParser.g:3349:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) + // InternalSolverLanguageParser.g:3350:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getUpperMultiplictyRule()); - } + newCompositeNode(grammarAccess.getUpperMultiplictyRule()); pushFollow(FOLLOW_1); iv_ruleUpperMultiplicty=ruleUpperMultiplicty(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleUpperMultiplicty.getText(); - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleUpperMultiplicty.getText(); + match(input,EOF,FOLLOW_2); } @@ -9722,7 +8615,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUpperMultiplicty" - // InternalSolverLanguage.g:3397:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ; + // InternalSolverLanguageParser.g:3356:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -9733,54 +8626,47 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3403:2: ( (this_INT_0= RULE_INT | kw= '*' ) ) - // InternalSolverLanguage.g:3404:2: (this_INT_0= RULE_INT | kw= '*' ) + // InternalSolverLanguageParser.g:3362:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) + // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) { - // InternalSolverLanguage.g:3404:2: (this_INT_0= RULE_INT | kw= '*' ) - int alt41=2; - int LA41_0 = input.LA(1); + // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA41_0==RULE_INT) ) { - alt41=1; + if ( (LA40_0==RULE_INT) ) { + alt40=1; } - else if ( (LA41_0==35) ) { - alt41=2; + else if ( (LA40_0==Asterisk) ) { + alt40=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 41, 0, input); + new NoViableAltException("", 40, 0, input); throw nvae; } - switch (alt41) { + switch (alt40) { case 1 : - // InternalSolverLanguage.g:3405:3: this_INT_0= RULE_INT + // InternalSolverLanguageParser.g:3364:3: this_INT_0= RULE_INT { - this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); - current.merge(this_INT_0); - - } - if ( state.backtracking==0 ) { + current.merge(this_INT_0); + - newLeafNode(this_INT_0, grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); - - } + newLeafNode(this_INT_0, grammarAccess.getUpperMultiplictyAccess().getINTTerminalRuleCall_0()); + } break; case 2 : - // InternalSolverLanguage.g:3413:3: kw= '*' + // InternalSolverLanguageParser.g:3372:3: kw= Asterisk { - kw=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + kw=(Token)match(input,Asterisk,FOLLOW_2); - current.merge(kw); - newLeafNode(kw, grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); - - } + current.merge(kw); + newLeafNode(kw, grammarAccess.getUpperMultiplictyAccess().getAsteriskKeyword_1()); + } break; @@ -9790,11 +8676,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -9809,7 +8693,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleReal" - // InternalSolverLanguage.g:3422:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; + // InternalSolverLanguageParser.g:3381:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; public final String entryRuleReal() throws RecognitionException { String current = null; @@ -9820,21 +8704,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguage.g:3424:2: (iv_ruleReal= ruleReal EOF ) - // InternalSolverLanguage.g:3425:2: iv_ruleReal= ruleReal EOF + // InternalSolverLanguageParser.g:3383:2: (iv_ruleReal= ruleReal EOF ) + // InternalSolverLanguageParser.g:3384:2: iv_ruleReal= ruleReal EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getRealRule()); - } + newCompositeNode(grammarAccess.getRealRule()); pushFollow(FOLLOW_1); iv_ruleReal=ruleReal(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleReal.getText(); - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleReal.getText(); + match(input,EOF,FOLLOW_2); } @@ -9855,7 +8735,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleReal" - // InternalSolverLanguage.g:3434:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) ; + // InternalSolverLanguageParser.g:3393:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ; public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -9868,52 +8748,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguage.g:3441:2: ( (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) ) - // InternalSolverLanguage.g:3442:2: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) + // InternalSolverLanguageParser.g:3400:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ) + // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) { - // InternalSolverLanguage.g:3442:2: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) - // InternalSolverLanguage.g:3443:3: this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? + // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) + // InternalSolverLanguageParser.g:3402:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? { - this_INT_0=(Token)match(input,RULE_INT,FOLLOW_53); if (state.failed) return current; - if ( state.backtracking==0 ) { + this_INT_0=(Token)match(input,RULE_INT,FOLLOW_51); - current.merge(this_INT_0); - - } - if ( state.backtracking==0 ) { + current.merge(this_INT_0); + - newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); - - } - // InternalSolverLanguage.g:3450:3: (kw= '.' this_INT_2= RULE_INT )? - int alt42=2; - int LA42_0 = input.LA(1); + newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); + + // InternalSolverLanguageParser.g:3409:3: (kw= FullStop this_INT_2= RULE_INT )? + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA42_0==22) ) { - alt42=1; + if ( (LA41_0==FullStop) ) { + alt41=1; } - switch (alt42) { + switch (alt41) { case 1 : - // InternalSolverLanguage.g:3451:4: kw= '.' this_INT_2= RULE_INT + // InternalSolverLanguageParser.g:3410:4: kw= FullStop this_INT_2= RULE_INT { - kw=(Token)match(input,22,FOLLOW_47); if (state.failed) return current; - if ( state.backtracking==0 ) { + kw=(Token)match(input,FullStop,FOLLOW_45); - current.merge(kw); - newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); - - } - this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + current.merge(kw); + newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); + + this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2); - current.merge(this_INT_2); - - } - if ( state.backtracking==0 ) { + current.merge(this_INT_2); + - newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); - - } + newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); + } break; @@ -9926,11 +8796,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -9948,7 +8816,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleQualifiedName" - // InternalSolverLanguage.g:3471:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + // InternalSolverLanguageParser.g:3430:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; @@ -9959,21 +8827,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguage.g:3473:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) - // InternalSolverLanguage.g:3474:2: iv_ruleQualifiedName= ruleQualifiedName EOF + // InternalSolverLanguageParser.g:3432:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // InternalSolverLanguageParser.g:3433:2: iv_ruleQualifiedName= ruleQualifiedName EOF { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getQualifiedNameRule()); - } + newCompositeNode(grammarAccess.getQualifiedNameRule()); pushFollow(FOLLOW_1); iv_ruleQualifiedName=ruleQualifiedName(); state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - current =iv_ruleQualifiedName.getText(); - } - match(input,EOF,FOLLOW_2); if (state.failed) return current; + + current =iv_ruleQualifiedName.getText(); + match(input,EOF,FOLLOW_2); } @@ -9994,7 +8858,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleQualifiedName" - // InternalSolverLanguage.g:3483:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ; + // 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 ) ; public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10008,89 +8872,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguage.g:3490:2: ( ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) - // InternalSolverLanguage.g:3491:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) + // InternalSolverLanguageParser.g:3449:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) + // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) { - // InternalSolverLanguage.g:3491:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) - int alt44=2; - int LA44_0 = input.LA(1); + // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA44_0==RULE_ID) ) { - alt44=1; + if ( (LA43_0==RULE_ID) ) { + alt43=1; } - else if ( (LA44_0==RULE_QUOTED_ID) ) { - alt44=2; + else if ( (LA43_0==RULE_QUOTED_ID) ) { + alt43=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 44, 0, input); + new NoViableAltException("", 43, 0, input); throw nvae; } - switch (alt44) { + switch (alt43) { case 1 : - // InternalSolverLanguage.g:3492:3: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) + // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) { - // InternalSolverLanguage.g:3492:3: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) - // InternalSolverLanguage.g:3493:4: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* + // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) + // InternalSolverLanguageParser.g:3452:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* { - this_ID_0=(Token)match(input,RULE_ID,FOLLOW_53); if (state.failed) return current; - if ( state.backtracking==0 ) { + this_ID_0=(Token)match(input,RULE_ID,FOLLOW_51); - current.merge(this_ID_0); - - } - if ( state.backtracking==0 ) { + current.merge(this_ID_0); + - newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); - - } - // InternalSolverLanguage.g:3500:4: (kw= '.' this_ID_2= RULE_ID )* - loop43: + newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); + + // InternalSolverLanguageParser.g:3459:4: (kw= FullStop this_ID_2= RULE_ID )* + loop42: do { - int alt43=2; - int LA43_0 = input.LA(1); - - if ( (LA43_0==22) ) { - int LA43_2 = input.LA(2); - - if ( (LA43_2==RULE_ID) ) { - alt43=1; - } - + int alt42=2; + int LA42_0 = input.LA(1); + if ( (LA42_0==FullStop) ) { + alt42=1; } - switch (alt43) { + switch (alt42) { case 1 : - // InternalSolverLanguage.g:3501:5: kw= '.' this_ID_2= RULE_ID + // InternalSolverLanguageParser.g:3460:5: kw= FullStop this_ID_2= RULE_ID { - kw=(Token)match(input,22,FOLLOW_40); if (state.failed) return current; - if ( state.backtracking==0 ) { + kw=(Token)match(input,FullStop,FOLLOW_38); - current.merge(kw); - newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); - - } - this_ID_2=(Token)match(input,RULE_ID,FOLLOW_53); if (state.failed) return current; - if ( state.backtracking==0 ) { + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); + + this_ID_2=(Token)match(input,RULE_ID,FOLLOW_51); - current.merge(this_ID_2); - - } - if ( state.backtracking==0 ) { + current.merge(this_ID_2); + - newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); - - } + newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); + } break; default : - break loop43; + break loop42; } } while (true); @@ -10101,19 +8948,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3516:3: this_QUOTED_ID_3= RULE_QUOTED_ID + // InternalSolverLanguageParser.g:3475:3: this_QUOTED_ID_3= RULE_QUOTED_ID { - this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); - current.merge(this_QUOTED_ID_3); - - } - if ( state.backtracking==0 ) { + current.merge(this_QUOTED_ID_3); + - newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); - - } + newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); + } break; @@ -10123,11 +8966,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -10145,7 +8986,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMetricType" - // InternalSolverLanguage.g:3530:1: ruleMetricType returns [Enumerator current=null] : ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) ; + // InternalSolverLanguageParser.g:3489:1: ruleMetricType returns [Enumerator current=null] : ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ; public final Enumerator ruleMetricType() throws RecognitionException { Enumerator current = null; @@ -10156,40 +8997,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3536:2: ( ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) ) - // InternalSolverLanguage.g:3537:2: ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) + // InternalSolverLanguageParser.g:3495:2: ( ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ) + // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) { - // InternalSolverLanguage.g:3537:2: ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'real' ) ) - int alt45=2; - int LA45_0 = input.LA(1); + // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA45_0==50) ) { - alt45=1; + if ( (LA44_0==Int) ) { + alt44=1; } - else if ( (LA45_0==51) ) { - alt45=2; + else if ( (LA44_0==Real) ) { + alt44=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 45, 0, input); + new NoViableAltException("", 44, 0, input); throw nvae; } - switch (alt45) { + switch (alt44) { case 1 : - // InternalSolverLanguage.g:3538:3: (enumLiteral_0= 'int' ) + // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int ) { - // InternalSolverLanguage.g:3538:3: (enumLiteral_0= 'int' ) - // InternalSolverLanguage.g:3539:4: enumLiteral_0= 'int' + // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int ) + // InternalSolverLanguageParser.g:3498:4: enumLiteral_0= Int { - enumLiteral_0=(Token)match(input,50,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,Int,FOLLOW_2); - current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); - - } + current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); + } @@ -10197,18 +9035,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3546:3: (enumLiteral_1= 'real' ) + // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real ) { - // InternalSolverLanguage.g:3546:3: (enumLiteral_1= 'real' ) - // InternalSolverLanguage.g:3547:4: enumLiteral_1= 'real' + // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real ) + // InternalSolverLanguageParser.g:3506:4: enumLiteral_1= Real { - enumLiteral_1=(Token)match(input,51,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_1=(Token)match(input,Real,FOLLOW_2); - current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); - - } + current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1()); + } @@ -10221,11 +9057,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -10240,7 +9074,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleComparisonOperator" - // InternalSolverLanguage.g:3557:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) ; + // 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 ) ) ; public final Enumerator ruleComparisonOperator() throws RecognitionException { Enumerator current = null; @@ -10256,69 +9090,66 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3563:2: ( ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) ) - // InternalSolverLanguage.g:3564:2: ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) + // 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 ) ) ) + // 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 ) ) { - // InternalSolverLanguage.g:3564:2: ( (enumLiteral_0= '==' ) | (enumLiteral_1= '!=' ) | (enumLiteral_2= '<' ) | (enumLiteral_3= '<=' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '>=' ) | (enumLiteral_6= 'in' ) ) - int alt46=7; + // 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 ) ) + int alt45=7; switch ( input.LA(1) ) { - case 47: + case EqualsSignEqualsSign: { - alt46=1; + alt45=1; } break; - case 52: + case ExclamationMarkEqualsSign: { - alt46=2; + alt45=2; } break; - case 53: + case LessThanSign: { - alt46=3; + alt45=3; } break; - case 48: + case LessThanSignEqualsSign: { - alt46=4; + alt45=4; } break; - case 54: + case GreaterThanSign: { - alt46=5; + alt45=5; } break; - case 49: + case GreaterThanSignEqualsSign: { - alt46=6; + alt45=6; } break; - case 55: + case In: { - alt46=7; + alt45=7; } break; default: - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 46, 0, input); + new NoViableAltException("", 45, 0, input); throw nvae; } - switch (alt46) { + switch (alt45) { case 1 : - // InternalSolverLanguage.g:3565:3: (enumLiteral_0= '==' ) + // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) { - // InternalSolverLanguage.g:3565:3: (enumLiteral_0= '==' ) - // InternalSolverLanguage.g:3566:4: enumLiteral_0= '==' + // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) + // InternalSolverLanguageParser.g:3525:4: enumLiteral_0= EqualsSignEqualsSign { - enumLiteral_0=(Token)match(input,47,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); - - } + current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); + } @@ -10326,18 +9157,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3573:3: (enumLiteral_1= '!=' ) + // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) { - // InternalSolverLanguage.g:3573:3: (enumLiteral_1= '!=' ) - // InternalSolverLanguage.g:3574:4: enumLiteral_1= '!=' + // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) + // InternalSolverLanguageParser.g:3533:4: enumLiteral_1= ExclamationMarkEqualsSign { - enumLiteral_1=(Token)match(input,52,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); - - } + current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); + } @@ -10345,18 +9174,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:3581:3: (enumLiteral_2= '<' ) + // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) { - // InternalSolverLanguage.g:3581:3: (enumLiteral_2= '<' ) - // InternalSolverLanguage.g:3582:4: enumLiteral_2= '<' + // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) + // InternalSolverLanguageParser.g:3541:4: enumLiteral_2= LessThanSign { - enumLiteral_2=(Token)match(input,53,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); - - } + current = grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorAccess().getLESSEnumLiteralDeclaration_2()); + } @@ -10364,18 +9191,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguage.g:3589:3: (enumLiteral_3= '<=' ) + // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) { - // InternalSolverLanguage.g:3589:3: (enumLiteral_3= '<=' ) - // InternalSolverLanguage.g:3590:4: enumLiteral_3= '<=' + // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) + // InternalSolverLanguageParser.g:3549:4: enumLiteral_3= LessThanSignEqualsSign { - enumLiteral_3=(Token)match(input,48,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); - - } + current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); + } @@ -10383,18 +9208,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguage.g:3597:3: (enumLiteral_4= '>' ) + // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) { - // InternalSolverLanguage.g:3597:3: (enumLiteral_4= '>' ) - // InternalSolverLanguage.g:3598:4: enumLiteral_4= '>' + // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) + // InternalSolverLanguageParser.g:3557:4: enumLiteral_4= GreaterThanSign { - enumLiteral_4=(Token)match(input,54,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); - - } + current = grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4()); + } @@ -10402,18 +9225,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 6 : - // InternalSolverLanguage.g:3605:3: (enumLiteral_5= '>=' ) + // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) { - // InternalSolverLanguage.g:3605:3: (enumLiteral_5= '>=' ) - // InternalSolverLanguage.g:3606:4: enumLiteral_5= '>=' + // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) + // InternalSolverLanguageParser.g:3565:4: enumLiteral_5= GreaterThanSignEqualsSign { - enumLiteral_5=(Token)match(input,49,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); - - } + current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); + } @@ -10421,18 +9242,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 7 : - // InternalSolverLanguage.g:3613:3: (enumLiteral_6= 'in' ) + // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) { - // InternalSolverLanguage.g:3613:3: (enumLiteral_6= 'in' ) - // InternalSolverLanguage.g:3614:4: enumLiteral_6= 'in' + // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) + // InternalSolverLanguageParser.g:3573:4: enumLiteral_6= In { - enumLiteral_6=(Token)match(input,55,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_6=(Token)match(input,In,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_6, grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); - - } + current = grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_6, grammarAccess.getComparisonOperatorAccess().getINEnumLiteralDeclaration_6()); + } @@ -10445,11 +9264,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -10464,7 +9281,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAdditiveBinaryOperator" - // InternalSolverLanguage.g:3624:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ; + // InternalSolverLanguageParser.g:3583:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException { Enumerator current = null; @@ -10475,40 +9292,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3630:2: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ) - // InternalSolverLanguage.g:3631:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) + // InternalSolverLanguageParser.g:3589:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) + // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) { - // InternalSolverLanguage.g:3631:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) - int alt47=2; - int LA47_0 = input.LA(1); + // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA47_0==56) ) { - alt47=1; + if ( (LA46_0==PlusSign) ) { + alt46=1; } - else if ( (LA47_0==57) ) { - alt47=2; + else if ( (LA46_0==HyphenMinus) ) { + alt46=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 47, 0, input); + new NoViableAltException("", 46, 0, input); throw nvae; } - switch (alt47) { + switch (alt46) { case 1 : - // InternalSolverLanguage.g:3632:3: (enumLiteral_0= '+' ) + // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) { - // InternalSolverLanguage.g:3632:3: (enumLiteral_0= '+' ) - // InternalSolverLanguage.g:3633:4: enumLiteral_0= '+' + // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) + // InternalSolverLanguageParser.g:3592:4: enumLiteral_0= PlusSign { - enumLiteral_0=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2); - current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); - - } + current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); + } @@ -10516,18 +9330,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3640:3: (enumLiteral_1= '-' ) + // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) { - // InternalSolverLanguage.g:3640:3: (enumLiteral_1= '-' ) - // InternalSolverLanguage.g:3641:4: enumLiteral_1= '-' + // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) + // InternalSolverLanguageParser.g:3600:4: enumLiteral_1= HyphenMinus { - enumLiteral_1=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2); - current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); - - } + current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); + } @@ -10540,11 +9352,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -10559,7 +9369,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicativeBinaryOperator" - // InternalSolverLanguage.g:3651:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) ; + // InternalSolverLanguageParser.g:3610:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException { Enumerator current = null; @@ -10570,40 +9380,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3657:2: ( ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) ) - // InternalSolverLanguage.g:3658:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) + // InternalSolverLanguageParser.g:3616:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) + // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) { - // InternalSolverLanguage.g:3658:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) ) - int alt48=2; - int LA48_0 = input.LA(1); + // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA48_0==35) ) { - alt48=1; + if ( (LA47_0==Asterisk) ) { + alt47=1; } - else if ( (LA48_0==58) ) { - alt48=2; + else if ( (LA47_0==Solidus) ) { + alt47=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 48, 0, input); + new NoViableAltException("", 47, 0, input); throw nvae; } - switch (alt48) { + switch (alt47) { case 1 : - // InternalSolverLanguage.g:3659:3: (enumLiteral_0= '*' ) + // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) { - // InternalSolverLanguage.g:3659:3: (enumLiteral_0= '*' ) - // InternalSolverLanguage.g:3660:4: enumLiteral_0= '*' + // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) + // InternalSolverLanguageParser.g:3619:4: enumLiteral_0= Asterisk { - enumLiteral_0=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2); - current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); - - } + current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); + } @@ -10611,18 +9418,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3667:3: (enumLiteral_1= '/' ) + // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) { - // InternalSolverLanguage.g:3667:3: (enumLiteral_1= '/' ) - // InternalSolverLanguage.g:3668:4: enumLiteral_1= '/' + // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) + // InternalSolverLanguageParser.g:3627:4: enumLiteral_1= Solidus { - enumLiteral_1=(Token)match(input,58,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2); - current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); - - } + current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); + } @@ -10635,11 +9440,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -10654,7 +9457,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExponentialOp" - // InternalSolverLanguage.g:3678:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= '^' ) ; + // InternalSolverLanguageParser.g:3637:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; public final Enumerator ruleExponentialOp() throws RecognitionException { Enumerator current = null; @@ -10664,30 +9467,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3684:2: ( (enumLiteral_0= '^' ) ) - // InternalSolverLanguage.g:3685:2: (enumLiteral_0= '^' ) + // InternalSolverLanguageParser.g:3643:2: ( (enumLiteral_0= CircumflexAccent ) ) + // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) { - // InternalSolverLanguage.g:3685:2: (enumLiteral_0= '^' ) - // InternalSolverLanguage.g:3686:3: enumLiteral_0= '^' + // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) + // InternalSolverLanguageParser.g:3645:3: enumLiteral_0= CircumflexAccent { - enumLiteral_0=(Token)match(input,59,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2); - current = grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); - - } + current = grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getExponentialOpAccess().getPOWEnumLiteralDeclaration()); + } } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -10702,7 +9501,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUnaryOp" - // InternalSolverLanguage.g:3695:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) ; + // 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 ) ) ; public final Enumerator ruleUnaryOp() throws RecognitionException { Enumerator current = null; @@ -10717,64 +9516,61 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3701:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) ) - // InternalSolverLanguage.g:3702:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) + // InternalSolverLanguageParser.g:3660:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ) + // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) { - // InternalSolverLanguage.g:3702:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '+' ) | (enumLiteral_2= '-' ) | (enumLiteral_3= 'may' ) | (enumLiteral_4= 'must' ) | (enumLiteral_5= 'current' ) ) - int alt49=6; + // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) + int alt48=6; switch ( input.LA(1) ) { - case 60: + case ExclamationMark: { - alt49=1; + alt48=1; } break; - case 56: + case PlusSign: { - alt49=2; + alt48=2; } break; - case 57: + case HyphenMinus: { - alt49=3; + alt48=3; } break; - case 61: + case May: { - alt49=4; + alt48=4; } break; - case 62: + case Must: { - alt49=5; + alt48=5; } break; - case 63: + case Current: { - alt49=6; + alt48=6; } break; default: - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 49, 0, input); + new NoViableAltException("", 48, 0, input); throw nvae; } - switch (alt49) { + switch (alt48) { case 1 : - // InternalSolverLanguage.g:3703:3: (enumLiteral_0= '!' ) + // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) { - // InternalSolverLanguage.g:3703:3: (enumLiteral_0= '!' ) - // InternalSolverLanguage.g:3704:4: enumLiteral_0= '!' + // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) + // InternalSolverLanguageParser.g:3663:4: enumLiteral_0= ExclamationMark { - enumLiteral_0=(Token)match(input,60,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); - - } + current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); + } @@ -10782,18 +9578,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3711:3: (enumLiteral_1= '+' ) + // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) { - // InternalSolverLanguage.g:3711:3: (enumLiteral_1= '+' ) - // InternalSolverLanguage.g:3712:4: enumLiteral_1= '+' + // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) + // InternalSolverLanguageParser.g:3671:4: enumLiteral_1= PlusSign { - enumLiteral_1=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); - - } + current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); + } @@ -10801,18 +9595,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:3719:3: (enumLiteral_2= '-' ) + // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) { - // InternalSolverLanguage.g:3719:3: (enumLiteral_2= '-' ) - // InternalSolverLanguage.g:3720:4: enumLiteral_2= '-' + // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) + // InternalSolverLanguageParser.g:3679:4: enumLiteral_2= HyphenMinus { - enumLiteral_2=(Token)match(input,57,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); - - } + current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); + } @@ -10820,18 +9612,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguage.g:3727:3: (enumLiteral_3= 'may' ) + // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) { - // InternalSolverLanguage.g:3727:3: (enumLiteral_3= 'may' ) - // InternalSolverLanguage.g:3728:4: enumLiteral_3= 'may' + // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) + // InternalSolverLanguageParser.g:3687:4: enumLiteral_3= May { - enumLiteral_3=(Token)match(input,61,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_3=(Token)match(input,May,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); - - } + current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); + } @@ -10839,18 +9629,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguage.g:3735:3: (enumLiteral_4= 'must' ) + // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) { - // InternalSolverLanguage.g:3735:3: (enumLiteral_4= 'must' ) - // InternalSolverLanguage.g:3736:4: enumLiteral_4= 'must' + // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) + // InternalSolverLanguageParser.g:3695:4: enumLiteral_4= Must { - enumLiteral_4=(Token)match(input,62,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_4=(Token)match(input,Must,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); - - } + current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); + } @@ -10858,18 +9646,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 6 : - // InternalSolverLanguage.g:3743:3: (enumLiteral_5= 'current' ) + // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) { - // InternalSolverLanguage.g:3743:3: (enumLiteral_5= 'current' ) - // InternalSolverLanguage.g:3744:4: enumLiteral_5= 'current' + // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) + // InternalSolverLanguageParser.g:3703:4: enumLiteral_5= Current { - enumLiteral_5=(Token)match(input,63,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_5=(Token)match(input,Current,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); - - } + current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); + } @@ -10882,11 +9668,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -10901,7 +9685,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAggregationOp" - // InternalSolverLanguage.g:3754:1: ruleAggregationOp returns [Enumerator current=null] : ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) ; + // 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 ) ) ; public final Enumerator ruleAggregationOp() throws RecognitionException { Enumerator current = null; @@ -10916,64 +9700,61 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3760:2: ( ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) ) - // InternalSolverLanguage.g:3761:2: ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) + // InternalSolverLanguageParser.g:3719:2: ( ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ) + // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) { - // InternalSolverLanguage.g:3761:2: ( (enumLiteral_0= 'only' ) | (enumLiteral_1= 'sum' ) | (enumLiteral_2= 'prod' ) | (enumLiteral_3= 'avg' ) | (enumLiteral_4= 'min' ) | (enumLiteral_5= 'max' ) ) - int alt50=6; + // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) + int alt49=6; switch ( input.LA(1) ) { - case 64: + case Only: { - alt50=1; + alt49=1; } break; - case 65: + case Sum: { - alt50=2; + alt49=2; } break; - case 66: + case Prod: { - alt50=3; + alt49=3; } break; - case 67: + case Avg: { - alt50=4; + alt49=4; } break; - case 68: + case Min: { - alt50=5; + alt49=5; } break; - case 69: + case Max: { - alt50=6; + alt49=6; } break; default: - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 50, 0, input); + new NoViableAltException("", 49, 0, input); throw nvae; } - switch (alt50) { + switch (alt49) { case 1 : - // InternalSolverLanguage.g:3762:3: (enumLiteral_0= 'only' ) + // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) { - // InternalSolverLanguage.g:3762:3: (enumLiteral_0= 'only' ) - // InternalSolverLanguage.g:3763:4: enumLiteral_0= 'only' + // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) + // InternalSolverLanguageParser.g:3722:4: enumLiteral_0= Only { - enumLiteral_0=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,Only,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); - - } + current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); + } @@ -10981,18 +9762,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3770:3: (enumLiteral_1= 'sum' ) + // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) { - // InternalSolverLanguage.g:3770:3: (enumLiteral_1= 'sum' ) - // InternalSolverLanguage.g:3771:4: enumLiteral_1= 'sum' + // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) + // InternalSolverLanguageParser.g:3730:4: enumLiteral_1= Sum { - enumLiteral_1=(Token)match(input,65,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_1=(Token)match(input,Sum,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); - - } + current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); + } @@ -11000,18 +9779,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:3778:3: (enumLiteral_2= 'prod' ) + // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod ) { - // InternalSolverLanguage.g:3778:3: (enumLiteral_2= 'prod' ) - // InternalSolverLanguage.g:3779:4: enumLiteral_2= 'prod' + // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod ) + // InternalSolverLanguageParser.g:3738:4: enumLiteral_2= Prod { - enumLiteral_2=(Token)match(input,66,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_2=(Token)match(input,Prod,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); - - } + current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2()); + } @@ -11019,18 +9796,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguage.g:3786:3: (enumLiteral_3= 'avg' ) + // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg ) { - // InternalSolverLanguage.g:3786:3: (enumLiteral_3= 'avg' ) - // InternalSolverLanguage.g:3787:4: enumLiteral_3= 'avg' + // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg ) + // InternalSolverLanguageParser.g:3746:4: enumLiteral_3= Avg { - enumLiteral_3=(Token)match(input,67,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_3=(Token)match(input,Avg,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); - - } + current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); + } @@ -11038,18 +9813,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguage.g:3794:3: (enumLiteral_4= 'min' ) + // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min ) { - // InternalSolverLanguage.g:3794:3: (enumLiteral_4= 'min' ) - // InternalSolverLanguage.g:3795:4: enumLiteral_4= 'min' + // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min ) + // InternalSolverLanguageParser.g:3754:4: enumLiteral_4= Min { - enumLiteral_4=(Token)match(input,68,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_4=(Token)match(input,Min,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); - - } + current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); + } @@ -11057,18 +9830,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 6 : - // InternalSolverLanguage.g:3802:3: (enumLiteral_5= 'max' ) + // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max ) { - // InternalSolverLanguage.g:3802:3: (enumLiteral_5= 'max' ) - // InternalSolverLanguage.g:3803:4: enumLiteral_5= 'max' + // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max ) + // InternalSolverLanguageParser.g:3762:4: enumLiteral_5= Max { - enumLiteral_5=(Token)match(input,69,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_5=(Token)match(input,Max,FOLLOW_2); - current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); - - } + current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); + } @@ -11081,11 +9852,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -11100,7 +9869,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLogicValue" - // InternalSolverLanguage.g:3813:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) ; + // InternalSolverLanguageParser.g:3772:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ; public final Enumerator ruleLogicValue() throws RecognitionException { Enumerator current = null; @@ -11113,54 +9882,51 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3819:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) ) - // InternalSolverLanguage.g:3820:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) + // InternalSolverLanguageParser.g:3778:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ) + // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) { - // InternalSolverLanguage.g:3820:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) | (enumLiteral_3= 'error' ) ) - int alt51=4; + // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) + int alt50=4; switch ( input.LA(1) ) { - case 70: + case True: { - alt51=1; + alt50=1; } break; - case 71: + case False: { - alt51=2; + alt50=2; } break; - case 72: + case Unknown: { - alt51=3; + alt50=3; } break; - case 19: + case Error: { - alt51=4; + alt50=4; } break; default: - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 51, 0, input); + new NoViableAltException("", 50, 0, input); throw nvae; } - switch (alt51) { + switch (alt50) { case 1 : - // InternalSolverLanguage.g:3821:3: (enumLiteral_0= 'true' ) + // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) { - // InternalSolverLanguage.g:3821:3: (enumLiteral_0= 'true' ) - // InternalSolverLanguage.g:3822:4: enumLiteral_0= 'true' + // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) + // InternalSolverLanguageParser.g:3781:4: enumLiteral_0= True { - enumLiteral_0=(Token)match(input,70,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,True,FOLLOW_2); - current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); - - } + current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); + } @@ -11168,18 +9934,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3829:3: (enumLiteral_1= 'false' ) + // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) { - // InternalSolverLanguage.g:3829:3: (enumLiteral_1= 'false' ) - // InternalSolverLanguage.g:3830:4: enumLiteral_1= 'false' + // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) + // InternalSolverLanguageParser.g:3789:4: enumLiteral_1= False { - enumLiteral_1=(Token)match(input,71,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_1=(Token)match(input,False,FOLLOW_2); - current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); - - } + current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); + } @@ -11187,18 +9951,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:3837:3: (enumLiteral_2= 'unknown' ) + // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) { - // InternalSolverLanguage.g:3837:3: (enumLiteral_2= 'unknown' ) - // InternalSolverLanguage.g:3838:4: enumLiteral_2= 'unknown' + // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) + // InternalSolverLanguageParser.g:3797:4: enumLiteral_2= Unknown { - enumLiteral_2=(Token)match(input,72,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2); - current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); - - } + current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); + } @@ -11206,18 +9968,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguage.g:3845:3: (enumLiteral_3= 'error' ) + // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) { - // InternalSolverLanguage.g:3845:3: (enumLiteral_3= 'error' ) - // InternalSolverLanguage.g:3846:4: enumLiteral_3= 'error' + // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) + // InternalSolverLanguageParser.g:3805:4: enumLiteral_3= Error { - enumLiteral_3=(Token)match(input,19,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_3=(Token)match(input,Error,FOLLOW_2); - current = grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); - - } + current = grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getLogicValueAccess().getERROREnumLiteralDeclaration_3()); + } @@ -11230,11 +9990,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -11249,7 +10007,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleObjectiveKind" - // InternalSolverLanguage.g:3856:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) ; + // InternalSolverLanguageParser.g:3815:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; public final Enumerator ruleObjectiveKind() throws RecognitionException { Enumerator current = null; @@ -11260,40 +10018,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:3862:2: ( ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) ) - // InternalSolverLanguage.g:3863:2: ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) + // InternalSolverLanguageParser.g:3821:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) + // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) { - // InternalSolverLanguage.g:3863:2: ( (enumLiteral_0= 'minimize' ) | (enumLiteral_1= 'maximize' ) ) - int alt52=2; - int LA52_0 = input.LA(1); + // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) + int alt51=2; + int LA51_0 = input.LA(1); - if ( (LA52_0==73) ) { - alt52=1; + if ( (LA51_0==Minimize) ) { + alt51=1; } - else if ( (LA52_0==74) ) { - alt52=2; + else if ( (LA51_0==Maximize) ) { + alt51=2; } else { - if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 52, 0, input); + new NoViableAltException("", 51, 0, input); throw nvae; } - switch (alt52) { + switch (alt51) { case 1 : - // InternalSolverLanguage.g:3864:3: (enumLiteral_0= 'minimize' ) + // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) { - // InternalSolverLanguage.g:3864:3: (enumLiteral_0= 'minimize' ) - // InternalSolverLanguage.g:3865:4: enumLiteral_0= 'minimize' + // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) + // InternalSolverLanguageParser.g:3824:4: enumLiteral_0= Minimize { - enumLiteral_0=(Token)match(input,73,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2); - current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); - - } + current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); + } @@ -11301,18 +10056,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:3872:3: (enumLiteral_1= 'maximize' ) + // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) { - // InternalSolverLanguage.g:3872:3: (enumLiteral_1= 'maximize' ) - // InternalSolverLanguage.g:3873:4: enumLiteral_1= 'maximize' + // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) + // InternalSolverLanguageParser.g:3832:4: enumLiteral_1= Maximize { - enumLiteral_1=(Token)match(input,74,FOLLOW_2); if (state.failed) return current; - if ( state.backtracking==0 ) { + enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2); - current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); - - } + current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); + } @@ -11325,11 +10078,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - if ( state.backtracking==0 ) { - leaveRule(); + leaveRule(); - } } catch (RecognitionException re) { @@ -11346,20 +10097,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { protected DFA2 dfa2 = new DFA2(this); - protected DFA25 dfa25 = new DFA25(this); - protected DFA36 dfa36 = new DFA36(this); + protected DFA20 dfa20 = new DFA20(this); + protected DFA24 dfa24 = new DFA24(this); + protected DFA35 dfa35 = new DFA35(this); static final String dfa_1s = "\15\uffff"; - static final String dfa_2s = "\1\7\1\uffff\1\4\2\uffff\1\10\7\uffff"; - static final String dfa_3s = "\1\112\1\uffff\1\73\2\uffff\1\63\7\uffff"; - 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\7\1\5"; + static final String dfa_2s = "\1\5\1\uffff\1\5\2\uffff\1\36\7\uffff"; + static final String dfa_3s = "\1\123\1\uffff\1\122\2\uffff\1\122\7\uffff"; + 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"; static final String dfa_5s = "\15\uffff}>"; static final String[] dfa_6s = { - "\4\1\7\uffff\1\3\1\2\1\4\1\5\1\uffff\1\1\5\uffff\1\1\3\uffff\1\1\2\uffff\1\1\2\uffff\2\1\2\7\3\uffff\1\10\3\uffff\2\6\4\uffff\2\1\2\uffff\15\1\2\11", + "\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", "", - "\1\1\3\uffff\1\3\1\uffff\1\3\4\uffff\3\1\1\3\7\uffff\3\1\4\uffff\1\12\1\uffff\1\1\13\uffff\3\1\2\uffff\10\1", + "\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", "", "", - "\1\14\1\uffff\1\14\47\uffff\2\13", + "\1\14\11\uffff\1\14\44\uffff\1\13\4\uffff\1\13", "", "", "", @@ -11390,26 +10142,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { this.transition = dfa_6; } public String getDescription() { - return "116: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 )"; + 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 )"; } } static final String dfa_7s = "\12\uffff"; - static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\11\1\3\1\uffff"; - static final String dfa_9s = "\1\7\2\10\2\uffff\1\10\1\uffff\1\7\1\10\1\uffff"; - static final String dfa_10s = "\1\110\2\73\2\uffff\1\10\1\uffff\1\110\1\73\1\uffff"; - static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\2\uffff\1\4"; + static final String dfa_8s = "\1\uffff\2\10\6\uffff\1\10"; + static final String dfa_9s = "\1\20\2\32\3\uffff\1\122\2\uffff\1\32"; + static final String dfa_10s = "\1\123\2\121\3\uffff\1\122\2\uffff\1\121"; + static final String dfa_11s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff"; static final String dfa_12s = "\12\uffff}>"; static final String[] dfa_13s = { - "\1\3\1\1\1\3\1\2\10\uffff\1\3\11\uffff\1\3\3\uffff\1\3\1\uffff\1\4\1\3\2\uffff\2\3\17\uffff\2\3\2\uffff\15\3", - "\1\6\1\uffff\1\6\13\uffff\1\5\5\uffff\1\3\4\uffff\2\3\1\7\13\uffff\3\3\2\uffff\10\3", - "\1\6\1\uffff\1\6\21\uffff\1\3\4\uffff\2\3\1\7\13\uffff\3\3\2\uffff\10\3", + "\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", + "\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", + "\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", "", "", - "\1\10", "", - "\4\3\10\uffff\1\3\10\uffff\1\11\1\3\3\uffff\1\3\1\11\1\uffff\1\3\2\uffff\2\3\17\uffff\2\3\2\uffff\15\3", - "\1\6\1\uffff\1\6\13\uffff\1\5\5\uffff\1\3\4\uffff\2\3\1\7\13\uffff\3\3\2\uffff\10\3", - "" + "\1\11", + "", + "", + "\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" }; static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); @@ -11420,11 +10172,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); - class DFA25 extends DFA { + class DFA20 extends DFA { - public DFA25(BaseRecognizer recognizer) { + public DFA20(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 25; + this.decisionNumber = 20; this.eot = dfa_7; this.eof = dfa_8; this.min = dfa_9; @@ -11434,112 +10186,149 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { this.transition = dfa_13; } public String getDescription() { - return "1998:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; + 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 ) )"; + } + } + static final String dfa_14s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff"; + static final String dfa_15s = "\1\15\2\55\2\uffff\1\122\1\15\1\uffff\1\55\1\uffff"; + static final String dfa_16s = "\1\123\2\122\2\uffff\1\122\1\123\1\uffff\1\122\1\uffff"; + static final String dfa_17s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4"; + static final String[] dfa_18s = { + "\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", + "\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", + "\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", + "", + "", + "\1\10", + "\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", + "", + "\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", + "" + }; + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); + static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); + static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); + static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); + static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); + + class DFA24 extends DFA { + + public DFA24(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 24; + this.eot = dfa_7; + this.eof = dfa_14; + this.min = dfa_15; + this.max = dfa_16; + this.accept = dfa_17; + this.special = dfa_12; + this.transition = dfa_18; + } + public String getDescription() { + return "1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; } } - static final String dfa_14s = "\17\uffff"; - static final String dfa_15s = "\15\uffff\1\11\1\uffff"; - static final String dfa_16s = "\1\56\1\10\1\60\1\26\1\57\1\10\1\uffff\1\10\2\uffff\3\26\1\4\1\26"; - static final String dfa_17s = "\1\56\1\12\3\61\1\12\1\uffff\1\10\2\uffff\2\60\1\61\1\10\1\60"; - static final String dfa_18s = "\6\uffff\1\2\1\uffff\1\1\1\3\5\uffff"; - static final String dfa_19s = "\17\uffff}>"; - static final String[] dfa_20s = { + static final String dfa_19s = "\17\uffff"; + static final String dfa_20s = "\12\uffff\2\10\2\uffff\1\10"; + 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"; + 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"; + static final String dfa_23s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff"; + static final String dfa_24s = "\17\uffff}>"; + static final String[] dfa_25s = { "\1\1", - "\1\3\1\2\1\4", - "\1\5\1\6", - "\1\7\30\uffff\1\10\1\6\1\11", - "\1\10\1\6\1\11", - "\1\12\1\uffff\1\13", + "\1\4\4\uffff\1\3\1\2", + "\1\5\1\uffff\1\6", + "\1\6\1\11\1\10\13\uffff\1\7", + "\1\6\1\11\1\10", + "\1\13\4\uffff\1\12", "", "\1\14", "", "", - "\1\15\31\uffff\1\6", - "\1\11\31\uffff\1\6", - "\1\7\30\uffff\1\10\1\6\1\11", - "\1\11\3\uffff\1\16", - "\1\15\31\uffff\1\6" + "\1\6\15\uffff\1\15\21\uffff\1\10", + "\1\6\37\uffff\1\10", + "\1\6\1\11\1\10\13\uffff\1\7", + "\1\16", + "\1\6\15\uffff\1\15\21\uffff\1\10" }; - static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); - static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); - static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); - static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); - static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); - static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s); + static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); + static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); - class DFA36 extends DFA { + class DFA35 extends DFA { - public DFA36(BaseRecognizer recognizer) { + public DFA35(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 36; - this.eot = dfa_14; - this.eof = dfa_15; - this.min = dfa_16; - this.max = dfa_17; - this.accept = dfa_18; - this.special = dfa_19; - this.transition = dfa_20; + this.decisionNumber = 35; + this.eot = dfa_19; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; } public String getDescription() { - return "2973:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; + return "2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; } } public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0xF30C479220BC0782L,0x00000000000007FFL}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000038002L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0xF300019220880780L,0x00000000000001FFL}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000080500L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000000C0500L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000010000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000200000000L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000008000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000400000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000020000L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x000C000000000000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000002000000L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000000000C000002L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000004000002L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000008000000L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000010000002L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x00F3800000000002L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0300000000000002L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0400000800000002L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0800000000000002L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000019220080780L,0x00000000000001FFL}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000040000000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000100000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000200000002L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000200000060L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0xF300019E20880780L,0x00000000000001FFL}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000410000000L}); - public static final BitSet FOLLOW_34 = new BitSet(new long[]{0xF300019A20880780L,0x00000000000001FFL}); - public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000500L}); - public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000004000000000L}); - public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000080040000000L}); - public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000050000000L}); - public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000100080000500L}); - public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000001000000100L}); - public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000200004000002L}); - public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000800000200L}); - public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000200L}); - public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000800000000000L}); - public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000700L}); - public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0001000000000000L}); - public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0002000000400000L}); - public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000400002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x53401FC179FD6362L,0x00000000000C3040L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0001000000000002L,0x0000000000000012L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x53401EC138F12000L,0x00000000000C3040L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000400000L,0x0000000000042000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000042000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000020L,0x0000000000042000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000010040000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000004000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000400000000002L,0x0000000000000004L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x2000000000000002L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x008E200000000002L,0x0000000000000028L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x5000000000000002L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0800000000000002L,0x0000000000000001L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x02001AC130F10000L,0x00000000000C3040L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0200000000000000L,0x0000000000018000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x5F401EC138F12000L,0x00000000000C3040L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x2400000000000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x5B401EC138F12000L,0x00000000000C3040L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0800000000000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000200L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000080L,0x0000000000042800L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040040L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000402L,0x0000000000000004L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0800000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C2000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0008000000000002L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8000000000000002L}); } \ 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 new file mode 100644 index 00000000..81343db5 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens @@ -0,0 +1,83 @@ +'!'=56 +'!='=45 +'('=57 +')'=58 +'*'=59 +'+'=60 +','=61 +'-'=62 +'->'=46 +'.'=63 +'..'=47 +'/'=64 +':'=65 +':-'=48 +';'=66 +'<'=67 +'<='=49 +'='=68 +'=='=50 +'>'=69 +'>='=51 +'ADD'=33 +'DIV'=34 +'EQ'=52 +'GREATER'=11 +'GREATER_EQ'=4 +'IN'=53 +'LESS'=25 +'LESS_EQ'=12 +'MUL'=35 +'NOT_EQ'=17 +'POW'=36 +'SUB'=37 +'['=70 +']'=71 +'^'=72 +'abstract'=6 +'avg'=38 +'class'=19 +'contains'=7 +'count'=20 +'current'=13 +'default'=14 +'else'=26 +'empty'=21 +'error'=22 +'extends'=15 +'extern'=18 +'false'=23 +'functional'=5 +'if'=54 +'in'=55 +'inf'=39 +'int'=40 +'max'=41 +'maximize'=8 +'may'=42 +'min'=43 +'minimize'=9 +'must'=27 +'only'=28 +'opposite'=10 +'prod'=29 +'real'=30 +'scope'=24 +'sum'=44 +'then'=31 +'true'=32 +'unknown'=16 +'{'=73 +'|'=74 +'}'=75 +RULE_ANY_OTHER=86 +RULE_FULL_STOP=81 +RULE_ID=82 +RULE_INT=83 +RULE_ML_COMMENT=84 +RULE_QUOTED_ID=77 +RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 +RULE_SL_COMMENT=78 +RULE_STRING=76 +RULE_TRANSITIVE_CLOSURE=79 +RULE_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 new file mode 100644 index 00000000..1a29e53b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g @@ -0,0 +1,178 @@ +/* + * generated by Xtext 2.21.0 + */ +lexer grammar InternalSolverLanguageLexer; + +@header { +package org.eclipse.viatra.solver.language.parser.antlr.lexer; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.parser.antlr.Lexer; +} + +GREATER_EQ : 'GREATER_EQ'; + +Functional : 'functional'; + +Abstract : 'abstract'; + +Contains : 'contains'; + +Maximize : 'maximize'; + +Minimize : 'minimize'; + +Opposite : 'opposite'; + +GREATER : 'GREATER'; + +LESS_EQ : 'LESS_EQ'; + +Current : 'current'; + +Default : 'default'; + +Extends : 'extends'; + +Unknown : 'unknown'; + +NOT_EQ : 'NOT_EQ'; + +Extern : 'extern'; + +Class : 'class'; + +Count : 'count'; + +Empty : 'empty'; + +Error : 'error'; + +False : 'false'; + +Scope : 'scope'; + +LESS : 'LESS'; + +Else : 'else'; + +Must : 'must'; + +Only : 'only'; + +Prod : 'prod'; + +Real : 'real'; + +Then : 'then'; + +True : 'true'; + +ADD : 'ADD'; + +DIV : 'DIV'; + +MUL : 'MUL'; + +POW : 'POW'; + +SUB : 'SUB'; + +Avg : 'avg'; + +Inf : 'inf'; + +Int : 'int'; + +Max : 'max'; + +May : 'may'; + +Min : 'min'; + +Sum : 'sum'; + +ExclamationMarkEqualsSign : '!='; + +HyphenMinusGreaterThanSign : '->'; + +FullStopFullStop : '..'; + +ColonHyphenMinus : ':-'; + +LessThanSignEqualsSign : '<='; + +EqualsSignEqualsSign : '=='; + +GreaterThanSignEqualsSign : '>='; + +EQ : 'EQ'; + +IN : 'IN'; + +If : 'if'; + +In : '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 : ('%'|'//') ~(('\n'|'\r'))* ('\r'? '\n')?; + +fragment RULE_TRANSITIVE_CLOSURE : ; + +fragment RULE_REFLEXIVE_TRANSITIVE_CLOSURE : ; + +fragment RULE_FULL_STOP : ; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +RULE_INT : ('0'..'9')+; + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; 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 new file mode 100644 index 00000000..b46f86fc --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java @@ -0,0 +1,3208 @@ +package org.eclipse.viatra.solver.language.parser.antlr.lexer; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.parser.antlr.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalSolverLanguageLexer extends Lexer { + public static final int ADD=33; + public static final int True=32; + public static final int GREATER_EQ=4; + public static final int Count=20; + public static final int False=23; + public static final int Must=27; + public static final int LessThanSign=67; + public static final int LeftParenthesis=57; + public static final int Unknown=16; + public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; + public static final int FullStopFullStop=47; + public static final int Real=30; + public static final int Then=31; + public static final int Extends=15; + public static final int RightSquareBracket=71; + public static final int ExclamationMark=56; + public static final int Opposite=10; + public static final int SUB=37; + public static final int GreaterThanSign=69; + public static final int NOT_EQ=17; + public static final int RULE_ID=82; + public static final int MUL=35; + public static final int IN=53; + public static final int RULE_QUOTED_ID=77; + public static final int RightParenthesis=58; + public static final int Sum=44; + public static final int EQ=52; + public static final int GreaterThanSignEqualsSign=51; + public static final int Functional=5; + public static final int EqualsSignEqualsSign=50; + public static final int Avg=38; + public static final int Min=43; + public static final int VerticalLine=74; + public static final int PlusSign=60; + public static final int RULE_INT=83; + public static final int Contains=7; + public static final int RULE_ML_COMMENT=84; + public static final int POW=36; + public static final int RULE_TRANSITIVE_CLOSURE=79; + public static final int Class=19; + public static final int LESS=25; + public static final int LeftSquareBracket=70; + public static final int RULE_FULL_STOP=81; + public static final int Current=13; + public static final int If=54; + public static final int Inf=39; + public static final int LESS_EQ=12; + public static final int May=42; + public static final int Max=41; + public static final int In=55; + public static final int RULE_STRING=76; + public static final int Int=40; + public static final int Extern=18; + public static final int RULE_SL_COMMENT=78; + public static final int Prod=29; + public static final int Comma=61; + public static final int EqualsSign=68; + public static final int Empty=21; + public static final int HyphenMinus=62; + public static final int Maximize=8; + public static final int LessThanSignEqualsSign=49; + public static final int Solidus=64; + public static final int Colon=65; + public static final int RightCurlyBracket=75; + public static final int EOF=-1; + public static final int Asterisk=59; + public static final int FullStop=63; + public static final int RULE_WS=85; + public static final int Abstract=6; + public static final int Minimize=9; + public static final int GREATER=11; + public static final int LeftCurlyBracket=73; + public static final int Error=22; + public static final int Only=28; + public static final int RULE_ANY_OTHER=86; + public static final int Default=14; + public static final int ColonHyphenMinus=48; + public static final int CircumflexAccent=72; + public static final int DIV=34; + public static final int Semicolon=66; + public static final int Scope=24; + public static final int Else=26; + public static final int ExclamationMarkEqualsSign=45; + public static final int HyphenMinusGreaterThanSign=46; + + // delegates + // delegators + + public InternalSolverLanguageLexer() {;} + public InternalSolverLanguageLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalSolverLanguageLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; } + + // $ANTLR start "GREATER_EQ" + public final void mGREATER_EQ() throws RecognitionException { + try { + int _type = GREATER_EQ; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:14:12: ( 'GREATER_EQ' ) + // InternalSolverLanguageLexer.g:14:14: 'GREATER_EQ' + { + match("GREATER_EQ"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "GREATER_EQ" + + // $ANTLR start "Functional" + public final void mFunctional() throws RecognitionException { + try { + int _type = Functional; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:16:12: ( 'functional' ) + // InternalSolverLanguageLexer.g:16:14: 'functional' + { + match("functional"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Functional" + + // $ANTLR start "Abstract" + public final void mAbstract() throws RecognitionException { + try { + int _type = Abstract; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:18:10: ( 'abstract' ) + // InternalSolverLanguageLexer.g:18:12: 'abstract' + { + match("abstract"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Abstract" + + // $ANTLR start "Contains" + public final void mContains() throws RecognitionException { + try { + int _type = Contains; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:20:10: ( 'contains' ) + // InternalSolverLanguageLexer.g:20:12: 'contains' + { + match("contains"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Contains" + + // $ANTLR start "Maximize" + public final void mMaximize() throws RecognitionException { + try { + int _type = Maximize; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:22:10: ( 'maximize' ) + // InternalSolverLanguageLexer.g:22:12: 'maximize' + { + match("maximize"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Maximize" + + // $ANTLR start "Minimize" + public final void mMinimize() throws RecognitionException { + try { + int _type = Minimize; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:24:10: ( 'minimize' ) + // InternalSolverLanguageLexer.g:24:12: 'minimize' + { + match("minimize"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Minimize" + + // $ANTLR start "Opposite" + public final void mOpposite() throws RecognitionException { + try { + int _type = Opposite; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:26:10: ( 'opposite' ) + // InternalSolverLanguageLexer.g:26:12: 'opposite' + { + match("opposite"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Opposite" + + // $ANTLR start "GREATER" + public final void mGREATER() throws RecognitionException { + try { + int _type = GREATER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:28:9: ( 'GREATER' ) + // InternalSolverLanguageLexer.g:28:11: 'GREATER' + { + match("GREATER"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "GREATER" + + // $ANTLR start "LESS_EQ" + public final void mLESS_EQ() throws RecognitionException { + try { + int _type = LESS_EQ; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:30:9: ( 'LESS_EQ' ) + // InternalSolverLanguageLexer.g:30:11: 'LESS_EQ' + { + match("LESS_EQ"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "LESS_EQ" + + // $ANTLR start "Current" + public final void mCurrent() throws RecognitionException { + try { + int _type = Current; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:32:9: ( 'current' ) + // InternalSolverLanguageLexer.g:32:11: 'current' + { + match("current"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Current" + + // $ANTLR start "Default" + public final void mDefault() throws RecognitionException { + try { + int _type = Default; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:34:9: ( 'default' ) + // InternalSolverLanguageLexer.g:34:11: 'default' + { + match("default"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Default" + + // $ANTLR start "Extends" + public final void mExtends() throws RecognitionException { + try { + int _type = Extends; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:36:9: ( 'extends' ) + // InternalSolverLanguageLexer.g:36:11: 'extends' + { + match("extends"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Extends" + + // $ANTLR start "Unknown" + public final void mUnknown() throws RecognitionException { + try { + int _type = Unknown; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:38:9: ( 'unknown' ) + // InternalSolverLanguageLexer.g:38:11: 'unknown' + { + match("unknown"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Unknown" + + // $ANTLR start "NOT_EQ" + public final void mNOT_EQ() throws RecognitionException { + try { + int _type = NOT_EQ; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:40:8: ( 'NOT_EQ' ) + // InternalSolverLanguageLexer.g:40:10: 'NOT_EQ' + { + match("NOT_EQ"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "NOT_EQ" + + // $ANTLR start "Extern" + public final void mExtern() throws RecognitionException { + try { + int _type = Extern; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:42:8: ( 'extern' ) + // InternalSolverLanguageLexer.g:42:10: 'extern' + { + match("extern"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Extern" + + // $ANTLR start "Class" + public final void mClass() throws RecognitionException { + try { + int _type = Class; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:44:7: ( 'class' ) + // InternalSolverLanguageLexer.g:44:9: 'class' + { + match("class"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Class" + + // $ANTLR start "Count" + public final void mCount() throws RecognitionException { + try { + int _type = Count; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:46:7: ( 'count' ) + // InternalSolverLanguageLexer.g:46:9: 'count' + { + match("count"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Count" + + // $ANTLR start "Empty" + public final void mEmpty() throws RecognitionException { + try { + int _type = Empty; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:48:7: ( 'empty' ) + // InternalSolverLanguageLexer.g:48:9: 'empty' + { + match("empty"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Empty" + + // $ANTLR start "Error" + public final void mError() throws RecognitionException { + try { + int _type = Error; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:50:7: ( 'error' ) + // InternalSolverLanguageLexer.g:50:9: 'error' + { + match("error"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Error" + + // $ANTLR start "False" + public final void mFalse() throws RecognitionException { + try { + int _type = False; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:52:7: ( 'false' ) + // InternalSolverLanguageLexer.g:52:9: 'false' + { + match("false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "False" + + // $ANTLR start "Scope" + public final void mScope() throws RecognitionException { + try { + int _type = Scope; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:54:7: ( 'scope' ) + // InternalSolverLanguageLexer.g:54:9: 'scope' + { + match("scope"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Scope" + + // $ANTLR start "LESS" + public final void mLESS() throws RecognitionException { + try { + int _type = LESS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:56:6: ( 'LESS' ) + // InternalSolverLanguageLexer.g:56:8: 'LESS' + { + match("LESS"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "LESS" + + // $ANTLR start "Else" + public final void mElse() throws RecognitionException { + try { + int _type = Else; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:58:6: ( 'else' ) + // InternalSolverLanguageLexer.g:58:8: 'else' + { + match("else"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Else" + + // $ANTLR start "Must" + public final void mMust() throws RecognitionException { + try { + int _type = Must; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:60:6: ( 'must' ) + // InternalSolverLanguageLexer.g:60:8: 'must' + { + match("must"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Must" + + // $ANTLR start "Only" + public final void mOnly() throws RecognitionException { + try { + int _type = Only; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:62:6: ( 'only' ) + // InternalSolverLanguageLexer.g:62:8: 'only' + { + match("only"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Only" + + // $ANTLR start "Prod" + public final void mProd() throws RecognitionException { + try { + int _type = Prod; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:64:6: ( 'prod' ) + // InternalSolverLanguageLexer.g:64:8: 'prod' + { + match("prod"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Prod" + + // $ANTLR start "Real" + public final void mReal() throws RecognitionException { + try { + int _type = Real; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:66:6: ( 'real' ) + // InternalSolverLanguageLexer.g:66:8: 'real' + { + match("real"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Real" + + // $ANTLR start "Then" + public final void mThen() throws RecognitionException { + try { + int _type = Then; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:68:6: ( 'then' ) + // InternalSolverLanguageLexer.g:68:8: 'then' + { + match("then"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Then" + + // $ANTLR start "True" + public final void mTrue() throws RecognitionException { + try { + int _type = True; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:70:6: ( 'true' ) + // InternalSolverLanguageLexer.g:70:8: 'true' + { + match("true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "True" + + // $ANTLR start "ADD" + public final void mADD() throws RecognitionException { + try { + int _type = ADD; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:72:5: ( 'ADD' ) + // InternalSolverLanguageLexer.g:72:7: 'ADD' + { + match("ADD"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "ADD" + + // $ANTLR start "DIV" + public final void mDIV() throws RecognitionException { + try { + int _type = DIV; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:74:5: ( 'DIV' ) + // InternalSolverLanguageLexer.g:74:7: 'DIV' + { + match("DIV"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "DIV" + + // $ANTLR start "MUL" + public final void mMUL() throws RecognitionException { + try { + int _type = MUL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:76:5: ( 'MUL' ) + // InternalSolverLanguageLexer.g:76:7: 'MUL' + { + match("MUL"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "MUL" + + // $ANTLR start "POW" + public final void mPOW() throws RecognitionException { + try { + int _type = POW; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:78:5: ( 'POW' ) + // InternalSolverLanguageLexer.g:78:7: 'POW' + { + match("POW"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "POW" + + // $ANTLR start "SUB" + public final void mSUB() throws RecognitionException { + try { + int _type = SUB; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:80:5: ( 'SUB' ) + // InternalSolverLanguageLexer.g:80:7: 'SUB' + { + match("SUB"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "SUB" + + // $ANTLR start "Avg" + public final void mAvg() throws RecognitionException { + try { + int _type = Avg; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:82:5: ( 'avg' ) + // InternalSolverLanguageLexer.g:82:7: 'avg' + { + match("avg"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Avg" + + // $ANTLR start "Inf" + public final void mInf() throws RecognitionException { + try { + int _type = Inf; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:84:5: ( 'inf' ) + // InternalSolverLanguageLexer.g:84:7: 'inf' + { + match("inf"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Inf" + + // $ANTLR start "Int" + public final void mInt() throws RecognitionException { + try { + int _type = Int; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:86:5: ( 'int' ) + // InternalSolverLanguageLexer.g:86:7: 'int' + { + match("int"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Int" + + // $ANTLR start "Max" + public final void mMax() throws RecognitionException { + try { + int _type = Max; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:88:5: ( 'max' ) + // InternalSolverLanguageLexer.g:88:7: 'max' + { + match("max"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Max" + + // $ANTLR start "May" + public final void mMay() throws RecognitionException { + try { + int _type = May; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:90:5: ( 'may' ) + // InternalSolverLanguageLexer.g:90:7: 'may' + { + match("may"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "May" + + // $ANTLR start "Min" + public final void mMin() throws RecognitionException { + try { + int _type = Min; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:92:5: ( 'min' ) + // InternalSolverLanguageLexer.g:92:7: 'min' + { + match("min"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Min" + + // $ANTLR start "Sum" + public final void mSum() throws RecognitionException { + try { + int _type = Sum; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:94:5: ( 'sum' ) + // InternalSolverLanguageLexer.g:94:7: 'sum' + { + match("sum"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Sum" + + // $ANTLR start "ExclamationMarkEqualsSign" + public final void mExclamationMarkEqualsSign() throws RecognitionException { + try { + int _type = ExclamationMarkEqualsSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:96:27: ( '!=' ) + // InternalSolverLanguageLexer.g:96:29: '!=' + { + match("!="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "ExclamationMarkEqualsSign" + + // $ANTLR start "HyphenMinusGreaterThanSign" + public final void mHyphenMinusGreaterThanSign() throws RecognitionException { + try { + int _type = HyphenMinusGreaterThanSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:98:28: ( '->' ) + // InternalSolverLanguageLexer.g:98:30: '->' + { + match("->"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "HyphenMinusGreaterThanSign" + + // $ANTLR start "FullStopFullStop" + public final void mFullStopFullStop() throws RecognitionException { + try { + int _type = FullStopFullStop; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:100:18: ( '..' ) + // InternalSolverLanguageLexer.g:100:20: '..' + { + match(".."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "FullStopFullStop" + + // $ANTLR start "ColonHyphenMinus" + public final void mColonHyphenMinus() throws RecognitionException { + try { + int _type = ColonHyphenMinus; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:102:18: ( ':-' ) + // InternalSolverLanguageLexer.g:102:20: ':-' + { + match(":-"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "ColonHyphenMinus" + + // $ANTLR start "LessThanSignEqualsSign" + public final void mLessThanSignEqualsSign() throws RecognitionException { + try { + int _type = LessThanSignEqualsSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:104:24: ( '<=' ) + // InternalSolverLanguageLexer.g:104:26: '<=' + { + match("<="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "LessThanSignEqualsSign" + + // $ANTLR start "EqualsSignEqualsSign" + public final void mEqualsSignEqualsSign() throws RecognitionException { + try { + int _type = EqualsSignEqualsSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:106:22: ( '==' ) + // InternalSolverLanguageLexer.g:106:24: '==' + { + match("=="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "EqualsSignEqualsSign" + + // $ANTLR start "GreaterThanSignEqualsSign" + public final void mGreaterThanSignEqualsSign() throws RecognitionException { + try { + int _type = GreaterThanSignEqualsSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:108:27: ( '>=' ) + // InternalSolverLanguageLexer.g:108:29: '>=' + { + match(">="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "GreaterThanSignEqualsSign" + + // $ANTLR start "EQ" + public final void mEQ() throws RecognitionException { + try { + int _type = EQ; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:110:4: ( 'EQ' ) + // InternalSolverLanguageLexer.g:110:6: 'EQ' + { + match("EQ"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "EQ" + + // $ANTLR start "IN" + public final void mIN() throws RecognitionException { + try { + int _type = IN; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:112:4: ( 'IN' ) + // InternalSolverLanguageLexer.g:112:6: 'IN' + { + match("IN"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "IN" + + // $ANTLR start "If" + public final void mIf() throws RecognitionException { + try { + int _type = If; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:114:4: ( 'if' ) + // InternalSolverLanguageLexer.g:114:6: 'if' + { + match("if"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "If" + + // $ANTLR start "In" + public final void mIn() throws RecognitionException { + try { + int _type = In; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:116:4: ( 'in' ) + // InternalSolverLanguageLexer.g:116:6: 'in' + { + match("in"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "In" + + // $ANTLR start "ExclamationMark" + public final void mExclamationMark() throws RecognitionException { + try { + int _type = ExclamationMark; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:118:17: ( '!' ) + // InternalSolverLanguageLexer.g:118:19: '!' + { + match('!'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "ExclamationMark" + + // $ANTLR start "LeftParenthesis" + public final void mLeftParenthesis() throws RecognitionException { + try { + int _type = LeftParenthesis; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:120:17: ( '(' ) + // InternalSolverLanguageLexer.g:120:19: '(' + { + match('('); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "LeftParenthesis" + + // $ANTLR start "RightParenthesis" + public final void mRightParenthesis() throws RecognitionException { + try { + int _type = RightParenthesis; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:122:18: ( ')' ) + // InternalSolverLanguageLexer.g:122:20: ')' + { + match(')'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RightParenthesis" + + // $ANTLR start "Asterisk" + public final void mAsterisk() throws RecognitionException { + try { + int _type = Asterisk; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:124:10: ( '*' ) + // InternalSolverLanguageLexer.g:124:12: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Asterisk" + + // $ANTLR start "PlusSign" + public final void mPlusSign() throws RecognitionException { + try { + int _type = PlusSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:126:10: ( '+' ) + // InternalSolverLanguageLexer.g:126:12: '+' + { + match('+'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "PlusSign" + + // $ANTLR start "Comma" + public final void mComma() throws RecognitionException { + try { + int _type = Comma; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:128:7: ( ',' ) + // InternalSolverLanguageLexer.g:128:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Comma" + + // $ANTLR start "HyphenMinus" + public final void mHyphenMinus() throws RecognitionException { + try { + int _type = HyphenMinus; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:130:13: ( '-' ) + // InternalSolverLanguageLexer.g:130:15: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "HyphenMinus" + + // $ANTLR start "FullStop" + public final void mFullStop() throws RecognitionException { + try { + int _type = FullStop; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:132:10: ( '.' ) + // InternalSolverLanguageLexer.g:132:12: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "FullStop" + + // $ANTLR start "Solidus" + public final void mSolidus() throws RecognitionException { + try { + int _type = Solidus; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:134:9: ( '/' ) + // InternalSolverLanguageLexer.g:134:11: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Solidus" + + // $ANTLR start "Colon" + public final void mColon() throws RecognitionException { + try { + int _type = Colon; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:136:7: ( ':' ) + // InternalSolverLanguageLexer.g:136:9: ':' + { + match(':'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Colon" + + // $ANTLR start "Semicolon" + public final void mSemicolon() throws RecognitionException { + try { + int _type = Semicolon; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:138:11: ( ';' ) + // InternalSolverLanguageLexer.g:138:13: ';' + { + match(';'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Semicolon" + + // $ANTLR start "LessThanSign" + public final void mLessThanSign() throws RecognitionException { + try { + int _type = LessThanSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:140:14: ( '<' ) + // InternalSolverLanguageLexer.g:140:16: '<' + { + match('<'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "LessThanSign" + + // $ANTLR start "EqualsSign" + public final void mEqualsSign() throws RecognitionException { + try { + int _type = EqualsSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:142:12: ( '=' ) + // InternalSolverLanguageLexer.g:142:14: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "EqualsSign" + + // $ANTLR start "GreaterThanSign" + public final void mGreaterThanSign() throws RecognitionException { + try { + int _type = GreaterThanSign; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:144:17: ( '>' ) + // InternalSolverLanguageLexer.g:144:19: '>' + { + match('>'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "GreaterThanSign" + + // $ANTLR start "LeftSquareBracket" + public final void mLeftSquareBracket() throws RecognitionException { + try { + int _type = LeftSquareBracket; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:146:19: ( '[' ) + // InternalSolverLanguageLexer.g:146:21: '[' + { + match('['); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "LeftSquareBracket" + + // $ANTLR start "RightSquareBracket" + public final void mRightSquareBracket() throws RecognitionException { + try { + int _type = RightSquareBracket; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:148:20: ( ']' ) + // InternalSolverLanguageLexer.g:148:22: ']' + { + match(']'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RightSquareBracket" + + // $ANTLR start "CircumflexAccent" + public final void mCircumflexAccent() throws RecognitionException { + try { + int _type = CircumflexAccent; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:150:18: ( '^' ) + // InternalSolverLanguageLexer.g:150:20: '^' + { + match('^'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "CircumflexAccent" + + // $ANTLR start "LeftCurlyBracket" + public final void mLeftCurlyBracket() throws RecognitionException { + try { + int _type = LeftCurlyBracket; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:152:18: ( '{' ) + // InternalSolverLanguageLexer.g:152:20: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "LeftCurlyBracket" + + // $ANTLR start "VerticalLine" + public final void mVerticalLine() throws RecognitionException { + try { + int _type = VerticalLine; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:154:14: ( '|' ) + // InternalSolverLanguageLexer.g:154:16: '|' + { + match('|'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "VerticalLine" + + // $ANTLR start "RightCurlyBracket" + public final void mRightCurlyBracket() throws RecognitionException { + try { + int _type = RightCurlyBracket; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:156:19: ( '}' ) + // InternalSolverLanguageLexer.g:156:21: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RightCurlyBracket" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:158:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) + // InternalSolverLanguageLexer.g:158:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalSolverLanguageLexer.g:158:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop1: + do { + int alt1=3; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='\\') ) { + alt1=1; + } + else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { + alt1=2; + } + + + switch (alt1) { + case 1 : + // InternalSolverLanguageLexer.g:158:20: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalSolverLanguageLexer.g:158:27: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop1; + } + } while (true); + + match('\"'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_QUOTED_ID" + public final void mRULE_QUOTED_ID() throws RecognitionException { + try { + int _type = RULE_QUOTED_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:160:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalSolverLanguageLexer.g:160:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalSolverLanguageLexer.g:160:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop2: + do { + int alt2=3; + int LA2_0 = input.LA(1); + + if ( (LA2_0=='\\') ) { + alt2=1; + } + else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) { + alt2=2; + } + + + switch (alt2) { + case 1 : + // InternalSolverLanguageLexer.g:160:24: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalSolverLanguageLexer.g:160:31: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop2; + } + } while (true); + + match('\''); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_QUOTED_ID" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:162:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='%') ) { + alt3=1; + } + else if ( (LA3_0=='/') ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalSolverLanguageLexer.g:162:20: '%' + { + match('%'); + + } + break; + case 2 : + // InternalSolverLanguageLexer.g:162:24: '//' + { + match("//"); + + + } + break; + + } + + // InternalSolverLanguageLexer.g:162:30: (~ ( ( '\\n' | '\\r' ) ) )* + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='\u0000' && LA4_0<='\t')||(LA4_0>='\u000B' && LA4_0<='\f')||(LA4_0>='\u000E' && LA4_0<='\uFFFF')) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalSolverLanguageLexer.g:162:30: ~ ( ( '\\n' | '\\r' ) ) + { + 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') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop4; + } + } while (true); + + // InternalSolverLanguageLexer.g:162:46: ( ( '\\r' )? '\\n' )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='\n'||LA6_0=='\r') ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? '\\n' + { + // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='\r') ) { + alt5=1; + } + switch (alt5) { + case 1 : + // InternalSolverLanguageLexer.g:162:47: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_TRANSITIVE_CLOSURE" + public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException { + try { + // InternalSolverLanguageLexer.g:164:34: () + // InternalSolverLanguageLexer.g:164:36: + { + } + + } + finally { + } + } + // $ANTLR end "RULE_TRANSITIVE_CLOSURE" + + // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE" + public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException { + try { + // InternalSolverLanguageLexer.g:166:44: () + // InternalSolverLanguageLexer.g:166:46: + { + } + + } + finally { + } + } + // $ANTLR end "RULE_REFLEXIVE_TRANSITIVE_CLOSURE" + + // $ANTLR start "RULE_FULL_STOP" + public final void mRULE_FULL_STOP() throws RecognitionException { + try { + // InternalSolverLanguageLexer.g:168:25: () + // InternalSolverLanguageLexer.g:168:27: + { + } + + } + finally { + } + } + // $ANTLR end "RULE_FULL_STOP" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:170:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalSolverLanguageLexer.g:170:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalSolverLanguageLexer.g:170:11: ( '^' )? + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='^') ) { + alt7=1; + } + switch (alt7) { + case 1 : + // InternalSolverLanguageLexer.g:170:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalSolverLanguageLexer.g:170:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); + + if ( ((LA8_0>='0' && LA8_0<='9')||(LA8_0>='A' && LA8_0<='Z')||LA8_0=='_'||(LA8_0>='a' && LA8_0<='z')) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // InternalSolverLanguageLexer.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop8; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:172:10: ( ( '0' .. '9' )+ ) + // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ + { + // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ + int cnt9=0; + loop9: + do { + int alt9=2; + int LA9_0 = input.LA(1); + + if ( ((LA9_0>='0' && LA9_0<='9')) ) { + alt9=1; + } + + + switch (alt9) { + case 1 : + // InternalSolverLanguageLexer.g:172:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt9 >= 1 ) break loop9; + EarlyExitException eee = + new EarlyExitException(9, input); + throw eee; + } + cnt9++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:174:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalSolverLanguageLexer.g:174:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalSolverLanguageLexer.g:174:24: ( options {greedy=false; } : . )* + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='*') ) { + int LA10_1 = input.LA(2); + + if ( (LA10_1=='/') ) { + alt10=2; + } + else if ( ((LA10_1>='\u0000' && LA10_1<='.')||(LA10_1>='0' && LA10_1<='\uFFFF')) ) { + alt10=1; + } + + + } + else if ( ((LA10_0>='\u0000' && LA10_0<=')')||(LA10_0>='+' && LA10_0<='\uFFFF')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalSolverLanguageLexer.g:174:52: . + { + matchAny(); + + } + break; + + default : + break loop10; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:176:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt11=0; + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // InternalSolverLanguageLexer.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt11 >= 1 ) break loop11; + EarlyExitException eee = + new EarlyExitException(11, input); + throw eee; + } + cnt11++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:178:16: ( . ) + // InternalSolverLanguageLexer.g:178:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // 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 ) + int alt12=80; + alt12 = dfa12.predict(input); + switch (alt12) { + case 1 : + // InternalSolverLanguageLexer.g:1:10: GREATER_EQ + { + mGREATER_EQ(); + + } + break; + case 2 : + // InternalSolverLanguageLexer.g:1:21: Functional + { + mFunctional(); + + } + break; + case 3 : + // InternalSolverLanguageLexer.g:1:32: Abstract + { + mAbstract(); + + } + break; + case 4 : + // InternalSolverLanguageLexer.g:1:41: Contains + { + mContains(); + + } + break; + case 5 : + // InternalSolverLanguageLexer.g:1:50: Maximize + { + mMaximize(); + + } + break; + case 6 : + // InternalSolverLanguageLexer.g:1:59: Minimize + { + mMinimize(); + + } + break; + case 7 : + // InternalSolverLanguageLexer.g:1:68: Opposite + { + mOpposite(); + + } + break; + case 8 : + // InternalSolverLanguageLexer.g:1:77: GREATER + { + mGREATER(); + + } + break; + case 9 : + // InternalSolverLanguageLexer.g:1:85: LESS_EQ + { + mLESS_EQ(); + + } + break; + case 10 : + // InternalSolverLanguageLexer.g:1:93: Current + { + mCurrent(); + + } + break; + case 11 : + // InternalSolverLanguageLexer.g:1:101: Default + { + mDefault(); + + } + break; + case 12 : + // InternalSolverLanguageLexer.g:1:109: Extends + { + mExtends(); + + } + break; + case 13 : + // InternalSolverLanguageLexer.g:1:117: Unknown + { + mUnknown(); + + } + break; + case 14 : + // InternalSolverLanguageLexer.g:1:125: NOT_EQ + { + mNOT_EQ(); + + } + break; + case 15 : + // InternalSolverLanguageLexer.g:1:132: Extern + { + mExtern(); + + } + break; + case 16 : + // InternalSolverLanguageLexer.g:1:139: Class + { + mClass(); + + } + break; + case 17 : + // InternalSolverLanguageLexer.g:1:145: Count + { + mCount(); + + } + break; + case 18 : + // InternalSolverLanguageLexer.g:1:151: Empty + { + mEmpty(); + + } + break; + case 19 : + // InternalSolverLanguageLexer.g:1:157: Error + { + mError(); + + } + break; + case 20 : + // InternalSolverLanguageLexer.g:1:163: False + { + mFalse(); + + } + break; + case 21 : + // InternalSolverLanguageLexer.g:1:169: Scope + { + mScope(); + + } + break; + case 22 : + // InternalSolverLanguageLexer.g:1:175: LESS + { + mLESS(); + + } + break; + case 23 : + // InternalSolverLanguageLexer.g:1:180: Else + { + mElse(); + + } + break; + case 24 : + // InternalSolverLanguageLexer.g:1:185: Must + { + mMust(); + + } + break; + case 25 : + // InternalSolverLanguageLexer.g:1:190: Only + { + mOnly(); + + } + break; + case 26 : + // InternalSolverLanguageLexer.g:1:195: Prod + { + mProd(); + + } + break; + case 27 : + // InternalSolverLanguageLexer.g:1:200: Real + { + mReal(); + + } + break; + case 28 : + // InternalSolverLanguageLexer.g:1:205: Then + { + mThen(); + + } + break; + case 29 : + // InternalSolverLanguageLexer.g:1:210: True + { + mTrue(); + + } + break; + case 30 : + // InternalSolverLanguageLexer.g:1:215: ADD + { + mADD(); + + } + break; + case 31 : + // InternalSolverLanguageLexer.g:1:219: DIV + { + mDIV(); + + } + break; + case 32 : + // InternalSolverLanguageLexer.g:1:223: MUL + { + mMUL(); + + } + break; + case 33 : + // InternalSolverLanguageLexer.g:1:227: POW + { + mPOW(); + + } + break; + case 34 : + // InternalSolverLanguageLexer.g:1:231: SUB + { + mSUB(); + + } + break; + case 35 : + // InternalSolverLanguageLexer.g:1:235: Avg + { + mAvg(); + + } + break; + case 36 : + // InternalSolverLanguageLexer.g:1:239: Inf + { + mInf(); + + } + break; + case 37 : + // InternalSolverLanguageLexer.g:1:243: Int + { + mInt(); + + } + break; + case 38 : + // InternalSolverLanguageLexer.g:1:247: Max + { + mMax(); + + } + break; + case 39 : + // InternalSolverLanguageLexer.g:1:251: May + { + mMay(); + + } + break; + case 40 : + // InternalSolverLanguageLexer.g:1:255: Min + { + mMin(); + + } + break; + case 41 : + // InternalSolverLanguageLexer.g:1:259: Sum + { + mSum(); + + } + break; + case 42 : + // InternalSolverLanguageLexer.g:1:263: ExclamationMarkEqualsSign + { + mExclamationMarkEqualsSign(); + + } + break; + case 43 : + // InternalSolverLanguageLexer.g:1:289: HyphenMinusGreaterThanSign + { + mHyphenMinusGreaterThanSign(); + + } + break; + case 44 : + // InternalSolverLanguageLexer.g:1:316: FullStopFullStop + { + mFullStopFullStop(); + + } + break; + case 45 : + // InternalSolverLanguageLexer.g:1:333: ColonHyphenMinus + { + mColonHyphenMinus(); + + } + break; + case 46 : + // InternalSolverLanguageLexer.g:1:350: LessThanSignEqualsSign + { + mLessThanSignEqualsSign(); + + } + break; + case 47 : + // InternalSolverLanguageLexer.g:1:373: EqualsSignEqualsSign + { + mEqualsSignEqualsSign(); + + } + break; + case 48 : + // InternalSolverLanguageLexer.g:1:394: GreaterThanSignEqualsSign + { + mGreaterThanSignEqualsSign(); + + } + break; + case 49 : + // InternalSolverLanguageLexer.g:1:420: EQ + { + mEQ(); + + } + break; + case 50 : + // InternalSolverLanguageLexer.g:1:423: IN + { + mIN(); + + } + break; + case 51 : + // InternalSolverLanguageLexer.g:1:426: If + { + mIf(); + + } + break; + case 52 : + // InternalSolverLanguageLexer.g:1:429: In + { + mIn(); + + } + break; + case 53 : + // InternalSolverLanguageLexer.g:1:432: ExclamationMark + { + mExclamationMark(); + + } + break; + case 54 : + // InternalSolverLanguageLexer.g:1:448: LeftParenthesis + { + mLeftParenthesis(); + + } + break; + case 55 : + // InternalSolverLanguageLexer.g:1:464: RightParenthesis + { + mRightParenthesis(); + + } + break; + case 56 : + // InternalSolverLanguageLexer.g:1:481: Asterisk + { + mAsterisk(); + + } + break; + case 57 : + // InternalSolverLanguageLexer.g:1:490: PlusSign + { + mPlusSign(); + + } + break; + case 58 : + // InternalSolverLanguageLexer.g:1:499: Comma + { + mComma(); + + } + break; + case 59 : + // InternalSolverLanguageLexer.g:1:505: HyphenMinus + { + mHyphenMinus(); + + } + break; + case 60 : + // InternalSolverLanguageLexer.g:1:517: FullStop + { + mFullStop(); + + } + break; + case 61 : + // InternalSolverLanguageLexer.g:1:526: Solidus + { + mSolidus(); + + } + break; + case 62 : + // InternalSolverLanguageLexer.g:1:534: Colon + { + mColon(); + + } + break; + case 63 : + // InternalSolverLanguageLexer.g:1:540: Semicolon + { + mSemicolon(); + + } + break; + case 64 : + // InternalSolverLanguageLexer.g:1:550: LessThanSign + { + mLessThanSign(); + + } + break; + case 65 : + // InternalSolverLanguageLexer.g:1:563: EqualsSign + { + mEqualsSign(); + + } + break; + case 66 : + // InternalSolverLanguageLexer.g:1:574: GreaterThanSign + { + mGreaterThanSign(); + + } + break; + case 67 : + // InternalSolverLanguageLexer.g:1:590: LeftSquareBracket + { + mLeftSquareBracket(); + + } + break; + case 68 : + // InternalSolverLanguageLexer.g:1:608: RightSquareBracket + { + mRightSquareBracket(); + + } + break; + case 69 : + // InternalSolverLanguageLexer.g:1:627: CircumflexAccent + { + mCircumflexAccent(); + + } + break; + case 70 : + // InternalSolverLanguageLexer.g:1:644: LeftCurlyBracket + { + mLeftCurlyBracket(); + + } + break; + case 71 : + // InternalSolverLanguageLexer.g:1:661: VerticalLine + { + mVerticalLine(); + + } + break; + case 72 : + // InternalSolverLanguageLexer.g:1:674: RightCurlyBracket + { + mRightCurlyBracket(); + + } + break; + case 73 : + // InternalSolverLanguageLexer.g:1:692: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 74 : + // InternalSolverLanguageLexer.g:1:704: RULE_QUOTED_ID + { + mRULE_QUOTED_ID(); + + } + break; + case 75 : + // InternalSolverLanguageLexer.g:1:719: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 76 : + // InternalSolverLanguageLexer.g:1:735: RULE_ID + { + mRULE_ID(); + + } + break; + case 77 : + // InternalSolverLanguageLexer.g:1:743: RULE_INT + { + mRULE_INT(); + + } + break; + case 78 : + // InternalSolverLanguageLexer.g:1:752: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 79 : + // InternalSolverLanguageLexer.g:1:768: RULE_WS + { + mRULE_WS(); + + } + break; + case 80 : + // InternalSolverLanguageLexer.g:1:776: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA12 dfa12 = new DFA12(this); + static final String DFA12_eotS = + "\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"; + static final String DFA12_eofS = + "\u011d\uffff"; + static final String DFA12_minS = + "\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"; + static final String DFA12_maxS = + "\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"; + static final String DFA12_acceptS = + "\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"; + static final String DFA12_specialS = + "\1\1\53\uffff\1\0\1\2\u00ef\uffff}>"; + static final String[] DFA12_transitionS = { + "\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", + "\1\63", + "\1\66\23\uffff\1\65", + "\1\67\23\uffff\1\70", + "\1\73\2\uffff\1\71\5\uffff\1\72", + "\1\74\7\uffff\1\75\13\uffff\1\76", + "\1\100\1\uffff\1\77", + "\1\101", + "\1\102", + "\1\106\1\104\4\uffff\1\105\5\uffff\1\103", + "\1\107", + "\1\110", + "\1\111\21\uffff\1\112", + "\1\113", + "\1\114", + "\1\115\11\uffff\1\116", + "\1\117", + "\1\120", + "\1\121", + "\1\122", + "\1\123", + "\1\125\7\uffff\1\124", + "\1\126", + "\1\130", + "\1\132", + "\1\134", + "\1\136", + "\1\140", + "\1\142", + "\1\144", + "\1\145", + "", + "", + "", + "", + "", + "\1\154\4\uffff\1\153", + "", + "", + "", + "\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "", + "\0\165", + "\0\166", + "", + "", + "", + "", + "", + "\1\171", + "", + "\1\172", + "\1\173", + "\1\174", + "\1\175", + "\1\176\6\uffff\1\177", + "\1\u0080", + "\1\u0081", + "\1\u0082\1\u0083", + "\1\u0084", + "\1\u0085", + "\1\u0086", + "\1\u0087", + "\1\u0088", + "\1\u0089", + "\1\u008a", + "\1\u008b", + "\1\u008c", + "\1\u008d", + "\1\u008e", + "\1\u008f", + "\1\u0090", + "\1\u0091", + "\1\u0092", + "\1\u0093", + "\1\u0094", + "\1\u0095", + "\1\u0096", + "\1\u0097", + "\1\u0098", + "\1\u0099", + "\1\u009a", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\5\64\1\u009b\15\64\1\u009c\6\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\u00a1", + "\1\u00a2", + "\1\u00a3", + "\1\u00a4", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00a6", + "\1\u00a7", + "\1\u00a8", + "\1\u00a9", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00aa\21\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00ad\21\64", + "\1\u00af", + "\1\u00b0", + "\1\u00b1", + "\1\u00b2", + "\1\u00b3", + "\1\u00b4", + "\1\u00b5", + "\1\u00b6", + "\1\u00b7", + "\1\u00b8", + "\1\u00b9", + "\1\u00ba", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00bc", + "\1\u00bd", + "\1\u00be", + "\1\u00bf", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "", + "", + "\1\u00c7", + "\1\u00c8", + "\1\u00c9", + "\1\u00ca", + "", + "\1\u00cb", + "\1\u00cc", + "\1\u00cd", + "\1\u00ce", + "\1\u00cf", + "", + "", + "\1\u00d0", + "", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00d2", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\u00d4\1\uffff\32\64", + "\1\u00d6", + "\1\u00d7\3\uffff\1\u00d8", + "\1\u00d9", + "\1\u00da", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00dc", + "\1\u00dd", + "\1\u00de", + "", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "", + "", + "", + "", + "", + "\1\u00e3", + "\1\u00e4", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00e6", + "\1\u00e7", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00e9", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u00eb", + "\1\u00ec", + "", + "\1\u00ed", + "", + "\1\u00ee", + "", + "\1\u00ef", + "\1\u00f0", + "\1\u00f1", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "\1\u00f4", + "\1\u00f5", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "", + "", + "\1\u00f7", + "\1\u00f8", + "", + "\1\u00f9", + "\1\u00fa", + "", + "\1\u00fb", + "", + "\1\u00fc", + "\1\u00fd", + "\1\u00fe", + "\1\u00ff", + "\1\u0100", + "\1\u0101", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "\1\u0103", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "\12\64\7\uffff\32\64\4\uffff\1\u0105\1\uffff\32\64", + "\1\u0107", + "\1\u0108", + "\1\u0109", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\1\u010b", + "\1\u010c", + "\1\u010d", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "\1\u0112", + "", + "\1\u0113", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "", + "", + "", + "\1\u0119", + "\1\u011a", + "", + "", + "", + "", + "", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", + "", + "" + }; + + static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS); + static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS); + static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS); + static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS); + static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS); + static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS); + static final short[][] DFA12_transition; + + static { + int numStates = DFA12_transitionS.length; + DFA12_transition = new short[numStates][]; + for (int i=0; i='\u0000' && LA12_44<='\uFFFF')) ) {s = 117;} + + else s = 50; + + if ( s>=0 ) return s; + break; + case 1 : + int LA12_0 = input.LA(1); + + s = -1; + if ( (LA12_0=='G') ) {s = 1;} + + else if ( (LA12_0=='f') ) {s = 2;} + + else if ( (LA12_0=='a') ) {s = 3;} + + else if ( (LA12_0=='c') ) {s = 4;} + + else if ( (LA12_0=='m') ) {s = 5;} + + else if ( (LA12_0=='o') ) {s = 6;} + + else if ( (LA12_0=='L') ) {s = 7;} + + else if ( (LA12_0=='d') ) {s = 8;} + + else if ( (LA12_0=='e') ) {s = 9;} + + else if ( (LA12_0=='u') ) {s = 10;} + + else if ( (LA12_0=='N') ) {s = 11;} + + else if ( (LA12_0=='s') ) {s = 12;} + + else if ( (LA12_0=='p') ) {s = 13;} + + else if ( (LA12_0=='r') ) {s = 14;} + + else if ( (LA12_0=='t') ) {s = 15;} + + else if ( (LA12_0=='A') ) {s = 16;} + + else if ( (LA12_0=='D') ) {s = 17;} + + else if ( (LA12_0=='M') ) {s = 18;} + + else if ( (LA12_0=='P') ) {s = 19;} + + else if ( (LA12_0=='S') ) {s = 20;} + + else if ( (LA12_0=='i') ) {s = 21;} + + else if ( (LA12_0=='!') ) {s = 22;} + + else if ( (LA12_0=='-') ) {s = 23;} + + else if ( (LA12_0=='.') ) {s = 24;} + + else if ( (LA12_0==':') ) {s = 25;} + + else if ( (LA12_0=='<') ) {s = 26;} + + else if ( (LA12_0=='=') ) {s = 27;} + + else if ( (LA12_0=='>') ) {s = 28;} + + else if ( (LA12_0=='E') ) {s = 29;} + + else if ( (LA12_0=='I') ) {s = 30;} + + else if ( (LA12_0=='(') ) {s = 31;} + + else if ( (LA12_0==')') ) {s = 32;} + + else if ( (LA12_0=='*') ) {s = 33;} + + else if ( (LA12_0=='+') ) {s = 34;} + + else if ( (LA12_0==',') ) {s = 35;} + + else if ( (LA12_0=='/') ) {s = 36;} + + else if ( (LA12_0==';') ) {s = 37;} + + else if ( (LA12_0=='[') ) {s = 38;} + + else if ( (LA12_0==']') ) {s = 39;} + + else if ( (LA12_0=='^') ) {s = 40;} + + else if ( (LA12_0=='{') ) {s = 41;} + + else if ( (LA12_0=='|') ) {s = 42;} + + else if ( (LA12_0=='}') ) {s = 43;} + + else if ( (LA12_0=='\"') ) {s = 44;} + + else if ( (LA12_0=='\'') ) {s = 45;} + + else if ( (LA12_0=='%') ) {s = 46;} + + 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;} + + else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 48;} + + else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 49;} + + 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;} + + if ( s>=0 ) return s; + break; + case 2 : + int LA12_45 = input.LA(1); + + s = -1; + if ( ((LA12_45>='\u0000' && LA12_45<='\uFFFF')) ) {s = 118;} + + else s = 50; + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 12, _s, input); + error(nvae); + throw nvae; + } + } + + +} \ No newline at end of file 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 new file mode 100644 index 00000000..133cc9d6 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens @@ -0,0 +1,83 @@ +ADD=33 +Abstract=6 +Asterisk=59 +Avg=38 +CircumflexAccent=72 +Class=19 +Colon=65 +ColonHyphenMinus=48 +Comma=61 +Contains=7 +Count=20 +Current=13 +DIV=34 +Default=14 +EQ=52 +Else=26 +Empty=21 +EqualsSign=68 +EqualsSignEqualsSign=50 +Error=22 +ExclamationMark=56 +ExclamationMarkEqualsSign=45 +Extends=15 +Extern=18 +False=23 +FullStop=63 +FullStopFullStop=47 +Functional=5 +GREATER=11 +GREATER_EQ=4 +GreaterThanSign=69 +GreaterThanSignEqualsSign=51 +HyphenMinus=62 +HyphenMinusGreaterThanSign=46 +IN=53 +If=54 +In=55 +Inf=39 +Int=40 +LESS=25 +LESS_EQ=12 +LeftCurlyBracket=73 +LeftParenthesis=57 +LeftSquareBracket=70 +LessThanSign=67 +LessThanSignEqualsSign=49 +MUL=35 +Max=41 +Maximize=8 +May=42 +Min=43 +Minimize=9 +Must=27 +NOT_EQ=17 +Only=28 +Opposite=10 +POW=36 +PlusSign=60 +Prod=29 +RULE_ANY_OTHER=86 +RULE_FULL_STOP=81 +RULE_ID=82 +RULE_INT=83 +RULE_ML_COMMENT=84 +RULE_QUOTED_ID=77 +RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 +RULE_SL_COMMENT=78 +RULE_STRING=76 +RULE_TRANSITIVE_CLOSURE=79 +RULE_WS=85 +Real=30 +RightCurlyBracket=75 +RightParenthesis=58 +RightSquareBracket=71 +SUB=37 +Scope=24 +Semicolon=66 +Solidus=64 +Sum=44 +Then=31 +True=32 +Unknown=16 +VerticalLine=74 diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java index fc204c16..5cb73796 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java @@ -16,6 +16,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Call; import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Comparison; import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; import org.eclipse.viatra.solver.language.solverLanguage.Count; @@ -43,7 +44,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.Problem; import org.eclipse.viatra.solver.language.solverLanguage.Reference; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; -import org.eclipse.viatra.solver.language.solverLanguage.Statement; import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral; import org.eclipse.viatra.solver.language.solverLanguage.Switch; import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument; @@ -91,34 +91,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS sequence_BoundedScopeDefinition(context, (BoundedScopeDefinition) semanticObject); return; case SolverLanguagePackage.CALL: - if (action == grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0() - || action == grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0() - || action == grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0() - || rule == grammarAccess.getExpressionRule() - || rule == grammarAccess.getDisjunctiveExpressionRule() - || action == grammarAccess.getDisjunctiveExpressionAccess().getDisjunctionChildrenAction_1_0_0() - || action == grammarAccess.getDisjunctiveExpressionAccess().getCaseConditionAction_1_1_0() - || rule == grammarAccess.getConjunctiveExpressionRule() - || action == grammarAccess.getConjunctiveExpressionAccess().getConjunctionChildrenAction_1_0() - || rule == grammarAccess.getComparisonExpressionRule() - || action == grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0() - || rule == grammarAccess.getAdditiveExpressionRule() - || action == grammarAccess.getAdditiveExpressionAccess().getBinaryExpressionLeftAction_1_0() - || rule == grammarAccess.getMultiplicativeExpressionRule() - || action == grammarAccess.getMultiplicativeExpressionAccess().getBinaryExpressionLeftAction_1_0() - || rule == grammarAccess.getExponentialExpressionRule() - || action == grammarAccess.getExponentialExpressionAccess().getBinaryExpressionLeftAction_1_0() - || rule == grammarAccess.getUnaryExpressionRule() - || rule == grammarAccess.getAggregationExpressionRule() - || rule == grammarAccess.getAtomicExpressionRule()) { - sequence_AtomicExpression(context, (Call) semanticObject); - return; - } - else if (rule == grammarAccess.getCallRule()) { - sequence_Call(context, (Call) semanticObject); - return; - } - else break; + sequence_Call(context, (Call) semanticObject); + return; case SolverLanguagePackage.CASE: if (rule == grammarAccess.getCaseRule()) { sequence_Case(context, (Case) semanticObject); @@ -129,6 +103,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS return; } else break; + case SolverLanguagePackage.CLASS_DEFINITION: + sequence_ClassDefinition(context, (ClassDefinition) semanticObject); + return; case SolverLanguagePackage.COMPARISON: sequence_ComparisonExpression(context, (Comparison) semanticObject); return; @@ -229,9 +206,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.STAR_ARGUMENT: sequence_StarArgument(context, (StarArgument) semanticObject); return; - case SolverLanguagePackage.STATEMENT: - sequence_ClassDefinition(context, (Statement) semanticObject); - return; case SolverLanguagePackage.STRING_LITERAL: sequence_StringLiteral(context, (StringLiteral) semanticObject); return; @@ -428,46 +402,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS } - /** - * Contexts: - * AssertionOrDefinition.Assertion_1_0_0 returns Call - * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call - * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call - * Expression returns Call - * DisjunctiveExpression returns Call - * DisjunctiveExpression.Disjunction_1_0_0 returns Call - * DisjunctiveExpression.Case_1_1_0 returns Call - * ConjunctiveExpression returns Call - * ConjunctiveExpression.Conjunction_1_0 returns Call - * ComparisonExpression returns Call - * ComparisonExpression.Comparison_1_0 returns Call - * AdditiveExpression returns Call - * AdditiveExpression.BinaryExpression_1_0 returns Call - * MultiplicativeExpression returns Call - * MultiplicativeExpression.BinaryExpression_1_0 returns Call - * ExponentialExpression returns Call - * ExponentialExpression.BinaryExpression_1_0 returns Call - * UnaryExpression returns Call - * AggregationExpression returns Call - * AtomicExpression returns Call - * - * Constraint: - * (functor=AtomicExpression_Call_0_1_0 argumentList=ArgumentList) - */ - protected void sequence_AtomicExpression(ISerializationContext context, Call semanticObject) { - if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST)); - } - SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getAtomicExpressionAccess().getCallFunctorAction_0_1_0(), semanticObject.getFunctor()); - feeder.accept(grammarAccess.getAtomicExpressionAccess().getArgumentListArgumentListParserRuleCall_0_1_1_0(), semanticObject.getArgumentList()); - feeder.finish(); - } - - /** * Contexts: * Multiplicity returns BoundedMultiplicity @@ -506,10 +440,34 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: + * AssertionOrDefinition.Assertion_1_0_0 returns Call + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call + * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call + * Expression returns Call + * DisjunctiveExpression returns Call + * DisjunctiveExpression.Disjunction_1_0_0 returns Call + * DisjunctiveExpression.Case_1_1_0 returns Call + * ConjunctiveExpression returns Call + * ConjunctiveExpression.Conjunction_1_0 returns Call + * ComparisonExpression returns Call + * ComparisonExpression.Comparison_1_0 returns Call + * AdditiveExpression returns Call + * AdditiveExpression.BinaryExpression_1_0 returns Call + * MultiplicativeExpression returns Call + * MultiplicativeExpression.BinaryExpression_1_0 returns Call + * ExponentialExpression returns Call + * ExponentialExpression.BinaryExpression_1_0 returns Call + * UnaryExpression returns Call + * AggregationExpression returns Call + * AtomicExpression returns Call * Call returns Call * * Constraint: - * (functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList) + * ( + * functor=Reference + * (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? + * argumentList=ArgumentList + * ) */ protected void sequence_Call(ISerializationContext context, Call semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -539,8 +497,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns Statement - * ClassDefinition returns Statement + * Statement returns ClassDefinition + * ClassDefinition returns ClassDefinition * * Constraint: * ( @@ -550,7 +508,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * members+=MemberDefinition* * ) */ - protected void sequence_ClassDefinition(ISerializationContext context, Statement semanticObject) { + protected void sequence_ClassDefinition(ISerializationContext context, ClassDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); } @@ -1252,7 +1210,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * UnaryExpression returns Reference * AggregationExpression returns Reference * AtomicExpression returns Reference - * AtomicExpression.Call_0_1_0 returns Reference * Reference returns Reference * * Constraint: diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java index 861f2125..1fa1a820 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java @@ -20,58 +20,46 @@ import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer { protected SolverLanguageGrammarAccess grammarAccess; - protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_3_0_a; - protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_3_0_p; + protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_4_0_a; + protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_4_0_p; protected AbstractElementAlias match_MemberDefinition_SemicolonKeyword_5_q; @Inject protected void init(IGrammarAccess access) { grammarAccess = (SolverLanguageGrammarAccess) access; - match_AtomicExpression_LeftParenthesisKeyword_3_0_a = new TokenAlias(true, true, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); - match_AtomicExpression_LeftParenthesisKeyword_3_0_p = new TokenAlias(true, false, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_3_0()); + match_AtomicExpression_LeftParenthesisKeyword_4_0_a = new TokenAlias(true, true, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); + match_AtomicExpression_LeftParenthesisKeyword_4_0_p = new TokenAlias(true, false, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); match_MemberDefinition_SemicolonKeyword_5_q = new TokenAlias(false, true, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); } @Override protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { - if (ruleCall.getRule() == grammarAccess.getDOTRule()) - return getDOTToken(semanticObject, ruleCall, node); - else if (ruleCall.getRule() == grammarAccess.getPLUSRule()) - return getPLUSToken(semanticObject, ruleCall, node); - else if (ruleCall.getRule() == grammarAccess.getSTARRule()) - return getSTARToken(semanticObject, ruleCall, node); + if (ruleCall.getRule() == grammarAccess.getFULL_STOPRule()) + return getFULL_STOPToken(semanticObject, ruleCall, node); + else if (ruleCall.getRule() == grammarAccess.getREFLEXIVE_TRANSITIVE_CLOSURERule()) + return getREFLEXIVE_TRANSITIVE_CLOSUREToken(semanticObject, ruleCall, node); + else if (ruleCall.getRule() == grammarAccess.getTRANSITIVE_CLOSURERule()) + return getTRANSITIVE_CLOSUREToken(semanticObject, ruleCall, node); return ""; } /** - * terminal DOT: - * "synthetic::dot"; + * Synthetic terminal rule. The concrete syntax is to be specified by clients. + * Defaults to the empty string. */ - protected String getDOTToken(EObject semanticObject, RuleCall ruleCall, INode node) { - if (node != null) - return getTokenText(node); - return "synthetic::dot"; - } + protected String getFULL_STOPToken(EObject semanticObject, RuleCall ruleCall, INode node) { return ""; } /** - * terminal PLUS: - * "synthetic::plus"; + * Synthetic terminal rule. The concrete syntax is to be specified by clients. + * Defaults to the empty string. */ - protected String getPLUSToken(EObject semanticObject, RuleCall ruleCall, INode node) { - if (node != null) - return getTokenText(node); - return "synthetic::plus"; - } + protected String getREFLEXIVE_TRANSITIVE_CLOSUREToken(EObject semanticObject, RuleCall ruleCall, INode node) { return ""; } /** - * terminal STAR: - * "synthetic::star"; + * Synthetic terminal rule. The concrete syntax is to be specified by clients. + * Defaults to the empty string. */ - protected String getSTARToken(EObject semanticObject, RuleCall ruleCall, INode node) { - if (node != null) - return getTokenText(node); - return "synthetic::star"; - } + protected String getTRANSITIVE_CLOSUREToken(EObject semanticObject, RuleCall ruleCall, INode node) { return ""; } @Override protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { @@ -79,10 +67,10 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer List transitionNodes = collectNodes(fromNode, toNode); for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { List syntaxNodes = getNodesFor(transitionNodes, syntax); - if (match_AtomicExpression_LeftParenthesisKeyword_3_0_a.equals(syntax)) - emit_AtomicExpression_LeftParenthesisKeyword_3_0_a(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_AtomicExpression_LeftParenthesisKeyword_3_0_p.equals(syntax)) - emit_AtomicExpression_LeftParenthesisKeyword_3_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + if (match_AtomicExpression_LeftParenthesisKeyword_4_0_a.equals(syntax)) + emit_AtomicExpression_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicExpression_LeftParenthesisKeyword_4_0_p.equals(syntax)) + emit_AtomicExpression_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes); else if (match_MemberDefinition_SemicolonKeyword_5_q.equals(syntax)) emit_MemberDefinition_SemicolonKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); @@ -99,6 +87,7 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer * (rule start) (ambiguity) 'empty' (rule start) * (rule start) (ambiguity) 'if' condition=Expression * (rule start) (ambiguity) 'inf' (rule start) + * (rule start) (ambiguity) functor=Reference * (rule start) (ambiguity) op=AggregationOp * (rule start) (ambiguity) op=UnaryOp * (rule start) (ambiguity) referred=[NamedElement|QualifiedName] @@ -106,13 +95,12 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer * (rule start) (ambiguity) value=Real * (rule start) (ambiguity) value=STRING * (rule start) (ambiguity) {BinaryExpression.left=} - * (rule start) (ambiguity) {Call.functor=} * (rule start) (ambiguity) {Comparison.left=} * (rule start) (ambiguity) {Conjunction.children+=} * (rule start) (ambiguity) {Disjunction.children+=} * (rule start) (ambiguity) {Switch.cases+=} */ - protected void emit_AtomicExpression_LeftParenthesisKeyword_3_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_AtomicExpression_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } @@ -131,7 +119,7 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer * (rule start) (ambiguity) {Disjunction.children+=} * (rule start) (ambiguity) {Switch.cases+=} */ - protected void emit_AtomicExpression_LeftParenthesisKeyword_3_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_AtomicExpression_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java index 7064938f..0252938a 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java @@ -56,17 +56,17 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cClassDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7); private final RuleCall cScopeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8); private final RuleCall cObjectiveDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9); - private final RuleCall cDOTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); //Statement: // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | - // ObjectiveDefinition) DOT; + // ObjectiveDefinition) FULL_STOP; @Override public ParserRule getRule() { return rule; } //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | - //ObjectiveDefinition) DOT + //ObjectiveDefinition) FULL_STOP public Group getGroup() { return cGroup; } //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | @@ -104,8 +104,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //ObjectiveDefinition public RuleCall getObjectiveDefinitionParserRuleCall_0_9() { return cObjectiveDefinitionParserRuleCall_0_9; } - //DOT - public RuleCall getDOTTerminalRuleCall_1() { return cDOTTerminalRuleCall_1; } + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; } } public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition"); @@ -344,13 +344,12 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); - private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); //ExternPredicateDefinition: - // "extern" head=Call "."; + // "extern" head=Call; @Override public ParserRule getRule() { return rule; } - //"extern" head=Call "." + //"extern" head=Call public Group getGroup() { return cGroup; } //"extern" @@ -361,9 +360,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Call public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } - - //"." - public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } } public class MetricDefinitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition"); @@ -956,61 +952,45 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { public class AtomicExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); - private final RuleCall cReferenceParserRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0); - private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1); - private final Action cCallFunctorAction_0_1_0 = (Action)cGroup_0_1.eContents().get(0); - private final Assignment cArgumentListAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1); - private final RuleCall cArgumentListArgumentListParserRuleCall_0_1_1_0 = (RuleCall)cArgumentListAssignment_0_1_1.eContents().get(0); - private final RuleCall cIntervalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); - private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final RuleCall cExpressionParserRuleCall_3_1 = (RuleCall)cGroup_3.eContents().get(1); - private final Keyword cRightParenthesisKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); + private final RuleCall cReferenceParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cCallParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cIntervalParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4); + private final Keyword cLeftParenthesisKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final RuleCall cExpressionParserRuleCall_4_1 = (RuleCall)cGroup_4.eContents().get(1); + private final Keyword cRightParenthesisKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2); //AtomicExpression Expression: - // Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")"; + // Reference | Call | Interval | Literal | "(" Expression ")"; @Override public ParserRule getRule() { return rule; } - //Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")" + //Reference | Call | Interval | Literal | "(" Expression ")" public Alternatives getAlternatives() { return cAlternatives; } - //Reference ({Call.functor=current} -> argumentList=ArgumentList)? - public Group getGroup_0() { return cGroup_0; } - //Reference - public RuleCall getReferenceParserRuleCall_0_0() { return cReferenceParserRuleCall_0_0; } - - //({Call.functor=current} -> argumentList=ArgumentList)? - public Group getGroup_0_1() { return cGroup_0_1; } + public RuleCall getReferenceParserRuleCall_0() { return cReferenceParserRuleCall_0; } - //{Call.functor=current} - public Action getCallFunctorAction_0_1_0() { return cCallFunctorAction_0_1_0; } - - //-> argumentList=ArgumentList - public Assignment getArgumentListAssignment_0_1_1() { return cArgumentListAssignment_0_1_1; } - - //ArgumentList - public RuleCall getArgumentListArgumentListParserRuleCall_0_1_1_0() { return cArgumentListArgumentListParserRuleCall_0_1_1_0; } + //Call + public RuleCall getCallParserRuleCall_1() { return cCallParserRuleCall_1; } //Interval - public RuleCall getIntervalParserRuleCall_1() { return cIntervalParserRuleCall_1; } + public RuleCall getIntervalParserRuleCall_2() { return cIntervalParserRuleCall_2; } //Literal - public RuleCall getLiteralParserRuleCall_2() { return cLiteralParserRuleCall_2; } + public RuleCall getLiteralParserRuleCall_3() { return cLiteralParserRuleCall_3; } //"(" Expression ")" - public Group getGroup_3() { return cGroup_3; } + public Group getGroup_4() { return cGroup_4; } //"(" - public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; } + public Keyword getLeftParenthesisKeyword_4_0() { return cLeftParenthesisKeyword_4_0; } //Expression - public RuleCall getExpressionParserRuleCall_3_1() { return cExpressionParserRuleCall_3_1; } + public RuleCall getExpressionParserRuleCall_4_1() { return cExpressionParserRuleCall_4_1; } //")" - public Keyword getRightParenthesisKeyword_3_2() { return cRightParenthesisKeyword_3_2; } + public Keyword getRightParenthesisKeyword_4_2() { return cRightParenthesisKeyword_4_2; } } public class CallElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Call"); @@ -1019,17 +999,19 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Assignment cTransitiveClosureAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); - private final RuleCall cTransitiveClosureSTARTerminalRuleCall_1_0_0 = (RuleCall)cTransitiveClosureAssignment_1_0.eContents().get(0); + private final RuleCall cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0 = (RuleCall)cTransitiveClosureAssignment_1_0.eContents().get(0); private final Assignment cReflexiveTransitiveClosureAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); - private final RuleCall cReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_1_1.eContents().get(0); + private final RuleCall cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_1_1.eContents().get(0); private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0); //Call: - // functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList; + // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? + // argumentList=ArgumentList; @Override public ParserRule getRule() { return rule; } - //functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList + //functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? + //argumentList=ArgumentList public Group getGroup() { return cGroup; } //functor=Reference @@ -1038,20 +1020,20 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Reference public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; } - //(transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? + //(transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? public Alternatives getAlternatives_1() { return cAlternatives_1; } - //transitiveClosure?=STAR + //transitiveClosure?=TRANSITIVE_CLOSURE public Assignment getTransitiveClosureAssignment_1_0() { return cTransitiveClosureAssignment_1_0; } - //STAR - public RuleCall getTransitiveClosureSTARTerminalRuleCall_1_0_0() { return cTransitiveClosureSTARTerminalRuleCall_1_0_0; } + //TRANSITIVE_CLOSURE + public RuleCall getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0() { return cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0; } - //reflexiveTransitiveClosure?=PLUS + //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE public Assignment getReflexiveTransitiveClosureAssignment_1_1() { return cReflexiveTransitiveClosureAssignment_1_1; } - //PLUS - public RuleCall getReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0() { return cReflexiveTransitiveClosurePLUSTerminalRuleCall_1_1_0; } + //REFLEXIVE_TRANSITIVE_CLOSURE + public RuleCall getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0() { return cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0; } //argumentList=ArgumentList public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } @@ -1428,7 +1410,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cMembersMemberDefinitionParserRuleCall_5_0 = (RuleCall)cMembersAssignment_5.eContents().get(0); private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - //ClassDefinition Statement: + //ClassDefinition: // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," // superclasses+=[NamedElement|QualifiedName])*)? // "{" members+=MemberDefinition* "}"; @@ -1769,15 +1751,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0); private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1); private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0); - private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); //BoundedScopeDefinition: // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" - // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) "."; + // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?); @Override public ParserRule getRule() { return rule; } //"scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" - //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) "." + //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) public Group getGroup() { return cGroup; } //"scope" @@ -1852,9 +1833,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //INT public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; } - - //"." - public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } } public class LowerBoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScopeDefinition"); @@ -1875,15 +1853,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0); - private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); //LowerBoundedScopeDefinition: // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" - // lowerBound=INT) "."; + // lowerBound=INT); @Override public ParserRule getRule() { return rule; } //"scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) - //"." public Group getGroup() { return cGroup; } //"scope" @@ -1933,9 +1909,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //INT public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; } - - //"." - public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } } public class ObjectiveDefinitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDefinition"); @@ -2584,9 +2557,10 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final QualifiedNameElements pQualifiedName; private final TerminalRule tSTRING; private final TerminalRule tQUOTED_ID; - private final TerminalRule tPLUS; - private final TerminalRule tSTAR; - private final TerminalRule tDOT; + private final TerminalRule tSL_COMMENT; + private final TerminalRule tTRANSITIVE_CLOSURE; + private final TerminalRule tREFLEXIVE_TRANSITIVE_CLOSURE; + private final TerminalRule tFULL_STOP; private final NamedElementElements pNamedElement; private final Grammar grammar; @@ -2662,9 +2636,10 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { this.pQualifiedName = new QualifiedNameElements(); this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID"); - this.tPLUS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PLUS"); - this.tSTAR = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STAR"); - this.tDOT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DOT"); + this.tSL_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.SL_COMMENT"); + this.tTRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); + this.tREFLEXIVE_TRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); + this.tFULL_STOP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FULL_STOP"); this.pNamedElement = new NamedElementElements(); } @@ -2708,7 +2683,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Statement: // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | - // ObjectiveDefinition) DOT; + // ObjectiveDefinition) FULL_STOP; public StatementElements getStatementAccess() { return pStatement; } @@ -2759,7 +2734,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //ExternPredicateDefinition: - // "extern" head=Call "."; + // "extern" head=Call; public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() { return pExternPredicateDefinition; } @@ -3000,7 +2975,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //AtomicExpression Expression: - // Reference ({Call.functor=current} -> argumentList=ArgumentList)? | Interval | Literal | "(" Expression ")"; + // Reference | Call | Interval | Literal | "(" Expression ")"; public AtomicExpressionElements getAtomicExpressionAccess() { return pAtomicExpression; } @@ -3010,7 +2985,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Call: - // functor=Reference (transitiveClosure?=STAR | reflexiveTransitiveClosure?=PLUS)? argumentList=ArgumentList; + // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? + // argumentList=ArgumentList; public CallElements getCallAccess() { return pCall; } @@ -3169,7 +3145,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getStringLiteralAccess().getRule(); } - //ClassDefinition Statement: + //ClassDefinition: // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," // superclasses+=[NamedElement|QualifiedName])*)? // "{" members+=MemberDefinition* "}"; @@ -3254,7 +3230,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //BoundedScopeDefinition: // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" - // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) "."; + // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?); public BoundedScopeDefinitionElements getBoundedScopeDefinitionAccess() { return pBoundedScopeDefinition; } @@ -3265,7 +3241,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //LowerBoundedScopeDefinition: // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" - // lowerBound=INT) "."; + // lowerBound=INT); public LowerBoundedScopeDefinitionElements getLowerBoundedScopeDefinitionAccess() { return pLowerBoundedScopeDefinition; } @@ -3337,22 +3313,29 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return tQUOTED_ID; } - //terminal PLUS: - // "synthetic::plus"; - public TerminalRule getPLUSRule() { - return tPLUS; + //@Override + //terminal SL_COMMENT: + // ('%' | '//') !('\n' | '\r')* ('\r'? '\n')?; + public TerminalRule getSL_COMMENTRule() { + return tSL_COMMENT; + } + + //terminal TRANSITIVE_CLOSURE: + // "synthetic:TRANSITIVE_CLOSURE"; + public TerminalRule getTRANSITIVE_CLOSURERule() { + return tTRANSITIVE_CLOSURE; } - //terminal STAR: - // "synthetic::star"; - public TerminalRule getSTARRule() { - return tSTAR; + //terminal REFLEXIVE_TRANSITIVE_CLOSURE: + // "synthetic:REFLEXIVE_TRANSITIVE_CLOSURE"; + public TerminalRule getREFLEXIVE_TRANSITIVE_CLOSURERule() { + return tREFLEXIVE_TRANSITIVE_CLOSURE; } - //terminal DOT: - // "synthetic::dot"; - public TerminalRule getDOTRule() { - return tDOT; + //terminal FULL_STOP: + // "synthetic:FULL_STOP"; + public TerminalRule getFULL_STOPRule() { + return tFULL_STOP; } //NamedElement: @@ -3383,12 +3366,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return gaTerminals.getML_COMMENTRule(); } - //terminal SL_COMMENT: - // '//' !('\n' | '\r')* ('\r'? '\n')?; - public TerminalRule getSL_COMMENTRule() { - return gaTerminals.getSL_COMMENTRule(); - } - //terminal WS: // ' ' | '\t' | '\r' | '\n'+; public TerminalRule getWSRule() { diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java index 538ac75c..70f7d15e 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java @@ -14,9 +14,9 @@ package org.eclipse.viatra.solver.language.solverLanguage; *

*
    *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor Functor}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}
  • *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure Transitive Closure}
  • *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}
  • *
* * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall() @@ -47,28 +47,6 @@ public interface Call extends Expression */ void setFunctor(Reference value); - /** - * Returns the value of the 'Argument List' containment reference. - * - * - * @return the value of the 'Argument List' containment reference. - * @see #setArgumentList(ArgumentList) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList() - * @model containment="true" - * @generated - */ - ArgumentList getArgumentList(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}' containment reference. - * - * - * @param value the new value of the 'Argument List' containment reference. - * @see #getArgumentList() - * @generated - */ - void setArgumentList(ArgumentList value); - /** * Returns the value of the 'Transitive Closure' attribute. * @@ -113,4 +91,26 @@ public interface Call extends Expression */ void setReflexiveTransitiveClosure(boolean value); + /** + * Returns the value of the 'Argument List' containment reference. + * + * + * @return the value of the 'Argument List' containment reference. + * @see #setArgumentList(ArgumentList) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList() + * @model containment="true" + * @generated + */ + ArgumentList getArgumentList(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}' containment reference. + * + * + * @param value the new value of the 'Argument List' containment reference. + * @see #getArgumentList() + * @generated + */ + void setArgumentList(ArgumentList value); + } // Call diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java new file mode 100644 index 00000000..9db15bfe --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java @@ -0,0 +1,97 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Class Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}
  • + *
+ * + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition() + * @model + * @generated + */ +public interface ClassDefinition extends Statement +{ + /** + * Returns the value of the 'Abstract' attribute. + * + * + * @return the value of the 'Abstract' attribute. + * @see #setAbstract(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Abstract() + * @model + * @generated + */ + boolean isAbstract(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}' attribute. + * + * + * @param value the new value of the 'Abstract' attribute. + * @see #isAbstract() + * @generated + */ + void setAbstract(boolean value); + + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Superclasses' reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}. + * + * + * @return the value of the 'Superclasses' reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Superclasses() + * @model + * @generated + */ + EList getSuperclasses(); + + /** + * Returns the value of the 'Members' containment reference list. + * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}. + * + * + * @return the value of the 'Members' containment reference list. + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Members() + * @model containment="true" + * @generated + */ + EList getMembers(); + +} // ClassDefinition diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java index cf5c8e62..f6e293b9 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java @@ -275,6 +275,15 @@ public interface SolverLanguageFactory extends EFactory */ StringLiteral createStringLiteral(); + /** + * Returns a new object of class 'Class Definition'. + * + * + * @return a new object of class 'Class Definition'. + * @generated + */ + ClassDefinition createClassDefinition(); + /** * Returns a new object of class 'Member Definition'. * diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java index d34acdb8..ac9279c3 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java @@ -97,1624 +97,588 @@ public interface SolverLanguagePackage extends EPackage int STATEMENT = 1; /** - * The feature id for the 'Abstract' attribute. + * The number of structural features of the 'Statement' class. * * * @generated * @ordered */ - int STATEMENT__ABSTRACT = 0; + int STATEMENT_FEATURE_COUNT = 0; /** - * The feature id for the 'Name' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl Predicate Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition() * @generated - * @ordered */ - int STATEMENT__NAME = 1; + int PREDICATE_DEFINITION = 2; /** - * The feature id for the 'Superclasses' reference list. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int STATEMENT__SUPERCLASSES = 2; + int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Members' containment reference list. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int STATEMENT__MEMBERS = 3; + int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Statement' class. + * The feature id for the 'Functional' attribute. * * * @generated * @ordered */ - int STATEMENT_FEATURE_COUNT = 4; + int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl Predicate Definition}' class. + * The feature id for the 'Error' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition() * @generated + * @ordered */ - int PREDICATE_DEFINITION = 2; + int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3; /** - * The feature id for the 'Abstract' attribute. + * The number of structural features of the 'Predicate Definition' class. * * * @generated * @ordered */ - int PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; + int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; /** - * The feature id for the 'Name' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl Unnamed Error Prediate Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition() * @generated - * @ordered */ - int PREDICATE_DEFINITION__NAME = STATEMENT__NAME; + int UNNAMED_ERROR_PREDIATE_DEFINITION = 3; /** - * The feature id for the 'Superclasses' reference list. + * The feature id for the 'Argument List' containment reference. * * * @generated * @ordered */ - int PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Members' containment reference list. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; + int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Head' containment reference. + * The number of structural features of the 'Unnamed Error Prediate Definition' class. * * * @generated * @ordered */ - int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * The feature id for the 'Body' containment reference. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl Default Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() * @generated - * @ordered */ - int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + int DEFAULT_DEFINITION = 4; /** - * The feature id for the 'Functional' attribute. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2; + int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Error' attribute. + * The feature id for the 'Range' containment reference. * * * @generated * @ordered */ - int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3; + int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Predicate Definition' class. + * The number of structural features of the 'Default Definition' class. * * * @generated * @ordered */ - int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; + int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl Unnamed Error Prediate Definition}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl Extern Predicate Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() * @generated */ - int UNNAMED_ERROR_PREDIATE_DEFINITION = 3; + int EXTERN_PREDICATE_DEFINITION = 5; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int UNNAMED_ERROR_PREDIATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; + int EXTERN_PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Name' attribute. + * The number of structural features of the 'Extern Predicate Definition' class. * * * @generated * @ordered */ - int UNNAMED_ERROR_PREDIATE_DEFINITION__NAME = STATEMENT__NAME; + int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Superclasses' reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl Metric Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition() * @generated - * @ordered */ - int UNNAMED_ERROR_PREDIATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int METRIC_DEFINITION = 6; /** - * The feature id for the 'Members' containment reference list. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int UNNAMED_ERROR_PREDIATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; + int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Argument List' containment reference. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0; + int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Body' containment reference. + * The feature id for the 'Type' attribute. * * * @generated * @ordered */ - int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2; /** - * The number of structural features of the 'Unnamed Error Prediate Definition' class. + * The number of structural features of the 'Metric Definition' class. * * * @generated * @ordered */ - int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl Default Definition}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl Extern Metric Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition() * @generated */ - int DEFAULT_DEFINITION = 4; + int EXTERN_METRIC_DEFINITION = 7; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Type' attribute. * * * @generated * @ordered */ - int DEFAULT_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; + int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Head' containment reference. * * * @generated * @ordered */ - int DEFAULT_DEFINITION__NAME = STATEMENT__NAME; + int EXTERN_METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Superclasses' reference list. + * The number of structural features of the 'Extern Metric Definition' class. * * * @generated * @ordered */ - int DEFAULT_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * The feature id for the 'Members' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl Expression}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression() * @generated - * @ordered */ - int DEFAULT_DEFINITION__MEMBERS = STATEMENT__MEMBERS; + int EXPRESSION = 8; /** - * The feature id for the 'Head' containment reference. + * The number of structural features of the 'Expression' class. * * * @generated * @ordered */ - int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Range' containment reference. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl If Else}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse() * @generated - * @ordered */ - int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1; + int IF_ELSE = 9; /** - * The number of structural features of the 'Default Definition' class. + * The feature id for the 'Condition' containment reference. * * * @generated * @ordered */ - int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl Extern Predicate Definition}' class. + * The feature id for the 'Then' containment reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition() * @generated + * @ordered */ - int EXTERN_PREDICATE_DEFINITION = 5; + int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Else' containment reference. * * * @generated * @ordered */ - int EXTERN_PREDICATE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; + int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 2; /** - * The feature id for the 'Name' attribute. + * The number of structural features of the 'If Else' class. * * * @generated * @ordered */ - int EXTERN_PREDICATE_DEFINITION__NAME = STATEMENT__NAME; + int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; /** - * The feature id for the 'Superclasses' reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl Case}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() * @generated - * @ordered */ - int EXTERN_PREDICATE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int CASE = 10; /** - * The feature id for the 'Members' containment reference list. + * The feature id for the 'Condition' containment reference. * * * @generated * @ordered */ - int EXTERN_PREDICATE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; + int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Head' containment reference. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int EXTERN_PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Extern Predicate Definition' class. + * The number of structural features of the 'Case' class. * * * @generated * @ordered */ - int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl Metric Definition}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl Count}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount() * @generated */ - int METRIC_DEFINITION = 6; + int COUNT = 11; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; + int COUNT__BODY = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Name' attribute. + * The number of structural features of the 'Count' class. * * * @generated * @ordered */ - int METRIC_DEFINITION__NAME = STATEMENT__NAME; + int COUNT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Superclasses' reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl Aggregation}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation() * @generated - * @ordered */ - int METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int AGGREGATION = 12; /** - * The feature id for the 'Members' containment reference list. + * The feature id for the 'Op' attribute. * * * @generated * @ordered */ - int METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS; + int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Head' containment reference. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0; + int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Body' containment reference. + * The feature id for the 'Condition' containment reference. * * * @generated * @ordered */ - int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1; + int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 2; /** - * The feature id for the 'Type' attribute. + * The number of structural features of the 'Aggregation' class. * * * @generated * @ordered */ - int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2; + int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; /** - * The number of structural features of the 'Metric Definition' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl Call}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall() * @generated - * @ordered */ - int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + int CALL = 13; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl Extern Metric Definition}' class. + * The feature id for the 'Functor' containment reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition() * @generated + * @ordered */ - int EXTERN_METRIC_DEFINITION = 7; + int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Transitive Closure' attribute. * * * @generated * @ordered */ - int EXTERN_METRIC_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; + int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Reflexive Transitive Closure' attribute. * * * @generated * @ordered */ - int EXTERN_METRIC_DEFINITION__NAME = STATEMENT__NAME; + int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2; /** - * The feature id for the 'Superclasses' reference list. + * The feature id for the 'Argument List' containment reference. * * * @generated * @ordered */ - int EXTERN_METRIC_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 3; /** - * The feature id for the 'Members' containment reference list. + * The number of structural features of the 'Call' class. * * * @generated * @ordered */ - int EXTERN_METRIC_DEFINITION__MEMBERS = STATEMENT__MEMBERS; + int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4; /** - * The feature id for the 'Type' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl Argument List}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList() * @generated - * @ordered */ - int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; + int ARGUMENT_LIST = 14; /** - * The feature id for the 'Head' containment reference. + * The feature id for the 'Arguments' containment reference list. * * * @generated * @ordered */ - int EXTERN_METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 1; + int ARGUMENT_LIST__ARGUMENTS = 0; /** - * The number of structural features of the 'Extern Metric Definition' class. + * The number of structural features of the 'Argument List' class. * * * @generated * @ordered */ - int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + int ARGUMENT_LIST_FEATURE_COUNT = 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl Expression}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl Argument}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument() * @generated */ - int EXPRESSION = 8; + int ARGUMENT = 15; /** - * The feature id for the 'Abstract' attribute. + * The number of structural features of the 'Argument' class. * * * @generated * @ordered */ - int EXPRESSION__ABSTRACT = STATEMENT__ABSTRACT; + int ARGUMENT_FEATURE_COUNT = 0; /** - * The feature id for the 'Name' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl Expression Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument() * @generated - * @ordered */ - int EXPRESSION__NAME = STATEMENT__NAME; + int EXPRESSION_ARGUMENT = 16; /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int EXPRESSION__SUPERCLASSES = STATEMENT__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int EXPRESSION__MEMBERS = STATEMENT__MEMBERS; - - /** - * The number of structural features of the 'Expression' class. - * - * - * @generated - * @ordered - */ - int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl If Else}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse() - * @generated - */ - int IF_ELSE = 9; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int IF_ELSE__ABSTRACT = EXPRESSION__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int IF_ELSE__NAME = EXPRESSION__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int IF_ELSE__SUPERCLASSES = EXPRESSION__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int IF_ELSE__MEMBERS = EXPRESSION__MEMBERS; - - /** - * The feature id for the 'Condition' containment reference. - * - * - * @generated - * @ordered - */ - int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Then' containment reference. - * - * - * @generated - * @ordered - */ - int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Else' containment reference. - * - * - * @generated - * @ordered - */ - int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'If Else' class. - * - * - * @generated - * @ordered - */ - int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl Case}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase() - * @generated - */ - int CASE = 10; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int CASE__ABSTRACT = EXPRESSION__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int CASE__NAME = EXPRESSION__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int CASE__SUPERCLASSES = EXPRESSION__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int CASE__MEMBERS = EXPRESSION__MEMBERS; - - /** - * The feature id for the 'Condition' containment reference. - * - * - * @generated - * @ordered - */ - int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Case' class. - * - * - * @generated - * @ordered - */ - int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl Count}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount() - * @generated - */ - int COUNT = 11; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int COUNT__ABSTRACT = EXPRESSION__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int COUNT__NAME = EXPRESSION__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int COUNT__SUPERCLASSES = EXPRESSION__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int COUNT__MEMBERS = EXPRESSION__MEMBERS; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int COUNT__BODY = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Count' class. - * - * - * @generated - * @ordered - */ - int COUNT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl Aggregation}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation() - * @generated - */ - int AGGREGATION = 12; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int AGGREGATION__ABSTRACT = EXPRESSION__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int AGGREGATION__NAME = EXPRESSION__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int AGGREGATION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int AGGREGATION__MEMBERS = EXPRESSION__MEMBERS; - - /** - * The feature id for the 'Op' attribute. - * - * - * @generated - * @ordered - */ - int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Condition' containment reference. - * - * - * @generated - * @ordered - */ - int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'Aggregation' class. - * - * - * @generated - * @ordered - */ - int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl Call}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall() - * @generated - */ - int CALL = 13; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int CALL__ABSTRACT = EXPRESSION__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int CALL__NAME = EXPRESSION__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int CALL__SUPERCLASSES = EXPRESSION__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int CALL__MEMBERS = EXPRESSION__MEMBERS; - - /** - * The feature id for the 'Functor' containment reference. - * - * - * @generated - * @ordered - */ - int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Argument List' containment reference. - * - * - * @generated - * @ordered - */ - int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Transitive Closure' attribute. - * - * - * @generated - * @ordered - */ - int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The feature id for the 'Reflexive Transitive Closure' attribute. - * - * - * @generated - * @ordered - */ - int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 3; - - /** - * The number of structural features of the 'Call' class. - * - * - * @generated - * @ordered - */ - int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl Argument List}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList() - * @generated - */ - int ARGUMENT_LIST = 14; - - /** - * The feature id for the 'Arguments' containment reference list. - * - * - * @generated - * @ordered - */ - int ARGUMENT_LIST__ARGUMENTS = 0; - - /** - * The number of structural features of the 'Argument List' class. - * - * - * @generated - * @ordered - */ - int ARGUMENT_LIST_FEATURE_COUNT = 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl Argument}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument() - * @generated - */ - int ARGUMENT = 15; - - /** - * The number of structural features of the 'Argument' class. - * - * - * @generated - * @ordered - */ - int ARGUMENT_FEATURE_COUNT = 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl Expression Argument}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument() - * @generated - */ - int EXPRESSION_ARGUMENT = 16; - - /** - * The feature id for the 'Body' containment reference. - * - * - * @generated - * @ordered - */ - int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Expression Argument' class. - * - * - * @generated - * @ordered - */ - int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl Star Argument}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument() - * @generated - */ - int STAR_ARGUMENT = 17; - - /** - * The number of structural features of the 'Star Argument' class. - * - * - * @generated - * @ordered - */ - int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl Typed Argument}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument() - * @generated - */ - int TYPED_ARGUMENT = 18; - - /** - * The feature id for the 'Type' reference. - * - * - * @generated - * @ordered - */ - int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Variable' reference. - * - * - * @generated - * @ordered - */ - int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Typed Argument' class. - * - * - * @generated - * @ordered - */ - int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl Typed Star Argument}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument() - * @generated - */ - int TYPED_STAR_ARGUMENT = 19; - - /** - * The feature id for the 'Type' reference. - * - * - * @generated - * @ordered - */ - int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Typed Star Argument' class. - * - * - * @generated - * @ordered - */ - int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl Reference}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference() - * @generated - */ - int REFERENCE = 20; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int REFERENCE__ABSTRACT = EXPRESSION__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int REFERENCE__NAME = EXPRESSION__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int REFERENCE__SUPERCLASSES = EXPRESSION__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int REFERENCE__MEMBERS = EXPRESSION__MEMBERS; - - /** - * The feature id for the 'Referred' reference. - * - * - * @generated - * @ordered - */ - int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Reference' class. - * - * - * @generated - * @ordered - */ - int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl Interval}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval() - * @generated - */ - int INTERVAL = 21; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int INTERVAL__ABSTRACT = EXPRESSION__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int INTERVAL__NAME = EXPRESSION__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int INTERVAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int INTERVAL__MEMBERS = EXPRESSION__MEMBERS; - - /** - * The feature id for the 'Lower Bound' containment reference. - * - * - * @generated - * @ordered - */ - int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Upper Bound' containment reference. - * - * - * @generated - * @ordered - */ - int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Interval' class. - * - * - * @generated - * @ordered - */ - int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() - * @generated - */ - int LITERAL = 22; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int LITERAL__ABSTRACT = EXPRESSION__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int LITERAL__NAME = EXPRESSION__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int LITERAL__SUPERCLASSES = EXPRESSION__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int LITERAL__MEMBERS = EXPRESSION__MEMBERS; - - /** - * The number of structural features of the 'Literal' class. - * - * - * @generated - * @ordered - */ - int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl Logic Literal}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral() - * @generated - */ - int LOGIC_LITERAL = 23; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int LOGIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int LOGIC_LITERAL__NAME = LITERAL__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int LOGIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int LOGIC_LITERAL__MEMBERS = LITERAL__MEMBERS; - - /** - * The feature id for the 'Value' attribute. - * - * - * @generated - * @ordered - */ - int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Logic Literal' class. - * - * - * @generated - * @ordered - */ - int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl Numeric Literal}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral() - * @generated - */ - int NUMERIC_LITERAL = 24; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int NUMERIC_LITERAL__ABSTRACT = LITERAL__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int NUMERIC_LITERAL__NAME = LITERAL__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int NUMERIC_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int NUMERIC_LITERAL__MEMBERS = LITERAL__MEMBERS; - - /** - * The feature id for the 'Value' attribute. - * - * - * @generated - * @ordered - */ - int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Numeric Literal' class. - * - * - * @generated - * @ordered - */ - int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl Infinity Literal}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral() - * @generated - */ - int INFINITY_LITERAL = 25; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int INFINITY_LITERAL__ABSTRACT = LITERAL__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int INFINITY_LITERAL__NAME = LITERAL__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int INFINITY_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int INFINITY_LITERAL__MEMBERS = LITERAL__MEMBERS; - - /** - * The number of structural features of the 'Infinity Literal' class. - * - * - * @generated - * @ordered - */ - int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl Empty Interval Literal}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral() - * @generated - */ - int EMPTY_INTERVAL_LITERAL = 26; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int EMPTY_INTERVAL_LITERAL__ABSTRACT = LITERAL__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int EMPTY_INTERVAL_LITERAL__NAME = LITERAL__NAME; - - /** - * The feature id for the 'Superclasses' reference list. - * - * - * @generated - * @ordered - */ - int EMPTY_INTERVAL_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; - - /** - * The feature id for the 'Members' containment reference list. - * - * - * @generated - * @ordered - */ - int EMPTY_INTERVAL_LITERAL__MEMBERS = LITERAL__MEMBERS; - - /** - * The number of structural features of the 'Empty Interval Literal' class. - * - * - * @generated - * @ordered - */ - int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl String Literal}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral() - * @generated - */ - int STRING_LITERAL = 27; - - /** - * The feature id for the 'Abstract' attribute. - * - * - * @generated - * @ordered - */ - int STRING_LITERAL__ABSTRACT = LITERAL__ABSTRACT; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int STRING_LITERAL__NAME = LITERAL__NAME; - - /** - * The feature id for the 'Superclasses' reference list. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int STRING_LITERAL__SUPERCLASSES = LITERAL__SUPERCLASSES; + int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Members' containment reference list. + * The number of structural features of the 'Expression Argument' class. * * * @generated * @ordered */ - int STRING_LITERAL__MEMBERS = LITERAL__MEMBERS; + int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Value' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl Star Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument() * @generated - * @ordered */ - int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; + int STAR_ARGUMENT = 17; /** - * The number of structural features of the 'String Literal' class. + * The number of structural features of the 'Star Argument' class. * * * @generated * @ordered */ - int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl Member Definition}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition() - * @generated - */ - int MEMBER_DEFINITION = 28; + int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Containment' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl Typed Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument() * @generated - * @ordered */ - int MEMBER_DEFINITION__CONTAINMENT = 0; + int TYPED_ARGUMENT = 18; /** * The feature id for the 'Type' reference. @@ -1723,375 +687,269 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int MEMBER_DEFINITION__TYPE = 1; - - /** - * The feature id for the 'Multiplicity' containment reference. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION__MULTIPLICITY = 2; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION__NAME = 3; - - /** - * The feature id for the 'Opposite' reference. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION__OPPOSITE = 4; - - /** - * The number of structural features of the 'Member Definition' class. - * - * - * @generated - * @ordered - */ - int MEMBER_DEFINITION_FEATURE_COUNT = 5; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl Multiplicity}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity() - * @generated - */ - int MULTIPLICITY = 29; - - /** - * The number of structural features of the 'Multiplicity' class. - * - * - * @generated - * @ordered - */ - int MULTIPLICITY_FEATURE_COUNT = 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl Many Multiplicity}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() - * @generated - */ - int MANY_MULTIPLICITY = 30; - - /** - * The number of structural features of the 'Many Multiplicity' class. - * - * - * @generated - * @ordered - */ - int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl Exact Multiplicity}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() - * @generated - */ - int EXACT_MULTIPLICITY = 31; + int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Multiplicity' attribute. + * The feature id for the 'Variable' reference. * * * @generated * @ordered */ - int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0; + int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Exact Multiplicity' class. + * The number of structural features of the 'Typed Argument' class. * * * @generated * @ordered */ - int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl Bounded Multiplicity}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() - * @generated - */ - int BOUNDED_MULTIPLICITY = 32; + int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2; /** - * The feature id for the 'Lower Bound' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl Typed Star Argument}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument() * @generated - * @ordered */ - int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0; + int TYPED_STAR_ARGUMENT = 19; /** - * The feature id for the 'Upper Bound' attribute. + * The feature id for the 'Type' reference. * * * @generated * @ordered */ - int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1; + int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Bounded Multiplicity' class. + * The number of structural features of the 'Typed Star Argument' class. * * * @generated * @ordered */ - int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl Scope Definition}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition() - * @generated - */ - int SCOPE_DEFINITION = 33; + int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Abstract' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl Reference}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference() * @generated - * @ordered */ - int SCOPE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; + int REFERENCE = 20; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Referred' reference. * * * @generated * @ordered */ - int SCOPE_DEFINITION__NAME = STATEMENT__NAME; + int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Superclasses' reference list. + * The number of structural features of the 'Reference' class. * * * @generated * @ordered */ - int SCOPE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Members' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl Interval}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval() * @generated - * @ordered */ - int SCOPE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; + int INTERVAL = 21; /** - * The feature id for the 'Type' reference. + * The feature id for the 'Lower Bound' containment reference. * * * @generated * @ordered */ - int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; + int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Scope Definition' class. + * The feature id for the 'Upper Bound' containment reference. * * * @generated * @ordered */ - int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl Exact Scope Definition}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition() - * @generated - */ - int EXACT_SCOPE_DEFINITION = 34; + int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Abstract' attribute. + * The number of structural features of the 'Interval' class. * * * @generated * @ordered */ - int EXACT_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT; + int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; /** - * The feature id for the 'Name' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl Literal}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() * @generated - * @ordered */ - int EXACT_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME; + int LITERAL = 22; /** - * The feature id for the 'Superclasses' reference list. + * The number of structural features of the 'Literal' class. * * * @generated * @ordered */ - int EXACT_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES; + int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Members' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl Logic Literal}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral() * @generated - * @ordered */ - int EXACT_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS; + int LOGIC_LITERAL = 23; /** - * The feature id for the 'Type' reference. + * The feature id for the 'Value' attribute. * * * @generated * @ordered */ - int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; /** - * The feature id for the 'Exact Scope' attribute. + * The number of structural features of the 'Logic Literal' class. * * * @generated * @ordered */ - int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0; + int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; /** - * The number of structural features of the 'Exact Scope Definition' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl Numeric Literal}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral() * @generated - * @ordered */ - int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; + int NUMERIC_LITERAL = 24; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl Bounded Scope Definition}' class. + * The feature id for the 'Value' attribute. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition() * @generated + * @ordered */ - int BOUNDED_SCOPE_DEFINITION = 35; + int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; /** - * The feature id for the 'Abstract' attribute. + * The number of structural features of the 'Numeric Literal' class. * * * @generated * @ordered */ - int BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT; + int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; /** - * The feature id for the 'Name' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl Infinity Literal}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral() * @generated - * @ordered */ - int BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME; + int INFINITY_LITERAL = 25; /** - * The feature id for the 'Superclasses' reference list. + * The number of structural features of the 'Infinity Literal' class. * * * @generated * @ordered */ - int BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES; + int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; /** - * The feature id for the 'Members' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl Empty Interval Literal}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral() * @generated - * @ordered */ - int BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS; + int EMPTY_INTERVAL_LITERAL = 26; /** - * The feature id for the 'Type' reference. + * The number of structural features of the 'Empty Interval Literal' class. * * * @generated * @ordered */ - int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0; /** - * The feature id for the 'Lower Bound' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl String Literal}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral() * @generated - * @ordered */ - int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; + int STRING_LITERAL = 27; /** - * The feature id for the 'Upper Bound' attribute. + * The feature id for the 'Value' attribute. * * * @generated * @ordered */ - int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1; + int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Bounded Scope Definition' class. + * The number of structural features of the 'String Literal' class. * * * @generated * @ordered */ - int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2; + int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl Lower Bounded Scope Definition}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl Class Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition() * @generated */ - int LOWER_BOUNDED_SCOPE_DEFINITION = 36; + int CLASS_DEFINITION = 28; /** * The feature id for the 'Abstract' attribute. @@ -2100,7 +958,7 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int LOWER_BOUNDED_SCOPE_DEFINITION__ABSTRACT = SCOPE_DEFINITION__ABSTRACT; + int CLASS_DEFINITION__ABSTRACT = STATEMENT_FEATURE_COUNT + 0; /** * The feature id for the 'Name' attribute. @@ -2109,7 +967,7 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int LOWER_BOUNDED_SCOPE_DEFINITION__NAME = SCOPE_DEFINITION__NAME; + int CLASS_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1; /** * The feature id for the 'Superclasses' reference list. @@ -2118,7 +976,7 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int LOWER_BOUNDED_SCOPE_DEFINITION__SUPERCLASSES = SCOPE_DEFINITION__SUPERCLASSES; + int CLASS_DEFINITION__SUPERCLASSES = STATEMENT_FEATURE_COUNT + 2; /** * The feature id for the 'Members' containment reference list. @@ -2127,53 +985,53 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int LOWER_BOUNDED_SCOPE_DEFINITION__MEMBERS = SCOPE_DEFINITION__MEMBERS; + int CLASS_DEFINITION__MEMBERS = STATEMENT_FEATURE_COUNT + 3; /** - * The feature id for the 'Type' reference. + * The number of structural features of the 'Class Definition' class. * * * @generated * @ordered */ - int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; + int CLASS_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; /** - * The feature id for the 'Lower Bound' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl Member Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition() * @generated - * @ordered */ - int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; + int MEMBER_DEFINITION = 29; /** - * The number of structural features of the 'Lower Bounded Scope Definition' class. + * The feature id for the 'Containment' attribute. * * * @generated * @ordered */ - int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; + int MEMBER_DEFINITION__CONTAINMENT = 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl Objective Definition}' class. + * The feature id for the 'Type' reference. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition() * @generated + * @ordered */ - int OBJECTIVE_DEFINITION = 37; + int MEMBER_DEFINITION__TYPE = 1; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Multiplicity' containment reference. * * * @generated * @ordered */ - int OBJECTIVE_DEFINITION__ABSTRACT = STATEMENT__ABSTRACT; + int MEMBER_DEFINITION__MULTIPLICITY = 2; /** * The feature id for the 'Name' attribute. @@ -2182,473 +1040,472 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int OBJECTIVE_DEFINITION__NAME = STATEMENT__NAME; + int MEMBER_DEFINITION__NAME = 3; /** - * The feature id for the 'Superclasses' reference list. + * The feature id for the 'Opposite' reference. * * * @generated * @ordered */ - int OBJECTIVE_DEFINITION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int MEMBER_DEFINITION__OPPOSITE = 4; /** - * The feature id for the 'Members' containment reference list. + * The number of structural features of the 'Member Definition' class. * * * @generated * @ordered */ - int OBJECTIVE_DEFINITION__MEMBERS = STATEMENT__MEMBERS; + int MEMBER_DEFINITION_FEATURE_COUNT = 5; /** - * The feature id for the 'Kind' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl Multiplicity}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity() * @generated - * @ordered */ - int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0; + int MULTIPLICITY = 30; /** - * The feature id for the 'Objective' containment reference. + * The number of structural features of the 'Multiplicity' class. * * * @generated * @ordered */ - int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1; + int MULTIPLICITY_FEATURE_COUNT = 0; /** - * The number of structural features of the 'Objective Definition' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl Many Multiplicity}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity() * @generated - * @ordered */ - int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + int MANY_MULTIPLICITY = 31; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl Named Element}' class. + * The number of structural features of the 'Many Multiplicity' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement() * @generated + * @ordered */ - int NAMED_ELEMENT = 38; + int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0; /** - * The feature id for the 'Name' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl Exact Multiplicity}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity() * @generated - * @ordered */ - int NAMED_ELEMENT__NAME = 0; + int EXACT_MULTIPLICITY = 32; /** - * The number of structural features of the 'Named Element' class. + * The feature id for the 'Multiplicity' attribute. * * * @generated * @ordered */ - int NAMED_ELEMENT_FEATURE_COUNT = 1; + int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl Assertion}' class. + * The number of structural features of the 'Exact Multiplicity' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion() * @generated + * @ordered */ - int ASSERTION = 39; + int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1; /** - * The feature id for the 'Abstract' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl Bounded Multiplicity}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity() * @generated - * @ordered */ - int ASSERTION__ABSTRACT = STATEMENT__ABSTRACT; + int BOUNDED_MULTIPLICITY = 33; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Lower Bound' attribute. * * * @generated * @ordered */ - int ASSERTION__NAME = STATEMENT__NAME; + int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0; /** - * The feature id for the 'Superclasses' reference list. + * The feature id for the 'Upper Bound' attribute. * * * @generated * @ordered */ - int ASSERTION__SUPERCLASSES = STATEMENT__SUPERCLASSES; + int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1; /** - * The feature id for the 'Members' containment reference list. + * The number of structural features of the 'Bounded Multiplicity' class. * * * @generated * @ordered */ - int ASSERTION__MEMBERS = STATEMENT__MEMBERS; + int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2; /** - * The feature id for the 'Body' containment reference. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl Scope Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition() * @generated - * @ordered */ - int ASSERTION__BODY = STATEMENT_FEATURE_COUNT + 0; + int SCOPE_DEFINITION = 34; /** - * The feature id for the 'Range' containment reference. + * The feature id for the 'Type' reference. * * * @generated * @ordered */ - int ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1; + int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Assertion' class. + * The number of structural features of the 'Scope Definition' class. * * * @generated * @ordered */ - int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl Disjunction}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl Exact Scope Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition() * @generated */ - int DISJUNCTION = 40; + int EXACT_SCOPE_DEFINITION = 35; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Type' reference. * * * @generated * @ordered */ - int DISJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT; + int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Exact Scope' attribute. * * * @generated * @ordered */ - int DISJUNCTION__NAME = EXPRESSION__NAME; + int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0; /** - * The feature id for the 'Superclasses' reference list. + * The number of structural features of the 'Exact Scope Definition' class. * * * @generated * @ordered */ - int DISJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; /** - * The feature id for the 'Members' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl Bounded Scope Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition() * @generated - * @ordered */ - int DISJUNCTION__MEMBERS = EXPRESSION__MEMBERS; + int BOUNDED_SCOPE_DEFINITION = 36; /** - * The feature id for the 'Children' containment reference list. + * The feature id for the 'Type' reference. * * * @generated * @ordered */ - int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; + int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; /** - * The number of structural features of the 'Disjunction' class. + * The feature id for the 'Lower Bound' attribute. * * * @generated * @ordered */ - int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl Switch}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch() - * @generated - */ - int SWITCH = 41; + int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Upper Bound' attribute. * * * @generated * @ordered */ - int SWITCH__ABSTRACT = EXPRESSION__ABSTRACT; + int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1; /** - * The feature id for the 'Name' attribute. + * The number of structural features of the 'Bounded Scope Definition' class. * * * @generated * @ordered */ - int SWITCH__NAME = EXPRESSION__NAME; + int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2; /** - * The feature id for the 'Superclasses' reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl Lower Bounded Scope Definition}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition() * @generated - * @ordered */ - int SWITCH__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + int LOWER_BOUNDED_SCOPE_DEFINITION = 37; /** - * The feature id for the 'Members' containment reference list. + * The feature id for the 'Type' reference. * * * @generated * @ordered */ - int SWITCH__MEMBERS = EXPRESSION__MEMBERS; + int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE; /** - * The feature id for the 'Cases' containment reference list. + * The feature id for the 'Lower Bound' attribute. * * * @generated * @ordered */ - int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0; + int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Switch' class. + * The number of structural features of the 'Lower Bounded Scope Definition' class. * * * @generated * @ordered */ - int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl Conjunction}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl Objective Definition}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition() * @generated */ - int CONJUNCTION = 42; + int OBJECTIVE_DEFINITION = 38; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Kind' attribute. * * * @generated * @ordered */ - int CONJUNCTION__ABSTRACT = EXPRESSION__ABSTRACT; + int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Objective' containment reference. * * * @generated * @ordered */ - int CONJUNCTION__NAME = EXPRESSION__NAME; + int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Superclasses' reference list. + * The number of structural features of the 'Objective Definition' class. * * * @generated * @ordered */ - int CONJUNCTION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * The feature id for the 'Members' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl Named Element}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement() * @generated - * @ordered */ - int CONJUNCTION__MEMBERS = EXPRESSION__MEMBERS; + int NAMED_ELEMENT = 39; /** - * The feature id for the 'Children' containment reference list. + * The feature id for the 'Name' attribute. * * * @generated * @ordered */ - int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; + int NAMED_ELEMENT__NAME = 0; /** - * The number of structural features of the 'Conjunction' class. + * The number of structural features of the 'Named Element' class. * * * @generated * @ordered */ - int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + int NAMED_ELEMENT_FEATURE_COUNT = 1; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl Comparison}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl Assertion}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion() * @generated */ - int COMPARISON = 43; + int ASSERTION = 40; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Body' containment reference. * * * @generated * @ordered */ - int COMPARISON__ABSTRACT = EXPRESSION__ABSTRACT; + int ASSERTION__BODY = STATEMENT_FEATURE_COUNT + 0; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Range' containment reference. * * * @generated * @ordered */ - int COMPARISON__NAME = EXPRESSION__NAME; + int ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1; /** - * The feature id for the 'Superclasses' reference list. + * The number of structural features of the 'Assertion' class. * * * @generated * @ordered */ - int COMPARISON__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; /** - * The feature id for the 'Members' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl Disjunction}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction() * @generated - * @ordered */ - int COMPARISON__MEMBERS = EXPRESSION__MEMBERS; + int DISJUNCTION = 41; /** - * The feature id for the 'Left' containment reference. + * The feature id for the 'Children' containment reference list. * * * @generated * @ordered */ - int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0; + int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Op' attribute. + * The number of structural features of the 'Disjunction' class. * * * @generated * @ordered */ - int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1; + int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Right' containment reference. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl Switch}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch() * @generated - * @ordered */ - int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + int SWITCH = 42; /** - * The number of structural features of the 'Comparison' class. + * The feature id for the 'Cases' containment reference list. * * * @generated * @ordered */ - int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl Binary Expression}' class. + * The number of structural features of the 'Switch' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression() * @generated + * @ordered */ - int BINARY_EXPRESSION = 44; + int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Abstract' attribute. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl Conjunction}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction() * @generated - * @ordered */ - int BINARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT; + int CONJUNCTION = 43; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Children' containment reference list. * * * @generated * @ordered */ - int BINARY_EXPRESSION__NAME = EXPRESSION__NAME; + int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Superclasses' reference list. + * The number of structural features of the 'Conjunction' class. * * * @generated * @ordered */ - int BINARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Members' containment reference list. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl Comparison}' class. * * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison() * @generated - * @ordered */ - int BINARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS; + int COMPARISON = 44; /** * The feature id for the 'Left' containment reference. @@ -2657,7 +1514,7 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0; /** * The feature id for the 'Op' attribute. @@ -2666,7 +1523,7 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1; + int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1; /** * The feature id for the 'Right' containment reference. @@ -2675,62 +1532,72 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2; /** - * The number of structural features of the 'Binary Expression' class. + * The number of structural features of the 'Comparison' class. * * * @generated * @ordered */ - int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl Unary Expression}' class. + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl Binary Expression}' class. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression() * @generated */ - int UNARY_EXPRESSION = 45; + int BINARY_EXPRESSION = 45; /** - * The feature id for the 'Abstract' attribute. + * The feature id for the 'Left' containment reference. * * * @generated * @ordered */ - int UNARY_EXPRESSION__ABSTRACT = EXPRESSION__ABSTRACT; + int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Op' attribute. * * * @generated * @ordered */ - int UNARY_EXPRESSION__NAME = EXPRESSION__NAME; + int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1; /** - * The feature id for the 'Superclasses' reference list. + * The feature id for the 'Right' containment reference. * * * @generated * @ordered */ - int UNARY_EXPRESSION__SUPERCLASSES = EXPRESSION__SUPERCLASSES; + int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2; /** - * The feature id for the 'Members' containment reference list. + * The number of structural features of the 'Binary Expression' class. * * * @generated * @ordered */ - int UNARY_EXPRESSION__MEMBERS = EXPRESSION__MEMBERS; + int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl Unary Expression}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression() + * @generated + */ + int UNARY_EXPRESSION = 46; /** * The feature id for the 'Op' attribute. @@ -2767,7 +1634,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType() * @generated */ - int METRIC_TYPE = 46; + int METRIC_TYPE = 47; /** * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator Binary Operator}' enum. @@ -2777,7 +1644,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator() * @generated */ - int BINARY_OPERATOR = 47; + int BINARY_OPERATOR = 48; /** * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp Unary Op}' enum. @@ -2787,7 +1654,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp() * @generated */ - int UNARY_OP = 48; + int UNARY_OP = 49; /** * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp Aggregation Op}' enum. @@ -2797,7 +1664,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp() * @generated */ - int AGGREGATION_OP = 49; + int AGGREGATION_OP = 50; /** * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue Logic Value}' enum. @@ -2807,7 +1674,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue() * @generated */ - int LOGIC_VALUE = 50; + int LOGIC_VALUE = 51; /** * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind Objective Kind}' enum. @@ -2817,7 +1684,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind() * @generated */ - int OBJECTIVE_KIND = 51; + int OBJECTIVE_KIND = 52; /** @@ -2851,50 +1718,6 @@ public interface SolverLanguagePackage extends EPackage */ EClass getStatement(); - /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract Abstract}'. - * - * - * @return the meta object for the attribute 'Abstract'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract() - * @see #getStatement() - * @generated - */ - EAttribute getStatement_Abstract(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getName() - * @see #getStatement() - * @generated - */ - EAttribute getStatement_Name(); - - /** - * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses Superclasses}'. - * - * - * @return the meta object for the reference list 'Superclasses'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses() - * @see #getStatement() - * @generated - */ - EReference getStatement_Superclasses(); - - /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers Members}'. - * - * - * @return the meta object for the containment reference list 'Members'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers() - * @see #getStatement() - * @generated - */ - EReference getStatement_Members(); - /** * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition Predicate Definition}'. * @@ -3279,17 +2102,6 @@ public interface SolverLanguagePackage extends EPackage */ EReference getCall_Functor(); - /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}'. - * - * - * @return the meta object for the containment reference 'Argument List'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList() - * @see #getCall() - * @generated - */ - EReference getCall_ArgumentList(); - /** * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure Transitive Closure}'. * @@ -3312,6 +2124,17 @@ public interface SolverLanguagePackage extends EPackage */ EAttribute getCall_ReflexiveTransitiveClosure(); + /** + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList Argument List}'. + * + * + * @return the meta object for the containment reference 'Argument List'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList() + * @see #getCall() + * @generated + */ + EReference getCall_ArgumentList(); + /** * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList Argument List}'. * @@ -3573,6 +2396,60 @@ public interface SolverLanguagePackage extends EPackage */ EAttribute getStringLiteral_Value(); + /** + * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition Class Definition}'. + * + * + * @return the meta object for class 'Class Definition'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition + * @generated + */ + EClass getClassDefinition(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract Abstract}'. + * + * + * @return the meta object for the attribute 'Abstract'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract() + * @see #getClassDefinition() + * @generated + */ + EAttribute getClassDefinition_Abstract(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName() + * @see #getClassDefinition() + * @generated + */ + EAttribute getClassDefinition_Name(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses Superclasses}'. + * + * + * @return the meta object for the reference list 'Superclasses'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses() + * @see #getClassDefinition() + * @generated + */ + EReference getClassDefinition_Superclasses(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers Members}'. + * + * + * @return the meta object for the containment reference list 'Members'. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers() + * @see #getClassDefinition() + * @generated + */ + EReference getClassDefinition_Members(); + /** * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition Member Definition}'. * @@ -4183,38 +3060,6 @@ public interface SolverLanguagePackage extends EPackage */ EClass STATEMENT = eINSTANCE.getStatement(); - /** - * The meta object literal for the 'Abstract' attribute feature. - * - * - * @generated - */ - EAttribute STATEMENT__ABSTRACT = eINSTANCE.getStatement_Abstract(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute STATEMENT__NAME = eINSTANCE.getStatement_Name(); - - /** - * The meta object literal for the 'Superclasses' reference list feature. - * - * - * @generated - */ - EReference STATEMENT__SUPERCLASSES = eINSTANCE.getStatement_Superclasses(); - - /** - * The meta object literal for the 'Members' containment reference list feature. - * - * - * @generated - */ - EReference STATEMENT__MEMBERS = eINSTANCE.getStatement_Members(); - /** * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl Predicate Definition}' class. * @@ -4528,28 +3373,28 @@ public interface SolverLanguagePackage extends EPackage EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor(); /** - * The meta object literal for the 'Argument List' containment reference feature. + * The meta object literal for the 'Transitive Closure' attribute feature. * * * @generated */ - EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList(); + EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure(); /** - * The meta object literal for the 'Transitive Closure' attribute feature. + * The meta object literal for the 'Reflexive Transitive Closure' attribute feature. * * * @generated */ - EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure(); + EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure(); /** - * The meta object literal for the 'Reflexive Transitive Closure' attribute feature. + * The meta object literal for the 'Argument List' containment reference feature. * * * @generated */ - EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure(); + EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList(); /** * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl Argument List}' class. @@ -4779,6 +3624,48 @@ public interface SolverLanguagePackage extends EPackage */ EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value(); + /** + * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl Class Definition}' class. + * + * + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl + * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition() + * @generated + */ + EClass CLASS_DEFINITION = eINSTANCE.getClassDefinition(); + + /** + * The meta object literal for the 'Abstract' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DEFINITION__ABSTRACT = eINSTANCE.getClassDefinition_Abstract(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute CLASS_DEFINITION__NAME = eINSTANCE.getClassDefinition_Name(); + + /** + * The meta object literal for the 'Superclasses' reference list feature. + * + * + * @generated + */ + EReference CLASS_DEFINITION__SUPERCLASSES = eINSTANCE.getClassDefinition_Superclasses(); + + /** + * The meta object literal for the 'Members' containment reference list feature. + * + * + * @generated + */ + EReference CLASS_DEFINITION__MEMBERS = eINSTANCE.getClassDefinition_Members(); + /** * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl Member Definition}' class. * diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java index 9c3be9d6..7c8d208f 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java @@ -3,8 +3,6 @@ */ package org.eclipse.viatra.solver.language.solverLanguage; -import org.eclipse.emf.common.util.EList; - import org.eclipse.emf.ecore.EObject; /** @@ -12,15 +10,6 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object 'Statement'. * * - *

- * The following features are supported: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract Abstract}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName Name}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getSuperclasses Superclasses}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getMembers Members}
  • - *
* * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement() * @model @@ -28,72 +17,4 @@ import org.eclipse.emf.ecore.EObject; */ public interface Statement extends EObject { - /** - * Returns the value of the 'Abstract' attribute. - * - * - * @return the value of the 'Abstract' attribute. - * @see #setAbstract(boolean) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Abstract() - * @model - * @generated - */ - boolean isAbstract(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#isAbstract Abstract}' attribute. - * - * - * @param value the new value of the 'Abstract' attribute. - * @see #isAbstract() - * @generated - */ - void setAbstract(boolean value); - - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Name() - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Superclasses' reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}. - * - * - * @return the value of the 'Superclasses' reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Superclasses() - * @model - * @generated - */ - EList getSuperclasses(); - - /** - * Returns the value of the 'Members' containment reference list. - * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}. - * - * - * @return the value of the 'Members' containment reference list. - * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement_Members() - * @model containment="true" - * @generated - */ - EList getMembers(); - } // Statement diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java index fde31be5..01712ad3 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java @@ -25,9 +25,9 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; *

*
    *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getFunctor Functor}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList Argument List}
  • *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure Transitive Closure}
  • *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure Reflexive Transitive Closure}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList Argument List}
  • *
* * @generated @@ -44,16 +44,6 @@ public class CallImpl extends ExpressionImpl implements Call */ protected Reference functor; - /** - * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. - * - * - * @see #getArgumentList() - * @generated - * @ordered - */ - protected ArgumentList argumentList; - /** * The default value of the '{@link #isTransitiveClosure() Transitive Closure}' attribute. * @@ -94,6 +84,16 @@ public class CallImpl extends ExpressionImpl implements Call */ protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; + /** + * The cached value of the '{@link #getArgumentList() Argument List}' containment reference. + * + * + * @see #getArgumentList() + * @generated + * @ordered + */ + protected ArgumentList argumentList; + /** * * @@ -171,9 +171,9 @@ public class CallImpl extends ExpressionImpl implements Call * @generated */ @Override - public ArgumentList getArgumentList() + public boolean isTransitiveClosure() { - return argumentList; + return transitiveClosure; } /** @@ -181,16 +181,13 @@ public class CallImpl extends ExpressionImpl implements Call * * @generated */ - public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) + @Override + public void setTransitiveClosure(boolean newTransitiveClosure) { - ArgumentList oldArgumentList = argumentList; - argumentList = newArgumentList; + boolean oldTransitiveClosure = transitiveClosure; + transitiveClosure = newTransitiveClosure; if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure)); } /** @@ -199,20 +196,9 @@ public class CallImpl extends ExpressionImpl implements Call * @generated */ @Override - public void setArgumentList(ArgumentList newArgumentList) + public boolean isReflexiveTransitiveClosure() { - if (newArgumentList != argumentList) - { - NotificationChain msgs = null; - if (argumentList != null) - msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs); - if (newArgumentList != null) - msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs); - msgs = basicSetArgumentList(newArgumentList, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList)); + return reflexiveTransitiveClosure; } /** @@ -221,9 +207,12 @@ public class CallImpl extends ExpressionImpl implements Call * @generated */ @Override - public boolean isTransitiveClosure() + public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure) { - return transitiveClosure; + boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure; + reflexiveTransitiveClosure = newReflexiveTransitiveClosure; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure)); } /** @@ -232,12 +221,9 @@ public class CallImpl extends ExpressionImpl implements Call * @generated */ @Override - public void setTransitiveClosure(boolean newTransitiveClosure) + public ArgumentList getArgumentList() { - boolean oldTransitiveClosure = transitiveClosure; - transitiveClosure = newTransitiveClosure; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure)); + return argumentList; } /** @@ -245,10 +231,16 @@ public class CallImpl extends ExpressionImpl implements Call * * @generated */ - @Override - public boolean isReflexiveTransitiveClosure() + public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs) { - return reflexiveTransitiveClosure; + ArgumentList oldArgumentList = argumentList; + argumentList = newArgumentList; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; } /** @@ -257,12 +249,20 @@ public class CallImpl extends ExpressionImpl implements Call * @generated */ @Override - public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure) + public void setArgumentList(ArgumentList newArgumentList) { - boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure; - reflexiveTransitiveClosure = newReflexiveTransitiveClosure; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure)); + if (newArgumentList != argumentList) + { + NotificationChain msgs = null; + if (argumentList != null) + msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs); + if (newArgumentList != null) + msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs); + msgs = basicSetArgumentList(newArgumentList, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList)); } /** @@ -295,12 +295,12 @@ public class CallImpl extends ExpressionImpl implements Call { case SolverLanguagePackage.CALL__FUNCTOR: return getFunctor(); - case SolverLanguagePackage.CALL__ARGUMENT_LIST: - return getArgumentList(); case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: return isTransitiveClosure(); case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: return isReflexiveTransitiveClosure(); + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return getArgumentList(); } return super.eGet(featureID, resolve, coreType); } @@ -318,15 +318,15 @@ public class CallImpl extends ExpressionImpl implements Call case SolverLanguagePackage.CALL__FUNCTOR: setFunctor((Reference)newValue); return; - case SolverLanguagePackage.CALL__ARGUMENT_LIST: - setArgumentList((ArgumentList)newValue); - return; case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: setTransitiveClosure((Boolean)newValue); return; case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: setReflexiveTransitiveClosure((Boolean)newValue); return; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + setArgumentList((ArgumentList)newValue); + return; } super.eSet(featureID, newValue); } @@ -344,15 +344,15 @@ public class CallImpl extends ExpressionImpl implements Call case SolverLanguagePackage.CALL__FUNCTOR: setFunctor((Reference)null); return; - case SolverLanguagePackage.CALL__ARGUMENT_LIST: - setArgumentList((ArgumentList)null); - return; case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); return; case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT); return; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + setArgumentList((ArgumentList)null); + return; } super.eUnset(featureID); } @@ -369,12 +369,12 @@ public class CallImpl extends ExpressionImpl implements Call { case SolverLanguagePackage.CALL__FUNCTOR: return functor != null; - case SolverLanguagePackage.CALL__ARGUMENT_LIST: - return argumentList != null; case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE: return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE: return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT; + case SolverLanguagePackage.CALL__ARGUMENT_LIST: + return argumentList != null; } return super.eIsSet(featureID); } diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java new file mode 100644 index 00000000..f0a81764 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java @@ -0,0 +1,340 @@ +/** + * generated by Xtext 2.21.0 + */ +package org.eclipse.viatra.solver.language.solverLanguage.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; +import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; + +/** + * + * An implementation of the model object 'Class Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#isAbstract Abstract}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getName Name}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getSuperclasses Superclasses}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getMembers Members}
  • + *
+ * + * @generated + */ +public class ClassDefinitionImpl extends StatementImpl implements ClassDefinition +{ + /** + * The default value of the '{@link #isAbstract() Abstract}' attribute. + * + * + * @see #isAbstract() + * @generated + * @ordered + */ + protected static final boolean ABSTRACT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isAbstract() Abstract}' attribute. + * + * + * @see #isAbstract() + * @generated + * @ordered + */ + protected boolean abstract_ = ABSTRACT_EDEFAULT; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getSuperclasses() Superclasses}' reference list. + * + * + * @see #getSuperclasses() + * @generated + * @ordered + */ + protected EList superclasses; + + /** + * The cached value of the '{@link #getMembers() Members}' containment reference list. + * + * + * @see #getMembers() + * @generated + * @ordered + */ + protected EList members; + + /** + * + * + * @generated + */ + protected ClassDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return SolverLanguagePackage.Literals.CLASS_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public boolean isAbstract() + { + return abstract_; + } + + /** + * + * + * @generated + */ + @Override + public void setAbstract(boolean newAbstract) + { + boolean oldAbstract = abstract_; + abstract_ = newAbstract; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT, oldAbstract, abstract_)); + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getSuperclasses() + { + if (superclasses == null) + { + superclasses = new EObjectResolvingEList(NamedElement.class, this, SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES); + } + return superclasses; + } + + /** + * + * + * @generated + */ + @Override + public EList getMembers() + { + if (members == null) + { + members = new EObjectContainmentEList(MemberDefinition.class, this, SolverLanguagePackage.CLASS_DEFINITION__MEMBERS); + } + return members; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + return ((InternalEList)getMembers()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + return isAbstract(); + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + return getName(); + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + return getSuperclasses(); + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + return getMembers(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + setAbstract((Boolean)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + setName((String)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + getSuperclasses().clear(); + getSuperclasses().addAll((Collection)newValue); + return; + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + getMembers().clear(); + getMembers().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + setAbstract(ABSTRACT_EDEFAULT); + return; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + getSuperclasses().clear(); + return; + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + getMembers().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT: + return abstract_ != ABSTRACT_EDEFAULT; + case SolverLanguagePackage.CLASS_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES: + return superclasses != null && !superclasses.isEmpty(); + case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS: + return members != null && !members.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (abstract: "); + result.append(abstract_); + result.append(", name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ClassDefinitionImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java index 8a5976c2..509d7568 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java @@ -94,6 +94,7 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral(); case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral(); case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral(); + case SolverLanguagePackage.CLASS_DEFINITION: return createClassDefinition(); case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition(); case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity(); case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity(); @@ -507,6 +508,18 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan return stringLiteral; } + /** + * + * + * @generated + */ + @Override + public ClassDefinition createClassDefinition() + { + ClassDefinitionImpl classDefinition = new ClassDefinitionImpl(); + return classDefinition; + } + /** * * diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java index 393a2545..39f811b9 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java @@ -22,6 +22,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Call; import org.eclipse.viatra.solver.language.solverLanguage.Case; +import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; import org.eclipse.viatra.solver.language.solverLanguage.Comparison; import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; import org.eclipse.viatra.solver.language.solverLanguage.Count; @@ -270,6 +271,13 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan */ private EClass stringLiteralEClass = null; + /** + * + * + * @generated + */ + private EClass classDefinitionEClass = null; + /** * * @@ -534,50 +542,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan return statementEClass; } - /** - * - * - * @generated - */ - @Override - public EAttribute getStatement_Abstract() - { - return (EAttribute)statementEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getStatement_Name() - { - return (EAttribute)statementEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EReference getStatement_Superclasses() - { - return (EReference)statementEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - @Override - public EReference getStatement_Members() - { - return (EReference)statementEClass.getEStructuralFeatures().get(3); - } - /** * * @@ -980,9 +944,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getCall_ArgumentList() + public EAttribute getCall_TransitiveClosure() { - return (EReference)callEClass.getEStructuralFeatures().get(1); + return (EAttribute)callEClass.getEStructuralFeatures().get(1); } /** @@ -991,7 +955,7 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getCall_TransitiveClosure() + public EAttribute getCall_ReflexiveTransitiveClosure() { return (EAttribute)callEClass.getEStructuralFeatures().get(2); } @@ -1002,9 +966,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getCall_ReflexiveTransitiveClosure() + public EReference getCall_ArgumentList() { - return (EAttribute)callEClass.getEStructuralFeatures().get(3); + return (EReference)callEClass.getEStructuralFeatures().get(3); } /** @@ -1282,6 +1246,61 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0); } + /** + * + * + * @generated + */ + @Override + public EClass getClassDefinition() + { + return classDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getClassDefinition_Abstract() + { + return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getClassDefinition_Name() + { + return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getClassDefinition_Superclasses() + { + return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getClassDefinition_Members() + { + return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3); + } + /** * * @@ -1900,10 +1919,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan createEReference(problemEClass, PROBLEM__STATEMENTS); statementEClass = createEClass(STATEMENT); - createEAttribute(statementEClass, STATEMENT__ABSTRACT); - createEAttribute(statementEClass, STATEMENT__NAME); - createEReference(statementEClass, STATEMENT__SUPERCLASSES); - createEReference(statementEClass, STATEMENT__MEMBERS); predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION); createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD); @@ -1952,9 +1967,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan callEClass = createEClass(CALL); createEReference(callEClass, CALL__FUNCTOR); - createEReference(callEClass, CALL__ARGUMENT_LIST); createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE); createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE); + createEReference(callEClass, CALL__ARGUMENT_LIST); argumentListEClass = createEClass(ARGUMENT_LIST); createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS); @@ -1995,6 +2010,12 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan stringLiteralEClass = createEClass(STRING_LITERAL); createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE); + classDefinitionEClass = createEClass(CLASS_DEFINITION); + createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT); + createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME); + createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES); + createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS); + memberDefinitionEClass = createEClass(MEMBER_DEFINITION); createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT); createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE); @@ -2122,6 +2143,7 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan infinityLiteralEClass.getESuperTypes().add(this.getLiteral()); emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral()); stringLiteralEClass.getESuperTypes().add(this.getLiteral()); + classDefinitionEClass.getESuperTypes().add(this.getStatement()); manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); @@ -2143,10 +2165,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getStatement_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getStatement_Name(), ecorePackage.getEString(), "name", null, 0, 1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getStatement_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getStatement_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, Statement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getPredicateDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -2195,9 +2213,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getCall_Functor(), this.getReference(), null, "functor", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getCall_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getCall_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getCall_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(), "reflexiveTransitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCall_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getArgumentList_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, ArgumentList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -2238,6 +2256,12 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getClassDefinition_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getClassDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getClassDefinition_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getClassDefinition_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getMemberDefinition_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getMemberDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java index dbd697ec..d349d1a4 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java @@ -3,25 +3,10 @@ */ package org.eclipse.viatra.solver.language.solverLanguage.impl; -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; -import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.EObjectResolvingEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; -import org.eclipse.viatra.solver.language.solverLanguage.NamedElement; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; import org.eclipse.viatra.solver.language.solverLanguage.Statement; @@ -29,80 +14,11 @@ import org.eclipse.viatra.solver.language.solverLanguage.Statement; * * An implementation of the model object 'Statement'. * - *

- * The following features are implemented: - *

- *
    - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#isAbstract Abstract}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getName Name}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getSuperclasses Superclasses}
  • - *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl#getMembers Members}
  • - *
* * @generated */ public class StatementImpl extends MinimalEObjectImpl.Container implements Statement { - /** - * The default value of the '{@link #isAbstract() Abstract}' attribute. - * - * - * @see #isAbstract() - * @generated - * @ordered - */ - protected static final boolean ABSTRACT_EDEFAULT = false; - - /** - * The cached value of the '{@link #isAbstract() Abstract}' attribute. - * - * - * @see #isAbstract() - * @generated - * @ordered - */ - protected boolean abstract_ = ABSTRACT_EDEFAULT; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The cached value of the '{@link #getSuperclasses() Superclasses}' reference list. - * - * - * @see #getSuperclasses() - * @generated - * @ordered - */ - protected EList superclasses; - - /** - * The cached value of the '{@link #getMembers() Members}' containment reference list. - * - * - * @see #getMembers() - * @generated - * @ordered - */ - protected EList members; - /** * * @@ -124,218 +40,4 @@ public class StatementImpl extends MinimalEObjectImpl.Container implements State return SolverLanguagePackage.Literals.STATEMENT; } - /** - * - * - * @generated - */ - @Override - public boolean isAbstract() - { - return abstract_; - } - - /** - * - * - * @generated - */ - @Override - public void setAbstract(boolean newAbstract) - { - boolean oldAbstract = abstract_; - abstract_ = newAbstract; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__ABSTRACT, oldAbstract, abstract_)); - } - - /** - * - * - * @generated - */ - @Override - public String getName() - { - return name; - } - - /** - * - * - * @generated - */ - @Override - public void setName(String newName) - { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STATEMENT__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - @Override - public EList getSuperclasses() - { - if (superclasses == null) - { - superclasses = new EObjectResolvingEList(NamedElement.class, this, SolverLanguagePackage.STATEMENT__SUPERCLASSES); - } - return superclasses; - } - - /** - * - * - * @generated - */ - @Override - public EList getMembers() - { - if (members == null) - { - members = new EObjectContainmentEList(MemberDefinition.class, this, SolverLanguagePackage.STATEMENT__MEMBERS); - } - return members; - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case SolverLanguagePackage.STATEMENT__MEMBERS: - return ((InternalEList)getMembers()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case SolverLanguagePackage.STATEMENT__ABSTRACT: - return isAbstract(); - case SolverLanguagePackage.STATEMENT__NAME: - return getName(); - case SolverLanguagePackage.STATEMENT__SUPERCLASSES: - return getSuperclasses(); - case SolverLanguagePackage.STATEMENT__MEMBERS: - return getMembers(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case SolverLanguagePackage.STATEMENT__ABSTRACT: - setAbstract((Boolean)newValue); - return; - case SolverLanguagePackage.STATEMENT__NAME: - setName((String)newValue); - return; - case SolverLanguagePackage.STATEMENT__SUPERCLASSES: - getSuperclasses().clear(); - getSuperclasses().addAll((Collection)newValue); - return; - case SolverLanguagePackage.STATEMENT__MEMBERS: - getMembers().clear(); - getMembers().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.STATEMENT__ABSTRACT: - setAbstract(ABSTRACT_EDEFAULT); - return; - case SolverLanguagePackage.STATEMENT__NAME: - setName(NAME_EDEFAULT); - return; - case SolverLanguagePackage.STATEMENT__SUPERCLASSES: - getSuperclasses().clear(); - return; - case SolverLanguagePackage.STATEMENT__MEMBERS: - getMembers().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case SolverLanguagePackage.STATEMENT__ABSTRACT: - return abstract_ != ABSTRACT_EDEFAULT; - case SolverLanguagePackage.STATEMENT__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case SolverLanguagePackage.STATEMENT__SUPERCLASSES: - return superclasses != null && !superclasses.isEmpty(); - case SolverLanguagePackage.STATEMENT__MEMBERS: - return members != null && !members.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (abstract: "); - result.append(abstract_); - result.append(", name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - } //StatementImpl diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java index e46d6779..37b20718 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java @@ -216,6 +216,11 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl return createStringLiteralAdapter(); } @Override + public Adapter caseClassDefinition(ClassDefinition object) + { + return createClassDefinitionAdapter(); + } + @Override public Adapter caseMemberDefinition(MemberDefinition object) { return createMemberDefinitionAdapter(); @@ -747,6 +752,21 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl return null; } + /** + * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition Class Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition + * @generated + */ + public Adapter createClassDefinitionAdapter() + { + return null; + } + /** * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition Member Definition}'. * diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java index f64b6bc0..79a98ff7 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java @@ -311,6 +311,14 @@ public class SolverLanguageSwitch extends Switch if (result == null) result = defaultCase(theEObject); return result; } + case SolverLanguagePackage.CLASS_DEFINITION: + { + ClassDefinition classDefinition = (ClassDefinition)theEObject; + T result = caseClassDefinition(classDefinition); + if (result == null) result = caseStatement(classDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } case SolverLanguagePackage.MEMBER_DEFINITION: { MemberDefinition memberDefinition = (MemberDefinition)theEObject; @@ -913,6 +921,22 @@ public class SolverLanguageSwitch extends Switch return null; } + /** + * Returns the result of interpreting the object as an instance of 'Class Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Class Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseClassDefinition(ClassDefinition object) + { + return null; + } + /** * Returns the result of interpreting the object as an instance of 'Member Definition'. * -- cgit v1.2.3-54-g00ecf