From 820151b6d27643ba0927ca84d1bccadbd695a55d Mon Sep 17 00:00:00 2001 From: Oszkar Semerath Date: Wed, 6 May 2020 00:27:55 +0200 Subject: PS language update --- .../model/generated/SolverLanguage.ecore | 12 +- .../model/generated/SolverLanguage.genmodel | 8 +- .../viatra/solver/language/SolverLanguage.xtextbin | Bin 7297 -> 7164 bytes .../parser/antlr/internal/InternalSolverLanguage.g | 530 ++-- .../antlr/internal/InternalSolverLanguage.tokens | 48 +- .../internal/InternalSolverLanguageLexer.java | 397 +-- .../internal/InternalSolverLanguageParser.java | 3034 ++++++++++---------- .../SolverLanguageSemanticSequencer.java | 44 +- .../SolverLanguageSyntacticSequencer.java | 49 +- .../services/SolverLanguageGrammarAccess.java | 469 ++- .../language/solverLanguage/NamedObject.java | 2 +- .../solver/language/solverLanguage/Predicate.java | 46 + .../solverLanguage/SolverLanguageFactory.java | 18 - .../solverLanguage/SolverLanguagePackage.java | 230 +- .../solverLanguage/impl/PredicateImpl.java | 150 + .../impl/SolverLanguageFactoryImpl.java | 28 - .../impl/SolverLanguagePackageImpl.java | 71 +- .../util/SolverLanguageAdapterFactory.java | 42 - .../solverLanguage/util/SolverLanguageSwitch.java | 53 +- .../viatra/solver/language/SolverLanguage.xtext | 26 +- 20 files changed, 2509 insertions(+), 2748 deletions(-) (limited to 'Application/org.eclipse.viatra.solver.language') diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore index 9b26faa3..c18e4184 100644 --- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore +++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore @@ -32,7 +32,7 @@ - + @@ -53,18 +53,14 @@ + + - - - - - - diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel index c593e886..1da7a172 100644 --- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel +++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel @@ -52,15 +52,11 @@ + + - - - - - - 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 20f3e983..c999caec 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/internal/InternalSolverLanguage.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g index afd73c2d..501e2e59 100644 --- 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 @@ -410,43 +410,72 @@ ruleBasicInterpretation returns [EObject current=null] } ) ) - otherlv_1='(' - { - newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1()); - } ( + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); + } ( - { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_2_0()); - } - lv_objects_2_0=ruleComplexObject - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); + ( + ( + { + newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); + } + lv_objects_2_0=ruleComplexObject + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); + } + add( + $current, + "objects", + lv_objects_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); } - add( - $current, - "objects", - lv_objects_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); - afterParserOrEnumRuleCall(); - } - ) - )* - otherlv_3=')' - { - newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_3()); - } - otherlv_4=':' + ( + ( + { + newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); + } + lv_objects_4_0=ruleComplexObject + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); + } + add( + $current, + "objects", + lv_objects_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); + } + )? + otherlv_6=':' { - newLeafNode(otherlv_4, grammarAccess.getBasicInterpretationAccess().getColonKeyword_4()); + newLeafNode(otherlv_6, grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_5_0()); + newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); } - lv_value_5_0=ruleTruthValue + lv_value_7_0=ruleTruthValue { if ($current==null) { $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); @@ -454,7 +483,7 @@ ruleBasicInterpretation returns [EObject current=null] set( $current, "value", - lv_value_5_0, + lv_value_7_0, "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); afterParserOrEnumRuleCall(); } @@ -1196,279 +1225,144 @@ rulePredicate returns [EObject current=null] leaveRule(); }: ( - { - newCompositeNode(grammarAccess.getPredicateAccess().getPredicateSymbolParserRuleCall_0()); - } - this_PredicateSymbol_0=rulePredicateSymbol - { - $current = $this_PredicateSymbol_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getPredicateAccess().getErrorPredicateParserRuleCall_1()); - } - this_ErrorPredicate_1=ruleErrorPredicate - { - $current = $this_ErrorPredicate_1.current; - afterParserOrEnumRuleCall(); - } - ) -; - -// Entry rule entryRulePredicateSymbol -entryRulePredicateSymbol returns [EObject current=null]: - { newCompositeNode(grammarAccess.getPredicateSymbolRule()); } - iv_rulePredicateSymbol=rulePredicateSymbol - { $current=$iv_rulePredicateSymbol.current; } - EOF; - -// Rule PredicateSymbol -rulePredicateSymbol returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - otherlv_0='predicate' - { - newLeafNode(otherlv_0, grammarAccess.getPredicateSymbolAccess().getPredicateKeyword_0()); - } ( ( + lv_isError_0_0='error' { - newCompositeNode(grammarAccess.getPredicateSymbolAccess().getSymbolModelSymbolParserRuleCall_1_0()); + newLeafNode(lv_isError_0_0, grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } - lv_symbol_1_0=ruleModelSymbol { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); + $current = createModelElement(grammarAccess.getPredicateRule()); } - set( - $current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); + setWithLastConsumed($current, "isError", true, "error"); } ) - ) - otherlv_2='(' - { - newLeafNode(otherlv_2, grammarAccess.getPredicateSymbolAccess().getLeftParenthesisKeyword_2()); - } + )? ( ( { - newCompositeNode(grammarAccess.getPredicateSymbolAccess().getParametersParameterParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); } - lv_parameters_3_0=ruleParameter + lv_symbol_1_0=ruleModelSymbol { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); + $current = createModelElementForParent(grammarAccess.getPredicateRule()); } - add( + set( $current, - "parameters", - lv_parameters_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); + "symbol", + lv_symbol_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); afterParserOrEnumRuleCall(); } ) - )* - otherlv_4=')' - { - newLeafNode(otherlv_4, grammarAccess.getPredicateSymbolAccess().getRightParenthesisKeyword_4()); - } - otherlv_5=':' - { - newLeafNode(otherlv_5, grammarAccess.getPredicateSymbolAccess().getColonKeyword_5()); - } + ) ( - otherlv_6='false' + otherlv_2='(' { - newLeafNode(otherlv_6, grammarAccess.getPredicateSymbolAccess().getFalseKeyword_6_0()); + newLeafNode(otherlv_2, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); } - | ( ( ( { - newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_0_0()); + newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); } - lv_bodies_7_0=rulePatternBody + lv_parameters_3_0=ruleParameter { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); + $current = createModelElementForParent(grammarAccess.getPredicateRule()); } add( $current, - "bodies", - lv_bodies_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); + "parameters", + lv_parameters_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); afterParserOrEnumRuleCall(); } ) ) ( - otherlv_8='|' + otherlv_4=',' { - newLeafNode(otherlv_8, grammarAccess.getPredicateSymbolAccess().getVerticalLineKeyword_6_1_1_0()); + newLeafNode(otherlv_4, grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); } ( ( { - newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_1_1_0()); + newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); } - lv_bodies_9_0=rulePatternBody + lv_parameters_5_0=ruleParameter { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); + $current = createModelElementForParent(grammarAccess.getPredicateRule()); } add( $current, - "bodies", - lv_bodies_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); + "parameters", + lv_parameters_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); afterParserOrEnumRuleCall(); } ) ) )* - ) - ) - otherlv_10='.' - { - newLeafNode(otherlv_10, grammarAccess.getPredicateSymbolAccess().getFullStopKeyword_7()); - } - ) -; - -// Entry rule entryRuleErrorPredicate -entryRuleErrorPredicate returns [EObject current=null]: - { newCompositeNode(grammarAccess.getErrorPredicateRule()); } - iv_ruleErrorPredicate=ruleErrorPredicate - { $current=$iv_ruleErrorPredicate.current; } - EOF; - -// Rule ErrorPredicate -ruleErrorPredicate returns [EObject current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( + )? + otherlv_6=')' { - $current = forceCreateModelElement( - grammarAccess.getErrorPredicateAccess().getErrorPredicateAction_0(), - $current); + newLeafNode(otherlv_6, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); } - ) - otherlv_1='error' - { - newLeafNode(otherlv_1, grammarAccess.getErrorPredicateAccess().getErrorKeyword_1()); - } - ( - ( - lv_name_2_0=RULE_ID - { - newLeafNode(lv_name_2_0, grammarAccess.getErrorPredicateAccess().getNameIDTerminalRuleCall_2_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getErrorPredicateRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_2_0, - "org.eclipse.xtext.common.Terminals.ID"); - } - ) )? - ( - otherlv_3='(' - { - newLeafNode(otherlv_3, grammarAccess.getErrorPredicateAccess().getLeftParenthesisKeyword_3_0()); - } - ( - ( - { - newCompositeNode(grammarAccess.getErrorPredicateAccess().getParametersParameterParserRuleCall_3_1_0()); - } - lv_parameters_4_0=ruleParameter - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); - } - add( - $current, - "parameters", - lv_parameters_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); - afterParserOrEnumRuleCall(); - } - ) - )* - otherlv_5=')' - { - newLeafNode(otherlv_5, grammarAccess.getErrorPredicateAccess().getRightParenthesisKeyword_3_2()); - } - ) - otherlv_6=':' + otherlv_7=':-' { - newLeafNode(otherlv_6, grammarAccess.getErrorPredicateAccess().getColonKeyword_4()); + newLeafNode(otherlv_7, grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); } ( - otherlv_7='false' + otherlv_8='false' { - newLeafNode(otherlv_7, grammarAccess.getErrorPredicateAccess().getFalseKeyword_5_0()); + newLeafNode(otherlv_8, grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); } | ( ( ( { - newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_0_0()); + newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); } - lv_bodies_8_0=rulePatternBody + lv_bodies_9_0=rulePatternBody { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); + $current = createModelElementForParent(grammarAccess.getPredicateRule()); } add( $current, "bodies", - lv_bodies_8_0, + lv_bodies_9_0, "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); afterParserOrEnumRuleCall(); } ) ) ( - otherlv_9='|' + otherlv_10='|' { - newLeafNode(otherlv_9, grammarAccess.getErrorPredicateAccess().getVerticalLineKeyword_5_1_1_0()); + newLeafNode(otherlv_10, grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); } ( ( { - newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_1_1_0()); + newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); } - lv_bodies_10_0=rulePatternBody + lv_bodies_11_0=rulePatternBody { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); + $current = createModelElementForParent(grammarAccess.getPredicateRule()); } add( $current, "bodies", - lv_bodies_10_0, + lv_bodies_11_0, "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); afterParserOrEnumRuleCall(); } @@ -1477,9 +1371,9 @@ ruleErrorPredicate returns [EObject current=null] )* ) ) - otherlv_11='.' + otherlv_12='.' { - newLeafNode(otherlv_11, grammarAccess.getErrorPredicateAccess().getFullStopKeyword_6()); + newLeafNode(otherlv_12, grammarAccess.getPredicateAccess().getFullStopKeyword_5()); } ) ; @@ -1663,52 +1557,52 @@ ruleConstraint returns [EObject current=null] ( ( ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0()); - } - lv_polarity_0_0=rulePolarity - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); + ( + { + newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); } - set( - $current, - "polarity", - lv_polarity_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); - afterParserOrEnumRuleCall(); - } - ) - )? - ( + lv_polarity_0_0=rulePolarity + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + set( + $current, + "polarity", + lv_polarity_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); + afterParserOrEnumRuleCall(); + } + ) + )? ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_1_0()); - } - lv_symbol_1_0=ruleModelSymbol - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); + ( + { + newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); } - set( - $current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - } + lv_symbol_1_0=ruleModelSymbol + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + set( + $current, + "symbol", + lv_symbol_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); + afterParserOrEnumRuleCall(); + } + ) ) - ) - ( ( otherlv_2='(' { - newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_0_0()); + newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); } ( ( { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_0_1_0()); + newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); } lv_params_3_0=ruleLiteral { @@ -1723,62 +1617,93 @@ ruleConstraint returns [EObject current=null] afterParserOrEnumRuleCall(); } ) - )* - otherlv_4=')' - { - newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_0_2()); - } - ) - | - ( + )? ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); + } ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_2_1_0_0()); - } - lv_closureType_5_0=ruleClosureType - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); + ( + { + newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); } - set( - $current, - "closureType", - lv_closureType_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); - afterParserOrEnumRuleCall(); - } + lv_params_5_0=ruleLiteral + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + add( + $current, + "params", + lv_params_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + afterParserOrEnumRuleCall(); + } + ) ) - ) - otherlv_6='(' + )* + otherlv_6=')' { - newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_1_1()); + newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); } + )? + ) + | + ( + ( ( - ( - { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_2_0()); + { + newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); + } + lv_closureType_7_0=ruleClosureType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConstraintRule()); } - lv_params_7_0=ruleLiteral - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - $current, - "params", - lv_params_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); + set( + $current, + "closureType", + lv_closureType_7_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_8='(' + { + newLeafNode(otherlv_8, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); + } + lv_params_9_0=ruleLiteral + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConstraintRule()); } - ) + add( + $current, + "params", + lv_params_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + afterParserOrEnumRuleCall(); + } ) + )? + ( + otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); + } ( ( { - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_3_0()); + newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); } - lv_params_8_0=ruleLiteral + lv_params_11_0=ruleLiteral { if ($current==null) { $current = createModelElementForParent(grammarAccess.getConstraintRule()); @@ -1786,17 +1711,17 @@ ruleConstraint returns [EObject current=null] add( $current, "params", - lv_params_8_0, + lv_params_11_0, "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); afterParserOrEnumRuleCall(); } ) ) - otherlv_9=')' - { - newLeafNode(otherlv_9, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_1_4()); - } - ) + )* + otherlv_12=')' + { + newLeafNode(otherlv_12, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); + } ) ) ; @@ -1880,6 +1805,15 @@ ruleLiteral returns [EObject current=null] $current = $this_DataObject_1.current; afterParserOrEnumRuleCall(); } + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); + } + this_NamedObject_2=ruleNamedObject + { + $current = $this_NamedObject_2.current; + afterParserOrEnumRuleCall(); + } ) ; @@ -2106,7 +2040,7 @@ ruleClassInterpretation returns [EObject current=null] setWithLastConsumed($current, "abstract", true, "abstract"); } ) - ) + )? otherlv_1='class' { newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); @@ -2283,7 +2217,7 @@ ruleFieldRelationInterpretation returns [EObject current=null] setWithLastConsumed($current, "containment", true, "containment"); } ) - ) + )? ( ( { @@ -2377,7 +2311,7 @@ ruleGlobalRelationInterpretation returns [EObject current=null] setWithLastConsumed($current, "containment", true, "containment"); } ) - ) + )? otherlv_1='relation' { newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); 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 index 1abe7de4..5054ccc5 100644 --- 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 @@ -1,33 +1,34 @@ '('=17 -')'=18 -'*'=30 -'+'=29 +')'=19 +'*'=31 +'+'=30 +','=18 '-'=11 '.'=12 -'..'=40 -':'=19 -'\''=26 -'abstract'=32 -'bool'=22 -'class'=33 -'containment'=38 -'default'=31 -'enum'=37 -'equals'=21 +'..'=41 +':'=20 +':-'=28 +'\''=27 +'abstract'=33 +'bool'=23 +'class'=34 +'containment'=39 +'default'=32 +'enum'=38 +'equals'=22 'error'=16 -'exists'=20 -'extends'=34 +'exists'=21 +'extends'=35 'false'=14 -'int'=23 -'predicate'=27 -'real'=24 -'relation'=39 -'string'=25 +'int'=24 +'real'=25 +'relation'=40 +'string'=26 'true'=13 'unknown'=15 -'{'=35 -'|'=28 -'}'=36 +'{'=36 +'|'=29 +'}'=37 RULE_ANY_OTHER=10 RULE_ID=5 RULE_INT=4 @@ -65,3 +66,4 @@ T__37=37 T__38=38 T__39=39 T__40=40 +T__41=41 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 index f8cb627c..53c80216 100644 --- 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 @@ -48,6 +48,7 @@ public class InternalSolverLanguageLexer extends Lexer { public static final int T__24=24; public static final int T__25=25; public static final int T__40=40; + public static final int T__41=41; public static final int T__20=20; public static final int T__21=21; @@ -213,10 +214,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:18:7: ( ')' ) - // InternalSolverLanguage.g:18:9: ')' + // InternalSolverLanguage.g:18:7: ( ',' ) + // InternalSolverLanguage.g:18:9: ',' { - match(')'); + match(','); } @@ -233,10 +234,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:19:7: ( ':' ) - // InternalSolverLanguage.g:19:9: ':' + // InternalSolverLanguage.g:19:7: ( ')' ) + // InternalSolverLanguage.g:19:9: ')' { - match(':'); + match(')'); } @@ -253,11 +254,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:20:7: ( 'exists' ) - // InternalSolverLanguage.g:20:9: 'exists' + // InternalSolverLanguage.g:20:7: ( ':' ) + // InternalSolverLanguage.g:20:9: ':' { - match("exists"); - + match(':'); } @@ -274,10 +274,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:21:7: ( 'equals' ) - // InternalSolverLanguage.g:21:9: 'equals' + // InternalSolverLanguage.g:21:7: ( 'exists' ) + // InternalSolverLanguage.g:21:9: 'exists' { - match("equals"); + match("exists"); } @@ -295,10 +295,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:22:7: ( 'bool' ) - // InternalSolverLanguage.g:22:9: 'bool' + // InternalSolverLanguage.g:22:7: ( 'equals' ) + // InternalSolverLanguage.g:22:9: 'equals' { - match("bool"); + match("equals"); } @@ -316,10 +316,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:23:7: ( 'int' ) - // InternalSolverLanguage.g:23:9: 'int' + // InternalSolverLanguage.g:23:7: ( 'bool' ) + // InternalSolverLanguage.g:23:9: 'bool' { - match("int"); + match("bool"); } @@ -337,10 +337,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:24:7: ( 'real' ) - // InternalSolverLanguage.g:24:9: 'real' + // InternalSolverLanguage.g:24:7: ( 'int' ) + // InternalSolverLanguage.g:24:9: 'int' { - match("real"); + match("int"); } @@ -358,10 +358,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:25:7: ( 'string' ) - // InternalSolverLanguage.g:25:9: 'string' + // InternalSolverLanguage.g:25:7: ( 'real' ) + // InternalSolverLanguage.g:25:9: 'real' { - match("string"); + match("real"); } @@ -379,10 +379,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:26:7: ( '\\'' ) - // InternalSolverLanguage.g:26:9: '\\'' + // InternalSolverLanguage.g:26:7: ( 'string' ) + // InternalSolverLanguage.g:26:9: 'string' { - match('\''); + match("string"); + } @@ -399,11 +400,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:27:7: ( 'predicate' ) - // InternalSolverLanguage.g:27:9: 'predicate' + // InternalSolverLanguage.g:27:7: ( '\\'' ) + // InternalSolverLanguage.g:27:9: '\\'' { - match("predicate"); - + match('\''); } @@ -420,10 +420,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:28:7: ( '|' ) - // InternalSolverLanguage.g:28:9: '|' + // InternalSolverLanguage.g:28:7: ( ':-' ) + // InternalSolverLanguage.g:28:9: ':-' { - match('|'); + match(":-"); + } @@ -440,10 +441,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:29:7: ( '+' ) - // InternalSolverLanguage.g:29:9: '+' + // InternalSolverLanguage.g:29:7: ( '|' ) + // InternalSolverLanguage.g:29:9: '|' { - match('+'); + match('|'); } @@ -460,10 +461,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:30:7: ( '*' ) - // InternalSolverLanguage.g:30:9: '*' + // InternalSolverLanguage.g:30:7: ( '+' ) + // InternalSolverLanguage.g:30:9: '+' { - match('*'); + match('+'); } @@ -480,11 +481,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:31:7: ( 'default' ) - // InternalSolverLanguage.g:31:9: 'default' + // InternalSolverLanguage.g:31:7: ( '*' ) + // InternalSolverLanguage.g:31:9: '*' { - match("default"); - + match('*'); } @@ -501,10 +501,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:32:7: ( 'abstract' ) - // InternalSolverLanguage.g:32:9: 'abstract' + // InternalSolverLanguage.g:32:7: ( 'default' ) + // InternalSolverLanguage.g:32:9: 'default' { - match("abstract"); + match("default"); } @@ -522,10 +522,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:33:7: ( 'class' ) - // InternalSolverLanguage.g:33:9: 'class' + // InternalSolverLanguage.g:33:7: ( 'abstract' ) + // InternalSolverLanguage.g:33:9: 'abstract' { - match("class"); + match("abstract"); } @@ -543,10 +543,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__34; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:34:7: ( 'extends' ) - // InternalSolverLanguage.g:34:9: 'extends' + // InternalSolverLanguage.g:34:7: ( 'class' ) + // InternalSolverLanguage.g:34:9: 'class' { - match("extends"); + match("class"); } @@ -564,10 +564,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__35; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:35:7: ( '{' ) - // InternalSolverLanguage.g:35:9: '{' + // InternalSolverLanguage.g:35:7: ( 'extends' ) + // InternalSolverLanguage.g:35:9: 'extends' { - match('{'); + match("extends"); + } @@ -584,10 +585,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__36; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:36:7: ( '}' ) - // InternalSolverLanguage.g:36:9: '}' + // InternalSolverLanguage.g:36:7: ( '{' ) + // InternalSolverLanguage.g:36:9: '{' { - match('}'); + match('{'); } @@ -604,11 +605,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__37; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:37:7: ( 'enum' ) - // InternalSolverLanguage.g:37:9: 'enum' + // InternalSolverLanguage.g:37:7: ( '}' ) + // InternalSolverLanguage.g:37:9: '}' { - match("enum"); - + match('}'); } @@ -625,10 +625,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__38; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:38:7: ( 'containment' ) - // InternalSolverLanguage.g:38:9: 'containment' + // InternalSolverLanguage.g:38:7: ( 'enum' ) + // InternalSolverLanguage.g:38:9: 'enum' { - match("containment"); + match("enum"); } @@ -646,10 +646,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__39; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:39:7: ( 'relation' ) - // InternalSolverLanguage.g:39:9: 'relation' + // InternalSolverLanguage.g:39:7: ( 'containment' ) + // InternalSolverLanguage.g:39:9: 'containment' { - match("relation"); + match("containment"); } @@ -667,10 +667,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = T__40; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:40:7: ( '..' ) - // InternalSolverLanguage.g:40:9: '..' + // InternalSolverLanguage.g:40:7: ( 'relation' ) + // InternalSolverLanguage.g:40:9: 'relation' { - match(".."); + match("relation"); } @@ -683,16 +683,37 @@ public class InternalSolverLanguageLexer extends Lexer { } // $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:41:7: ( '..' ) + // InternalSolverLanguage.g:41:9: '..' + { + match(".."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__41" + // $ANTLR start "RULE_STRING" public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2563:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) - // InternalSolverLanguage.g:2563:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalSolverLanguage.g:2497:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) + // InternalSolverLanguage.g:2497:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalSolverLanguage.g:2563:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalSolverLanguage.g:2497:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop1: do { int alt1=3; @@ -708,7 +729,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt1) { case 1 : - // InternalSolverLanguage.g:2563:20: '\\\\' . + // InternalSolverLanguage.g:2497:20: '\\\\' . { match('\\'); matchAny(); @@ -716,7 +737,7 @@ public class InternalSolverLanguageLexer extends Lexer { } break; case 2 : - // InternalSolverLanguage.g:2563:27: ~ ( ( '\\\\' | '\"' ) ) + // InternalSolverLanguage.g:2497:27: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -753,10 +774,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2565:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // InternalSolverLanguage.g:2565:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalSolverLanguage.g:2499:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalSolverLanguage.g:2499:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalSolverLanguage.g:2565:11: ( '^' )? + // InternalSolverLanguage.g:2499:11: ( '^' )? int alt2=2; int LA2_0 = input.LA(1); @@ -765,7 +786,7 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt2) { case 1 : - // InternalSolverLanguage.g:2565:11: '^' + // InternalSolverLanguage.g:2499:11: '^' { match('^'); @@ -783,7 +804,7 @@ public class InternalSolverLanguageLexer extends Lexer { recover(mse); throw mse;} - // InternalSolverLanguage.g:2565:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalSolverLanguage.g:2499:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop3: do { int alt3=2; @@ -832,10 +853,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_INT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2567:10: ( ( '0' .. '9' )+ ) - // InternalSolverLanguage.g:2567:12: ( '0' .. '9' )+ + // InternalSolverLanguage.g:2501:10: ( ( '0' .. '9' )+ ) + // InternalSolverLanguage.g:2501:12: ( '0' .. '9' )+ { - // InternalSolverLanguage.g:2567:12: ( '0' .. '9' )+ + // InternalSolverLanguage.g:2501:12: ( '0' .. '9' )+ int cnt4=0; loop4: do { @@ -849,7 +870,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt4) { case 1 : - // InternalSolverLanguage.g:2567:13: '0' .. '9' + // InternalSolverLanguage.g:2501:13: '0' .. '9' { matchRange('0','9'); @@ -881,12 +902,12 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2569:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalSolverLanguage.g:2569:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalSolverLanguage.g:2503:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalSolverLanguage.g:2503:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalSolverLanguage.g:2569:24: ( options {greedy=false; } : . )* + // InternalSolverLanguage.g:2503:24: ( options {greedy=false; } : . )* loop5: do { int alt5=2; @@ -911,7 +932,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt5) { case 1 : - // InternalSolverLanguage.g:2569:52: . + // InternalSolverLanguage.g:2503:52: . { matchAny(); @@ -941,12 +962,12 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2571:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalSolverLanguage.g:2571:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalSolverLanguage.g:2505:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalSolverLanguage.g:2505:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // InternalSolverLanguage.g:2571:24: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalSolverLanguage.g:2505:24: (~ ( ( '\\n' | '\\r' ) ) )* loop6: do { int alt6=2; @@ -959,7 +980,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt6) { case 1 : - // InternalSolverLanguage.g:2571:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalSolverLanguage.g:2505: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(); @@ -979,7 +1000,7 @@ public class InternalSolverLanguageLexer extends Lexer { } } while (true); - // InternalSolverLanguage.g:2571:40: ( ( '\\r' )? '\\n' )? + // InternalSolverLanguage.g:2505:40: ( ( '\\r' )? '\\n' )? int alt8=2; int LA8_0 = input.LA(1); @@ -988,9 +1009,9 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt8) { case 1 : - // InternalSolverLanguage.g:2571:41: ( '\\r' )? '\\n' + // InternalSolverLanguage.g:2505:41: ( '\\r' )? '\\n' { - // InternalSolverLanguage.g:2571:41: ( '\\r' )? + // InternalSolverLanguage.g:2505:41: ( '\\r' )? int alt7=2; int LA7_0 = input.LA(1); @@ -999,7 +1020,7 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt7) { case 1 : - // InternalSolverLanguage.g:2571:41: '\\r' + // InternalSolverLanguage.g:2505:41: '\\r' { match('\r'); @@ -1031,10 +1052,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2573:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalSolverLanguage.g:2573:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalSolverLanguage.g:2507:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalSolverLanguage.g:2507:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalSolverLanguage.g:2573:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalSolverLanguage.g:2507:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt9=0; loop9: do { @@ -1088,8 +1109,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguage.g:2575:16: ( . ) - // InternalSolverLanguage.g:2575:18: . + // InternalSolverLanguage.g:2509:16: ( . ) + // InternalSolverLanguage.g:2509:18: . { matchAny(); @@ -1104,8 +1125,8 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalSolverLanguage.g:1:8: ( T__11 | T__12 | T__13 | T__14 | 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 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt10=37; + // InternalSolverLanguage.g:1:8: ( T__11 | T__12 | T__13 | T__14 | 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 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt10=38; alt10 = dfa10.predict(input); switch (alt10) { case 1 : @@ -1319,49 +1340,56 @@ public class InternalSolverLanguageLexer extends Lexer { } break; case 31 : - // InternalSolverLanguage.g:1:190: RULE_STRING + // InternalSolverLanguage.g:1:190: T__41 { - mRULE_STRING(); + mT__41(); } break; case 32 : - // InternalSolverLanguage.g:1:202: RULE_ID + // InternalSolverLanguage.g:1:196: RULE_STRING { - mRULE_ID(); + mRULE_STRING(); } break; case 33 : - // InternalSolverLanguage.g:1:210: RULE_INT + // InternalSolverLanguage.g:1:208: RULE_ID { - mRULE_INT(); + mRULE_ID(); } break; case 34 : - // InternalSolverLanguage.g:1:219: RULE_ML_COMMENT + // InternalSolverLanguage.g:1:216: RULE_INT { - mRULE_ML_COMMENT(); + mRULE_INT(); } break; case 35 : - // InternalSolverLanguage.g:1:235: RULE_SL_COMMENT + // InternalSolverLanguage.g:1:225: RULE_ML_COMMENT { - mRULE_SL_COMMENT(); + mRULE_ML_COMMENT(); } break; case 36 : - // InternalSolverLanguage.g:1:251: RULE_WS + // InternalSolverLanguage.g:1:241: RULE_SL_COMMENT { - mRULE_WS(); + mRULE_SL_COMMENT(); } break; case 37 : - // InternalSolverLanguage.g:1:259: RULE_ANY_OTHER + // InternalSolverLanguage.g:1:257: RULE_WS + { + mRULE_WS(); + + } + break; + case 38 : + // InternalSolverLanguage.g:1:265: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -1375,19 +1403,19 @@ public class InternalSolverLanguageLexer extends Lexer { protected DFA10 dfa10 = new DFA10(this); static final String DFA10_eotS = - "\2\uffff\1\41\4\43\3\uffff\4\43\1\uffff\1\43\3\uffff\3\43\2\uffff\2\36\2\uffff\1\36\5\uffff\1\43\1\uffff\6\43\3\uffff\4\43\1\uffff\1\43\3\uffff\4\43\7\uffff\11\43\1\134\10\43\1\145\6\43\1\154\1\155\1\uffff\1\156\7\43\1\uffff\1\166\1\43\1\170\3\43\3\uffff\5\43\1\u0081\1\43\1\uffff\1\43\1\uffff\1\u0084\1\43\1\u0086\1\43\1\u0088\3\43\1\uffff\1\43\1\u008d\1\uffff\1\u008e\1\uffff\1\43\1\uffff\1\43\1\u0091\2\43\2\uffff\1\u0094\1\43\1\uffff\1\u0096\1\43\1\uffff\1\u0098\1\uffff\1\43\1\uffff\1\43\1\u009b\1\uffff"; + "\2\uffff\1\41\4\43\3\uffff\1\56\4\43\4\uffff\3\43\2\uffff\2\36\2\uffff\1\36\5\uffff\1\43\1\uffff\6\43\5\uffff\4\43\4\uffff\4\43\7\uffff\11\43\1\134\7\43\1\144\6\43\1\153\1\154\1\uffff\1\155\6\43\1\uffff\1\164\1\43\1\166\3\43\3\uffff\4\43\1\176\1\43\1\uffff\1\43\1\uffff\1\u0081\1\43\1\u0083\1\43\1\u0085\2\43\1\uffff\1\43\1\u0089\1\uffff\1\u008a\1\uffff\1\43\1\uffff\1\u008c\2\43\2\uffff\1\u008f\1\uffff\1\u0090\1\43\2\uffff\2\43\1\u0094\1\uffff"; static final String DFA10_eofS = - "\u009c\uffff"; + "\u0095\uffff"; static final String DFA10_minS = - "\1\0\1\uffff\1\56\1\162\1\141\2\156\3\uffff\1\157\1\156\1\145\1\164\1\uffff\1\162\3\uffff\1\145\1\142\1\154\2\uffff\1\0\1\101\2\uffff\1\52\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\151\2\165\3\uffff\1\157\1\164\1\141\1\162\1\uffff\1\145\3\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\60\1\154\1\141\1\151\1\144\1\141\1\164\1\163\1\164\1\60\1\145\1\157\1\162\1\164\1\156\1\154\2\60\1\uffff\1\60\1\164\1\156\1\151\1\165\1\162\1\163\1\141\1\uffff\1\60\1\167\1\60\1\163\1\144\1\163\3\uffff\1\151\1\147\1\143\1\154\1\141\1\60\1\151\1\uffff\1\156\1\uffff\1\60\1\163\1\60\1\157\1\60\1\141\1\164\1\143\1\uffff\1\156\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\164\1\60\1\164\1\155\2\uffff\1\60\1\145\1\uffff\1\60\1\145\1\uffff\1\60\1\uffff\1\156\1\uffff\1\164\1\60\1\uffff"; + "\1\0\1\uffff\1\56\1\162\1\141\2\156\3\uffff\1\55\1\157\1\156\1\145\1\164\4\uffff\1\145\1\142\1\154\2\uffff\1\0\1\101\2\uffff\1\52\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\151\2\165\5\uffff\1\157\1\164\1\141\1\162\4\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\60\1\154\1\141\1\151\1\141\1\164\1\163\1\164\1\60\1\145\1\157\1\162\1\164\1\156\1\154\2\60\1\uffff\1\60\1\164\1\156\1\165\1\162\1\163\1\141\1\uffff\1\60\1\167\1\60\1\163\1\144\1\163\3\uffff\1\151\1\147\1\154\1\141\1\60\1\151\1\uffff\1\156\1\uffff\1\60\1\163\1\60\1\157\1\60\1\164\1\143\1\uffff\1\156\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\60\1\164\1\155\2\uffff\1\60\1\uffff\1\60\1\145\2\uffff\1\156\1\164\1\60\1\uffff"; static final String DFA10_maxS = - "\1\uffff\1\uffff\1\56\1\162\1\141\1\156\1\170\3\uffff\1\157\1\156\1\145\1\164\1\uffff\1\162\3\uffff\1\145\1\142\1\157\2\uffff\1\uffff\1\172\2\uffff\1\57\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\164\2\165\3\uffff\1\157\1\164\1\154\1\162\1\uffff\1\145\3\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\172\1\154\1\141\1\151\1\144\1\141\1\164\1\163\1\164\1\172\1\145\1\157\1\162\1\164\1\156\1\154\2\172\1\uffff\1\172\1\164\1\156\1\151\1\165\1\162\1\163\1\141\1\uffff\1\172\1\167\1\172\1\163\1\144\1\163\3\uffff\1\151\1\147\1\143\1\154\1\141\1\172\1\151\1\uffff\1\156\1\uffff\1\172\1\163\1\172\1\157\1\172\1\141\1\164\1\143\1\uffff\1\156\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\164\1\172\1\164\1\155\2\uffff\1\172\1\145\1\uffff\1\172\1\145\1\uffff\1\172\1\uffff\1\156\1\uffff\1\164\1\172\1\uffff"; + "\1\uffff\1\uffff\1\56\1\162\1\141\1\156\1\170\3\uffff\1\55\1\157\1\156\1\145\1\164\4\uffff\1\145\1\142\1\157\2\uffff\1\uffff\1\172\2\uffff\1\57\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\164\2\165\5\uffff\1\157\1\164\1\154\1\162\4\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\172\1\154\1\141\1\151\1\141\1\164\1\163\1\164\1\172\1\145\1\157\1\162\1\164\1\156\1\154\2\172\1\uffff\1\172\1\164\1\156\1\165\1\162\1\163\1\141\1\uffff\1\172\1\167\1\172\1\163\1\144\1\163\3\uffff\1\151\1\147\1\154\1\141\1\172\1\151\1\uffff\1\156\1\uffff\1\172\1\163\1\172\1\157\1\172\1\164\1\143\1\uffff\1\156\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\172\1\164\1\155\2\uffff\1\172\1\uffff\1\172\1\145\2\uffff\1\156\1\164\1\172\1\uffff"; static final String DFA10_acceptS = - "\1\uffff\1\1\5\uffff\1\7\1\10\1\11\4\uffff\1\20\1\uffff\1\22\1\23\1\24\3\uffff\1\31\1\32\2\uffff\1\40\1\41\1\uffff\1\44\1\45\1\1\1\36\1\2\1\uffff\1\40\6\uffff\1\7\1\10\1\11\4\uffff\1\20\1\uffff\1\22\1\23\1\24\4\uffff\1\31\1\32\1\37\1\41\1\42\1\43\1\44\33\uffff\1\15\10\uffff\1\3\6\uffff\1\33\1\14\1\16\7\uffff\1\4\1\uffff\1\6\10\uffff\1\27\2\uffff\1\12\1\uffff\1\13\1\uffff\1\17\4\uffff\1\5\1\30\2\uffff\1\25\2\uffff\1\35\1\uffff\1\26\1\uffff\1\21\2\uffff\1\34"; + "\1\uffff\1\1\5\uffff\1\7\1\10\1\11\5\uffff\1\21\1\23\1\24\1\25\3\uffff\1\32\1\33\2\uffff\1\41\1\42\1\uffff\1\45\1\46\1\1\1\37\1\2\1\uffff\1\41\6\uffff\1\7\1\10\1\11\1\22\1\12\4\uffff\1\21\1\23\1\24\1\25\4\uffff\1\32\1\33\1\40\1\42\1\43\1\44\1\45\32\uffff\1\16\7\uffff\1\3\6\uffff\1\34\1\15\1\17\6\uffff\1\4\1\uffff\1\6\7\uffff\1\30\2\uffff\1\13\1\uffff\1\14\1\uffff\1\20\3\uffff\1\5\1\31\1\uffff\1\26\2\uffff\1\36\1\27\3\uffff\1\35"; static final String DFA10_specialS = - "\1\1\27\uffff\1\0\u0083\uffff}>"; + "\1\0\27\uffff\1\1\174\uffff}>"; static final String[] DFA10_transitionS = { - "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\30\4\36\1\16\1\7\1\10\1\22\1\21\1\36\1\1\1\2\1\34\12\33\1\11\6\36\32\32\3\36\1\31\1\32\1\36\1\24\1\12\1\25\1\23\1\6\1\4\2\32\1\13\6\32\1\17\1\32\1\14\1\15\1\3\1\5\5\32\1\26\1\20\1\27\uff82\36", + "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\30\4\36\1\17\1\7\1\11\1\22\1\21\1\10\1\1\1\2\1\34\12\33\1\12\6\36\32\32\3\36\1\31\1\32\1\36\1\24\1\13\1\25\1\23\1\6\1\4\2\32\1\14\10\32\1\15\1\16\1\3\1\5\5\32\1\26\1\20\1\27\uff82\36", "", "\1\40", "\1\42", @@ -1398,49 +1426,50 @@ public class InternalSolverLanguageLexer extends Lexer { "", "", "\1\55", - "\1\56", "\1\57", "\1\60", - "", + "\1\61", "\1\62", "", "", "", - "\1\66", + "", "\1\67", - "\1\70\2\uffff\1\71", + "\1\70", + "\1\71\2\uffff\1\72", "", "", - "\0\74", + "\0\75", "\32\43\4\uffff\1\43\1\uffff\32\43", "", "", - "\1\76\4\uffff\1\77", + "\1\77\4\uffff\1\100", "", "", "", "", "", - "\1\101", - "", "\1\102", + "", "\1\103", "\1\104", - "\1\105\12\uffff\1\106", - "\1\107", + "\1\105", + "\1\106\12\uffff\1\107", "\1\110", + "\1\111", + "", "", "", "", - "\1\111", - "\1\112", - "\1\113\12\uffff\1\114", - "\1\115", "", + "\1\112", + "\1\113", + "\1\114\12\uffff\1\115", "\1\116", "", "", "", + "", "\1\117", "\1\120", "\1\121", @@ -1469,78 +1498,70 @@ public class InternalSolverLanguageLexer extends Lexer { "\1\141", "\1\142", "\1\143", - "\1\144", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\145", "\1\146", "\1\147", "\1\150", "\1\151", "\1\152", - "\1\153", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\156", "\1\157", "\1\160", "\1\161", "\1\162", "\1\163", - "\1\164", - "\1\165", "", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\167", + "\1\165", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\167", + "\1\170", "\1\171", - "\1\172", - "\1\173", "", "", "", + "\1\172", + "\1\173", "\1\174", "\1\175", - "\1\176", + "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "\1\177", + "", "\1\u0080", + "", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "\1\u0082", - "", - "\1\u0083", - "", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\u0085", + "\1\u0084", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\u0086", "\1\u0087", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\u0089", - "\1\u008a", - "\1\u008b", "", - "\1\u008c", + "\1\u0088", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "", - "\1\u008f", + "\1\u008b", "", - "\1\u0090", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\u0092", - "\1\u0093", + "\1\u008d", + "\1\u008e", "", "", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\u0095", - "", - "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", - "\1\u0097", "", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", + "\1\u0091", "", - "\1\u0099", "", - "\1\u009a", + "\1\u0092", + "\1\u0093", "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", "" }; @@ -1575,23 +1596,13 @@ public class InternalSolverLanguageLexer extends Lexer { this.transition = DFA10_transition; } public String getDescription() { - return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | 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 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | 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 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { IntStream input = _input; int _s = s; switch ( s ) { case 0 : - int LA10_24 = input.LA(1); - - s = -1; - if ( ((LA10_24>='\u0000' && LA10_24<='\uFFFF')) ) {s = 60;} - - else s = 30; - - if ( s>=0 ) return s; - break; - case 1 : int LA10_0 = input.LA(1); s = -1; @@ -1609,21 +1620,21 @@ public class InternalSolverLanguageLexer extends Lexer { else if ( (LA10_0=='(') ) {s = 7;} - else if ( (LA10_0==')') ) {s = 8;} + else if ( (LA10_0==',') ) {s = 8;} - else if ( (LA10_0==':') ) {s = 9;} + else if ( (LA10_0==')') ) {s = 9;} - else if ( (LA10_0=='b') ) {s = 10;} + else if ( (LA10_0==':') ) {s = 10;} - else if ( (LA10_0=='i') ) {s = 11;} + else if ( (LA10_0=='b') ) {s = 11;} - else if ( (LA10_0=='r') ) {s = 12;} + else if ( (LA10_0=='i') ) {s = 12;} - else if ( (LA10_0=='s') ) {s = 13;} + else if ( (LA10_0=='r') ) {s = 13;} - else if ( (LA10_0=='\'') ) {s = 14;} + else if ( (LA10_0=='s') ) {s = 14;} - else if ( (LA10_0=='p') ) {s = 15;} + else if ( (LA10_0=='\'') ) {s = 15;} else if ( (LA10_0=='|') ) {s = 16;} @@ -1645,7 +1656,7 @@ public class InternalSolverLanguageLexer extends Lexer { else if ( (LA10_0=='^') ) {s = 25;} - else if ( ((LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='g' && LA10_0<='h')||(LA10_0>='j' && LA10_0<='o')||LA10_0=='q'||(LA10_0>='v' && LA10_0<='z')) ) {s = 26;} + else if ( ((LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='g' && LA10_0<='h')||(LA10_0>='j' && LA10_0<='q')||(LA10_0>='v' && LA10_0<='z')) ) {s = 26;} else if ( ((LA10_0>='0' && LA10_0<='9')) ) {s = 27;} @@ -1653,7 +1664,17 @@ public class InternalSolverLanguageLexer extends Lexer { else if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {s = 29;} - else if ( ((LA10_0>='\u0000' && LA10_0<='\b')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\u001F')||LA10_0=='!'||(LA10_0>='#' && LA10_0<='&')||LA10_0==','||(LA10_0>=';' && LA10_0<='@')||(LA10_0>='[' && LA10_0<=']')||LA10_0=='`'||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {s = 30;} + else if ( ((LA10_0>='\u0000' && LA10_0<='\b')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\u001F')||LA10_0=='!'||(LA10_0>='#' && LA10_0<='&')||(LA10_0>=';' && LA10_0<='@')||(LA10_0>='[' && LA10_0<=']')||LA10_0=='`'||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {s = 30;} + + if ( s>=0 ) return s; + break; + case 1 : + int LA10_24 = input.LA(1); + + s = -1; + if ( ((LA10_24>='\u0000' && LA10_24<='\uFFFF')) ) {s = 61;} + + else s = 30; if ( s>=0 ) return s; break; 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 c1c632f3..1d449e49 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 @@ -21,7 +21,7 @@ import java.util.ArrayList; @SuppressWarnings("all") public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'-'", "'.'", "'true'", "'false'", "'unknown'", "'error'", "'('", "')'", "':'", "'exists'", "'equals'", "'bool'", "'int'", "'real'", "'string'", "'\\''", "'predicate'", "'|'", "'+'", "'*'", "'default'", "'abstract'", "'class'", "'extends'", "'{'", "'}'", "'enum'", "'containment'", "'relation'", "'..'" + "", "", "", "", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'-'", "'.'", "'true'", "'false'", "'unknown'", "'error'", "'('", "','", "')'", "':'", "'exists'", "'equals'", "'bool'", "'int'", "'real'", "'string'", "'\\''", "':-'", "'|'", "'+'", "'*'", "'default'", "'abstract'", "'class'", "'extends'", "'{'", "'}'", "'enum'", "'containment'", "'relation'", "'..'" }; public static final int RULE_STRING=6; public static final int RULE_SL_COMMENT=8; @@ -59,6 +59,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { public static final int T__24=24; public static final int T__25=25; public static final int T__40=40; + public static final int T__41=41; public static final int T__20=20; public static final int T__21=21; @@ -158,7 +159,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { int alt1=2; int LA1_0 = input.LA(1); - if ( (LA1_0==RULE_ID||LA1_0==16||(LA1_0>=20 && LA1_0<=25)||LA1_0==27||(LA1_0>=31 && LA1_0<=32)||(LA1_0>=37 && LA1_0<=38)) ) { + if ( (LA1_0==RULE_ID||LA1_0==16||(LA1_0>=21 && LA1_0<=26)||(LA1_0>=32 && LA1_0<=34)||(LA1_0>=38 && LA1_0<=40)) ) { alt1=1; } @@ -275,20 +276,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { { // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) int alt2=2; - int LA2_0 = input.LA(1); - - if ( (LA2_0==RULE_ID||(LA2_0>=20 && LA2_0<=25)||(LA2_0>=31 && LA2_0<=32)||(LA2_0>=37 && LA2_0<=38)) ) { - alt2=1; - } - else if ( (LA2_0==16||LA2_0==27) ) { - alt2=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 2, 0, input); - - throw nvae; - } + alt2 = dfa2.predict(input); switch (alt2) { case 1 : // InternalSolverLanguage.g:115:3: this_Interpretation_0= ruleInterpretation @@ -988,24 +976,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { int alt7=3; switch ( input.LA(1) ) { case RULE_ID: - case 20: case 21: case 22: case 23: case 24: case 25: + case 26: { alt7=1; } break; - case 31: + case 32: { alt7=2; } break; - case 32: - case 37: + case 33: + case 34: case 38: + case 39: + case 40: { alt7=3; } @@ -1131,29 +1121,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleBasicInterpretation" - // InternalSolverLanguage.g:386:1: ruleBasicInterpretation returns [EObject current=null] : ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) ; + // InternalSolverLanguage.g:386:1: ruleBasicInterpretation returns [EObject current=null] : ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) ; public final EObject ruleBasicInterpretation() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; - Token otherlv_4=null; + Token otherlv_5=null; + Token otherlv_6=null; EObject lv_symbol_0_0 = null; EObject lv_objects_2_0 = null; - EObject lv_value_5_0 = null; + EObject lv_objects_4_0 = null; + + EObject lv_value_7_0 = null; enterRule(); try { - // InternalSolverLanguage.g:392:2: ( ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) ) - // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) + // InternalSolverLanguage.g:392:2: ( ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) ) + // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) { - // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) - // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) + // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) + // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) { // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol ) @@ -1186,78 +1179,153 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,17,FOLLOW_7); + // InternalSolverLanguage.g:413:3: (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? + int alt10=2; + int LA10_0 = input.LA(1); - newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1()); - - // InternalSolverLanguage.g:417:3: ( (lv_objects_2_0= ruleComplexObject ) )* - loop8: - do { - int alt8=2; - int LA8_0 = input.LA(1); + if ( (LA10_0==17) ) { + alt10=1; + } + switch (alt10) { + case 1 : + // InternalSolverLanguage.g:414:4: otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' + { + otherlv_1=(Token)match(input,17,FOLLOW_7); - if ( ((LA8_0>=RULE_INT && LA8_0<=RULE_STRING)||LA8_0==11||(LA8_0>=13 && LA8_0<=14)||LA8_0==19||LA8_0==26||LA8_0==30) ) { - alt8=1; - } + newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); + + // InternalSolverLanguage.g:418:4: ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? + int alt9=2; + int LA9_0 = input.LA(1); + if ( ((LA9_0>=RULE_INT && LA9_0<=RULE_STRING)||LA9_0==11||(LA9_0>=13 && LA9_0<=14)||LA9_0==20||LA9_0==27||LA9_0==31) ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalSolverLanguage.g:419:5: ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* + { + // InternalSolverLanguage.g:419:5: ( (lv_objects_2_0= ruleComplexObject ) ) + // InternalSolverLanguage.g:420:6: (lv_objects_2_0= ruleComplexObject ) + { + // InternalSolverLanguage.g:420:6: (lv_objects_2_0= ruleComplexObject ) + // InternalSolverLanguage.g:421:7: lv_objects_2_0= ruleComplexObject + { - switch (alt8) { - case 1 : - // InternalSolverLanguage.g:418:4: (lv_objects_2_0= ruleComplexObject ) - { - // InternalSolverLanguage.g:418:4: (lv_objects_2_0= ruleComplexObject ) - // InternalSolverLanguage.g:419:5: lv_objects_2_0= ruleComplexObject - { + newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); + + pushFollow(FOLLOW_8); + lv_objects_2_0=ruleComplexObject(); - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_2_0()); - - pushFollow(FOLLOW_7); - lv_objects_2_0=ruleComplexObject(); + state._fsp--; - state._fsp--; + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); + } + add( + current, + "objects", + lv_objects_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); + afterParserOrEnumRuleCall(); + - if (current==null) { - current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); - } - add( - current, - "objects", - lv_objects_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); - afterParserOrEnumRuleCall(); - + } - } + } - } - break; + // InternalSolverLanguage.g:438:5: (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); - default : - break loop8; - } - } while (true); + if ( (LA8_0==18) ) { + alt8=1; + } - otherlv_3=(Token)match(input,18,FOLLOW_8); - newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_3()); - - otherlv_4=(Token)match(input,19,FOLLOW_9); + switch (alt8) { + case 1 : + // InternalSolverLanguage.g:439:6: otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) + { + otherlv_3=(Token)match(input,18,FOLLOW_9); + + newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); + + // InternalSolverLanguage.g:443:6: ( (lv_objects_4_0= ruleComplexObject ) ) + // InternalSolverLanguage.g:444:7: (lv_objects_4_0= ruleComplexObject ) + { + // InternalSolverLanguage.g:444:7: (lv_objects_4_0= ruleComplexObject ) + // InternalSolverLanguage.g:445:8: lv_objects_4_0= ruleComplexObject + { + + newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); + + pushFollow(FOLLOW_8); + lv_objects_4_0=ruleComplexObject(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); + } + add( + current, + "objects", + lv_objects_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop8; + } + } while (true); + + + } + break; + + } + + otherlv_5=(Token)match(input,19,FOLLOW_10); - newLeafNode(otherlv_4, grammarAccess.getBasicInterpretationAccess().getColonKeyword_4()); + newLeafNode(otherlv_5, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); + + + } + break; + + } + + otherlv_6=(Token)match(input,20,FOLLOW_11); + + newLeafNode(otherlv_6, grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); - // InternalSolverLanguage.g:444:3: ( (lv_value_5_0= ruleTruthValue ) ) - // InternalSolverLanguage.g:445:4: (lv_value_5_0= ruleTruthValue ) + // InternalSolverLanguage.g:473:3: ( (lv_value_7_0= ruleTruthValue ) ) + // InternalSolverLanguage.g:474:4: (lv_value_7_0= ruleTruthValue ) { - // InternalSolverLanguage.g:445:4: (lv_value_5_0= ruleTruthValue ) - // InternalSolverLanguage.g:446:5: lv_value_5_0= ruleTruthValue + // InternalSolverLanguage.g:474:4: (lv_value_7_0= ruleTruthValue ) + // InternalSolverLanguage.g:475:5: lv_value_7_0= ruleTruthValue { - newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_5_0()); + newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); pushFollow(FOLLOW_2); - lv_value_5_0=ruleTruthValue(); + lv_value_7_0=ruleTruthValue(); state._fsp--; @@ -1268,7 +1336,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { set( current, "value", - lv_value_5_0, + lv_value_7_0, "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); afterParserOrEnumRuleCall(); @@ -1301,7 +1369,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleSymbol" - // InternalSolverLanguage.g:467:1: entryRuleSymbol returns [EObject current=null] : iv_ruleSymbol= ruleSymbol EOF ; + // InternalSolverLanguage.g:496:1: entryRuleSymbol returns [EObject current=null] : iv_ruleSymbol= ruleSymbol EOF ; public final EObject entryRuleSymbol() throws RecognitionException { EObject current = null; @@ -1309,8 +1377,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:467:47: (iv_ruleSymbol= ruleSymbol EOF ) - // InternalSolverLanguage.g:468:2: iv_ruleSymbol= ruleSymbol EOF + // InternalSolverLanguage.g:496:47: (iv_ruleSymbol= ruleSymbol EOF ) + // InternalSolverLanguage.g:497:2: iv_ruleSymbol= ruleSymbol EOF { newCompositeNode(grammarAccess.getSymbolRule()); pushFollow(FOLLOW_1); @@ -1337,7 +1405,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleSymbol" - // InternalSolverLanguage.g:474:1: ruleSymbol returns [EObject current=null] : (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ; + // InternalSolverLanguage.g:503:1: ruleSymbol returns [EObject current=null] : (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ; public final EObject ruleSymbol() throws RecognitionException { EObject current = null; @@ -1352,41 +1420,41 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:480:2: ( (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ) - // InternalSolverLanguage.g:481:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) + // InternalSolverLanguage.g:509:2: ( (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ) + // InternalSolverLanguage.g:510:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) { - // InternalSolverLanguage.g:481:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) - int alt9=3; + // InternalSolverLanguage.g:510:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) + int alt11=3; switch ( input.LA(1) ) { case RULE_ID: { - alt9=1; + alt11=1; } break; - case 20: case 21: + case 22: { - alt9=2; + alt11=2; } break; - case 22: case 23: case 24: case 25: + case 26: { - alt9=3; + alt11=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 9, 0, input); + new NoViableAltException("", 11, 0, input); throw nvae; } - switch (alt9) { + switch (alt11) { case 1 : - // InternalSolverLanguage.g:482:3: this_ModelSymbol_0= ruleModelSymbol + // InternalSolverLanguage.g:511:3: this_ModelSymbol_0= ruleModelSymbol { newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); @@ -1404,7 +1472,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:491:3: this_PartialitySymbol_1= rulePartialitySymbol + // InternalSolverLanguage.g:520:3: this_PartialitySymbol_1= rulePartialitySymbol { newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); @@ -1422,7 +1490,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:500:3: this_DataSymbol_2= ruleDataSymbol + // InternalSolverLanguage.g:529:3: this_DataSymbol_2= ruleDataSymbol { newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); @@ -1462,7 +1530,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleModelSymbol" - // InternalSolverLanguage.g:512:1: entryRuleModelSymbol returns [EObject current=null] : iv_ruleModelSymbol= ruleModelSymbol EOF ; + // InternalSolverLanguage.g:541:1: entryRuleModelSymbol returns [EObject current=null] : iv_ruleModelSymbol= ruleModelSymbol EOF ; public final EObject entryRuleModelSymbol() throws RecognitionException { EObject current = null; @@ -1470,8 +1538,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:512:52: (iv_ruleModelSymbol= ruleModelSymbol EOF ) - // InternalSolverLanguage.g:513:2: iv_ruleModelSymbol= ruleModelSymbol EOF + // InternalSolverLanguage.g:541:52: (iv_ruleModelSymbol= ruleModelSymbol EOF ) + // InternalSolverLanguage.g:542:2: iv_ruleModelSymbol= ruleModelSymbol EOF { newCompositeNode(grammarAccess.getModelSymbolRule()); pushFollow(FOLLOW_1); @@ -1498,7 +1566,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleModelSymbol" - // InternalSolverLanguage.g:519:1: ruleModelSymbol returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + // InternalSolverLanguage.g:548:1: ruleModelSymbol returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; public final EObject ruleModelSymbol() throws RecognitionException { EObject current = null; @@ -1508,14 +1576,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:525:2: ( ( (lv_name_0_0= RULE_ID ) ) ) - // InternalSolverLanguage.g:526:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguage.g:554:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalSolverLanguage.g:555:2: ( (lv_name_0_0= RULE_ID ) ) { - // InternalSolverLanguage.g:526:2: ( (lv_name_0_0= RULE_ID ) ) - // InternalSolverLanguage.g:527:3: (lv_name_0_0= RULE_ID ) + // InternalSolverLanguage.g:555:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguage.g:556:3: (lv_name_0_0= RULE_ID ) { - // InternalSolverLanguage.g:527:3: (lv_name_0_0= RULE_ID ) - // InternalSolverLanguage.g:528:4: lv_name_0_0= RULE_ID + // InternalSolverLanguage.g:556:3: (lv_name_0_0= RULE_ID ) + // InternalSolverLanguage.g:557:4: lv_name_0_0= RULE_ID { lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); @@ -1557,7 +1625,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRulePartialitySymbol" - // InternalSolverLanguage.g:547:1: entryRulePartialitySymbol returns [EObject current=null] : iv_rulePartialitySymbol= rulePartialitySymbol EOF ; + // InternalSolverLanguage.g:576:1: entryRulePartialitySymbol returns [EObject current=null] : iv_rulePartialitySymbol= rulePartialitySymbol EOF ; public final EObject entryRulePartialitySymbol() throws RecognitionException { EObject current = null; @@ -1565,8 +1633,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:547:57: (iv_rulePartialitySymbol= rulePartialitySymbol EOF ) - // InternalSolverLanguage.g:548:2: iv_rulePartialitySymbol= rulePartialitySymbol EOF + // InternalSolverLanguage.g:576:57: (iv_rulePartialitySymbol= rulePartialitySymbol EOF ) + // InternalSolverLanguage.g:577:2: iv_rulePartialitySymbol= rulePartialitySymbol EOF { newCompositeNode(grammarAccess.getPartialitySymbolRule()); pushFollow(FOLLOW_1); @@ -1593,7 +1661,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "rulePartialitySymbol" - // InternalSolverLanguage.g:554:1: rulePartialitySymbol returns [EObject current=null] : (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ; + // InternalSolverLanguage.g:583:1: rulePartialitySymbol returns [EObject current=null] : (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ; public final EObject rulePartialitySymbol() throws RecognitionException { EObject current = null; @@ -1606,28 +1674,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:560:2: ( (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ) - // InternalSolverLanguage.g:561:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) + // InternalSolverLanguage.g:589:2: ( (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ) + // InternalSolverLanguage.g:590:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) { - // InternalSolverLanguage.g:561:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) - int alt10=2; - int LA10_0 = input.LA(1); + // InternalSolverLanguage.g:590:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) + int alt12=2; + int LA12_0 = input.LA(1); - if ( (LA10_0==20) ) { - alt10=1; + if ( (LA12_0==21) ) { + alt12=1; } - else if ( (LA10_0==21) ) { - alt10=2; + else if ( (LA12_0==22) ) { + alt12=2; } else { NoViableAltException nvae = - new NoViableAltException("", 10, 0, input); + new NoViableAltException("", 12, 0, input); throw nvae; } - switch (alt10) { + switch (alt12) { case 1 : - // InternalSolverLanguage.g:562:3: this_ExistSymbol_0= ruleExistSymbol + // InternalSolverLanguage.g:591:3: this_ExistSymbol_0= ruleExistSymbol { newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); @@ -1645,7 +1713,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:571:3: this_EqualsSymbol_1= ruleEqualsSymbol + // InternalSolverLanguage.g:600:3: this_EqualsSymbol_1= ruleEqualsSymbol { newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); @@ -1685,7 +1753,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExistSymbol" - // InternalSolverLanguage.g:583:1: entryRuleExistSymbol returns [EObject current=null] : iv_ruleExistSymbol= ruleExistSymbol EOF ; + // InternalSolverLanguage.g:612:1: entryRuleExistSymbol returns [EObject current=null] : iv_ruleExistSymbol= ruleExistSymbol EOF ; public final EObject entryRuleExistSymbol() throws RecognitionException { EObject current = null; @@ -1693,8 +1761,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:583:52: (iv_ruleExistSymbol= ruleExistSymbol EOF ) - // InternalSolverLanguage.g:584:2: iv_ruleExistSymbol= ruleExistSymbol EOF + // InternalSolverLanguage.g:612:52: (iv_ruleExistSymbol= ruleExistSymbol EOF ) + // InternalSolverLanguage.g:613:2: iv_ruleExistSymbol= ruleExistSymbol EOF { newCompositeNode(grammarAccess.getExistSymbolRule()); pushFollow(FOLLOW_1); @@ -1721,7 +1789,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExistSymbol" - // InternalSolverLanguage.g:590:1: ruleExistSymbol returns [EObject current=null] : (otherlv_0= 'exists' () ) ; + // InternalSolverLanguage.g:619:1: ruleExistSymbol returns [EObject current=null] : (otherlv_0= 'exists' () ) ; public final EObject ruleExistSymbol() throws RecognitionException { EObject current = null; @@ -1731,18 +1799,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:596:2: ( (otherlv_0= 'exists' () ) ) - // InternalSolverLanguage.g:597:2: (otherlv_0= 'exists' () ) + // InternalSolverLanguage.g:625:2: ( (otherlv_0= 'exists' () ) ) + // InternalSolverLanguage.g:626:2: (otherlv_0= 'exists' () ) { - // InternalSolverLanguage.g:597:2: (otherlv_0= 'exists' () ) - // InternalSolverLanguage.g:598:3: otherlv_0= 'exists' () + // InternalSolverLanguage.g:626:2: (otherlv_0= 'exists' () ) + // InternalSolverLanguage.g:627:3: otherlv_0= 'exists' () { - otherlv_0=(Token)match(input,20,FOLLOW_2); + otherlv_0=(Token)match(input,21,FOLLOW_2); newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); - // InternalSolverLanguage.g:602:3: () - // InternalSolverLanguage.g:603:4: + // InternalSolverLanguage.g:631:3: () + // InternalSolverLanguage.g:632:4: { current = forceCreateModelElement( @@ -1775,7 +1843,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleEqualsSymbol" - // InternalSolverLanguage.g:613:1: entryRuleEqualsSymbol returns [EObject current=null] : iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ; + // InternalSolverLanguage.g:642:1: entryRuleEqualsSymbol returns [EObject current=null] : iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ; public final EObject entryRuleEqualsSymbol() throws RecognitionException { EObject current = null; @@ -1783,8 +1851,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:613:53: (iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ) - // InternalSolverLanguage.g:614:2: iv_ruleEqualsSymbol= ruleEqualsSymbol EOF + // InternalSolverLanguage.g:642:53: (iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ) + // InternalSolverLanguage.g:643:2: iv_ruleEqualsSymbol= ruleEqualsSymbol EOF { newCompositeNode(grammarAccess.getEqualsSymbolRule()); pushFollow(FOLLOW_1); @@ -1811,7 +1879,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleEqualsSymbol" - // InternalSolverLanguage.g:620:1: ruleEqualsSymbol returns [EObject current=null] : (otherlv_0= 'equals' () ) ; + // InternalSolverLanguage.g:649:1: ruleEqualsSymbol returns [EObject current=null] : (otherlv_0= 'equals' () ) ; public final EObject ruleEqualsSymbol() throws RecognitionException { EObject current = null; @@ -1821,18 +1889,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:626:2: ( (otherlv_0= 'equals' () ) ) - // InternalSolverLanguage.g:627:2: (otherlv_0= 'equals' () ) + // InternalSolverLanguage.g:655:2: ( (otherlv_0= 'equals' () ) ) + // InternalSolverLanguage.g:656:2: (otherlv_0= 'equals' () ) { - // InternalSolverLanguage.g:627:2: (otherlv_0= 'equals' () ) - // InternalSolverLanguage.g:628:3: otherlv_0= 'equals' () + // InternalSolverLanguage.g:656:2: (otherlv_0= 'equals' () ) + // InternalSolverLanguage.g:657:3: otherlv_0= 'equals' () { - otherlv_0=(Token)match(input,21,FOLLOW_2); + otherlv_0=(Token)match(input,22,FOLLOW_2); newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); - // InternalSolverLanguage.g:632:3: () - // InternalSolverLanguage.g:633:4: + // InternalSolverLanguage.g:661:3: () + // InternalSolverLanguage.g:662:4: { current = forceCreateModelElement( @@ -1865,7 +1933,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleDataSymbol" - // InternalSolverLanguage.g:643:1: entryRuleDataSymbol returns [EObject current=null] : iv_ruleDataSymbol= ruleDataSymbol EOF ; + // InternalSolverLanguage.g:672:1: entryRuleDataSymbol returns [EObject current=null] : iv_ruleDataSymbol= ruleDataSymbol EOF ; public final EObject entryRuleDataSymbol() throws RecognitionException { EObject current = null; @@ -1873,8 +1941,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:643:51: (iv_ruleDataSymbol= ruleDataSymbol EOF ) - // InternalSolverLanguage.g:644:2: iv_ruleDataSymbol= ruleDataSymbol EOF + // InternalSolverLanguage.g:672:51: (iv_ruleDataSymbol= ruleDataSymbol EOF ) + // InternalSolverLanguage.g:673:2: iv_ruleDataSymbol= ruleDataSymbol EOF { newCompositeNode(grammarAccess.getDataSymbolRule()); pushFollow(FOLLOW_1); @@ -1901,7 +1969,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDataSymbol" - // InternalSolverLanguage.g:650:1: ruleDataSymbol returns [EObject current=null] : (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ; + // InternalSolverLanguage.g:679:1: ruleDataSymbol returns [EObject current=null] : (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ; public final EObject ruleDataSymbol() throws RecognitionException { EObject current = null; @@ -1918,42 +1986,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:656:2: ( (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ) - // InternalSolverLanguage.g:657:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) + // InternalSolverLanguage.g:685:2: ( (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ) + // InternalSolverLanguage.g:686:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) { - // InternalSolverLanguage.g:657:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) - int alt11=4; + // InternalSolverLanguage.g:686:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) + int alt13=4; switch ( input.LA(1) ) { - case 22: - { - alt11=1; - } - break; case 23: { - alt11=2; + alt13=1; } break; case 24: { - alt11=3; + alt13=2; } break; case 25: { - alt11=4; + alt13=3; + } + break; + case 26: + { + alt13=4; } break; default: NoViableAltException nvae = - new NoViableAltException("", 11, 0, input); + new NoViableAltException("", 13, 0, input); throw nvae; } - switch (alt11) { + switch (alt13) { case 1 : - // InternalSolverLanguage.g:658:3: this_BooleanSymbol_0= ruleBooleanSymbol + // InternalSolverLanguage.g:687:3: this_BooleanSymbol_0= ruleBooleanSymbol { newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); @@ -1971,7 +2039,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:667:3: this_IntegerSymbol_1= ruleIntegerSymbol + // InternalSolverLanguage.g:696:3: this_IntegerSymbol_1= ruleIntegerSymbol { newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); @@ -1989,7 +2057,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:676:3: this_RealSymbol_2= ruleRealSymbol + // InternalSolverLanguage.g:705:3: this_RealSymbol_2= ruleRealSymbol { newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); @@ -2007,7 +2075,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguage.g:685:3: this_StringSymbol_3= ruleStringSymbol + // InternalSolverLanguage.g:714:3: this_StringSymbol_3= ruleStringSymbol { newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); @@ -2047,7 +2115,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleBooleanSymbol" - // InternalSolverLanguage.g:697:1: entryRuleBooleanSymbol returns [EObject current=null] : iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ; + // InternalSolverLanguage.g:726:1: entryRuleBooleanSymbol returns [EObject current=null] : iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ; public final EObject entryRuleBooleanSymbol() throws RecognitionException { EObject current = null; @@ -2055,8 +2123,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:697:54: (iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ) - // InternalSolverLanguage.g:698:2: iv_ruleBooleanSymbol= ruleBooleanSymbol EOF + // InternalSolverLanguage.g:726:54: (iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ) + // InternalSolverLanguage.g:727:2: iv_ruleBooleanSymbol= ruleBooleanSymbol EOF { newCompositeNode(grammarAccess.getBooleanSymbolRule()); pushFollow(FOLLOW_1); @@ -2083,7 +2151,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleBooleanSymbol" - // InternalSolverLanguage.g:704:1: ruleBooleanSymbol returns [EObject current=null] : (otherlv_0= 'bool' () ) ; + // InternalSolverLanguage.g:733:1: ruleBooleanSymbol returns [EObject current=null] : (otherlv_0= 'bool' () ) ; public final EObject ruleBooleanSymbol() throws RecognitionException { EObject current = null; @@ -2093,18 +2161,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:710:2: ( (otherlv_0= 'bool' () ) ) - // InternalSolverLanguage.g:711:2: (otherlv_0= 'bool' () ) + // InternalSolverLanguage.g:739:2: ( (otherlv_0= 'bool' () ) ) + // InternalSolverLanguage.g:740:2: (otherlv_0= 'bool' () ) { - // InternalSolverLanguage.g:711:2: (otherlv_0= 'bool' () ) - // InternalSolverLanguage.g:712:3: otherlv_0= 'bool' () + // InternalSolverLanguage.g:740:2: (otherlv_0= 'bool' () ) + // InternalSolverLanguage.g:741:3: otherlv_0= 'bool' () { - otherlv_0=(Token)match(input,22,FOLLOW_2); + otherlv_0=(Token)match(input,23,FOLLOW_2); newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); - // InternalSolverLanguage.g:716:3: () - // InternalSolverLanguage.g:717:4: + // InternalSolverLanguage.g:745:3: () + // InternalSolverLanguage.g:746:4: { current = forceCreateModelElement( @@ -2137,7 +2205,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleIntegerSymbol" - // InternalSolverLanguage.g:727:1: entryRuleIntegerSymbol returns [EObject current=null] : iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ; + // InternalSolverLanguage.g:756:1: entryRuleIntegerSymbol returns [EObject current=null] : iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ; public final EObject entryRuleIntegerSymbol() throws RecognitionException { EObject current = null; @@ -2145,8 +2213,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:727:54: (iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ) - // InternalSolverLanguage.g:728:2: iv_ruleIntegerSymbol= ruleIntegerSymbol EOF + // InternalSolverLanguage.g:756:54: (iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ) + // InternalSolverLanguage.g:757:2: iv_ruleIntegerSymbol= ruleIntegerSymbol EOF { newCompositeNode(grammarAccess.getIntegerSymbolRule()); pushFollow(FOLLOW_1); @@ -2173,7 +2241,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleIntegerSymbol" - // InternalSolverLanguage.g:734:1: ruleIntegerSymbol returns [EObject current=null] : (otherlv_0= 'int' () ) ; + // InternalSolverLanguage.g:763:1: ruleIntegerSymbol returns [EObject current=null] : (otherlv_0= 'int' () ) ; public final EObject ruleIntegerSymbol() throws RecognitionException { EObject current = null; @@ -2183,18 +2251,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:740:2: ( (otherlv_0= 'int' () ) ) - // InternalSolverLanguage.g:741:2: (otherlv_0= 'int' () ) + // InternalSolverLanguage.g:769:2: ( (otherlv_0= 'int' () ) ) + // InternalSolverLanguage.g:770:2: (otherlv_0= 'int' () ) { - // InternalSolverLanguage.g:741:2: (otherlv_0= 'int' () ) - // InternalSolverLanguage.g:742:3: otherlv_0= 'int' () + // InternalSolverLanguage.g:770:2: (otherlv_0= 'int' () ) + // InternalSolverLanguage.g:771:3: otherlv_0= 'int' () { - otherlv_0=(Token)match(input,23,FOLLOW_2); + otherlv_0=(Token)match(input,24,FOLLOW_2); newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); - // InternalSolverLanguage.g:746:3: () - // InternalSolverLanguage.g:747:4: + // InternalSolverLanguage.g:775:3: () + // InternalSolverLanguage.g:776:4: { current = forceCreateModelElement( @@ -2227,7 +2295,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleRealSymbol" - // InternalSolverLanguage.g:757:1: entryRuleRealSymbol returns [EObject current=null] : iv_ruleRealSymbol= ruleRealSymbol EOF ; + // InternalSolverLanguage.g:786:1: entryRuleRealSymbol returns [EObject current=null] : iv_ruleRealSymbol= ruleRealSymbol EOF ; public final EObject entryRuleRealSymbol() throws RecognitionException { EObject current = null; @@ -2235,8 +2303,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:757:51: (iv_ruleRealSymbol= ruleRealSymbol EOF ) - // InternalSolverLanguage.g:758:2: iv_ruleRealSymbol= ruleRealSymbol EOF + // InternalSolverLanguage.g:786:51: (iv_ruleRealSymbol= ruleRealSymbol EOF ) + // InternalSolverLanguage.g:787:2: iv_ruleRealSymbol= ruleRealSymbol EOF { newCompositeNode(grammarAccess.getRealSymbolRule()); pushFollow(FOLLOW_1); @@ -2263,7 +2331,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleRealSymbol" - // InternalSolverLanguage.g:764:1: ruleRealSymbol returns [EObject current=null] : (otherlv_0= 'real' () ) ; + // InternalSolverLanguage.g:793:1: ruleRealSymbol returns [EObject current=null] : (otherlv_0= 'real' () ) ; public final EObject ruleRealSymbol() throws RecognitionException { EObject current = null; @@ -2273,18 +2341,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:770:2: ( (otherlv_0= 'real' () ) ) - // InternalSolverLanguage.g:771:2: (otherlv_0= 'real' () ) + // InternalSolverLanguage.g:799:2: ( (otherlv_0= 'real' () ) ) + // InternalSolverLanguage.g:800:2: (otherlv_0= 'real' () ) { - // InternalSolverLanguage.g:771:2: (otherlv_0= 'real' () ) - // InternalSolverLanguage.g:772:3: otherlv_0= 'real' () + // InternalSolverLanguage.g:800:2: (otherlv_0= 'real' () ) + // InternalSolverLanguage.g:801:3: otherlv_0= 'real' () { - otherlv_0=(Token)match(input,24,FOLLOW_2); + otherlv_0=(Token)match(input,25,FOLLOW_2); newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0()); - // InternalSolverLanguage.g:776:3: () - // InternalSolverLanguage.g:777:4: + // InternalSolverLanguage.g:805:3: () + // InternalSolverLanguage.g:806:4: { current = forceCreateModelElement( @@ -2317,7 +2385,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStringSymbol" - // InternalSolverLanguage.g:787:1: entryRuleStringSymbol returns [EObject current=null] : iv_ruleStringSymbol= ruleStringSymbol EOF ; + // InternalSolverLanguage.g:816:1: entryRuleStringSymbol returns [EObject current=null] : iv_ruleStringSymbol= ruleStringSymbol EOF ; public final EObject entryRuleStringSymbol() throws RecognitionException { EObject current = null; @@ -2325,8 +2393,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:787:53: (iv_ruleStringSymbol= ruleStringSymbol EOF ) - // InternalSolverLanguage.g:788:2: iv_ruleStringSymbol= ruleStringSymbol EOF + // InternalSolverLanguage.g:816:53: (iv_ruleStringSymbol= ruleStringSymbol EOF ) + // InternalSolverLanguage.g:817:2: iv_ruleStringSymbol= ruleStringSymbol EOF { newCompositeNode(grammarAccess.getStringSymbolRule()); pushFollow(FOLLOW_1); @@ -2353,7 +2421,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStringSymbol" - // InternalSolverLanguage.g:794:1: ruleStringSymbol returns [EObject current=null] : (otherlv_0= 'string' () ) ; + // InternalSolverLanguage.g:823:1: ruleStringSymbol returns [EObject current=null] : (otherlv_0= 'string' () ) ; public final EObject ruleStringSymbol() throws RecognitionException { EObject current = null; @@ -2363,18 +2431,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:800:2: ( (otherlv_0= 'string' () ) ) - // InternalSolverLanguage.g:801:2: (otherlv_0= 'string' () ) + // InternalSolverLanguage.g:829:2: ( (otherlv_0= 'string' () ) ) + // InternalSolverLanguage.g:830:2: (otherlv_0= 'string' () ) { - // InternalSolverLanguage.g:801:2: (otherlv_0= 'string' () ) - // InternalSolverLanguage.g:802:3: otherlv_0= 'string' () + // InternalSolverLanguage.g:830:2: (otherlv_0= 'string' () ) + // InternalSolverLanguage.g:831:3: otherlv_0= 'string' () { - otherlv_0=(Token)match(input,25,FOLLOW_2); + otherlv_0=(Token)match(input,26,FOLLOW_2); newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0()); - // InternalSolverLanguage.g:806:3: () - // InternalSolverLanguage.g:807:4: + // InternalSolverLanguage.g:835:3: () + // InternalSolverLanguage.g:836:4: { current = forceCreateModelElement( @@ -2407,7 +2475,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleComplexObject" - // InternalSolverLanguage.g:817:1: entryRuleComplexObject returns [EObject current=null] : iv_ruleComplexObject= ruleComplexObject EOF ; + // InternalSolverLanguage.g:846:1: entryRuleComplexObject returns [EObject current=null] : iv_ruleComplexObject= ruleComplexObject EOF ; public final EObject entryRuleComplexObject() throws RecognitionException { EObject current = null; @@ -2415,8 +2483,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:817:54: (iv_ruleComplexObject= ruleComplexObject EOF ) - // InternalSolverLanguage.g:818:2: iv_ruleComplexObject= ruleComplexObject EOF + // InternalSolverLanguage.g:846:54: (iv_ruleComplexObject= ruleComplexObject EOF ) + // InternalSolverLanguage.g:847:2: iv_ruleComplexObject= ruleComplexObject EOF { newCompositeNode(grammarAccess.getComplexObjectRule()); pushFollow(FOLLOW_1); @@ -2443,7 +2511,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleComplexObject" - // InternalSolverLanguage.g:824:1: ruleComplexObject returns [EObject current=null] : (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ; + // InternalSolverLanguage.g:853:1: ruleComplexObject returns [EObject current=null] : (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ; public final EObject ruleComplexObject() throws RecognitionException { EObject current = null; @@ -2458,11 +2526,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:830:2: ( (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ) - // InternalSolverLanguage.g:831:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) + // InternalSolverLanguage.g:859:2: ( (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ) + // InternalSolverLanguage.g:860:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) { - // InternalSolverLanguage.g:831:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) - int alt12=3; + // InternalSolverLanguage.g:860:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) + int alt14=3; switch ( input.LA(1) ) { case RULE_INT: case RULE_ID: @@ -2470,31 +2538,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { case 11: case 13: case 14: - case 26: + case 27: { - alt12=1; + alt14=1; } break; - case 19: + case 20: { - alt12=2; + alt14=2; } break; - case 30: + case 31: { - alt12=3; + alt14=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 12, 0, input); + new NoViableAltException("", 14, 0, input); throw nvae; } - switch (alt12) { + switch (alt14) { case 1 : - // InternalSolverLanguage.g:832:3: this_Object_0= ruleObject + // InternalSolverLanguage.g:861:3: this_Object_0= ruleObject { newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); @@ -2512,7 +2580,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:841:3: this_AllInstances_1= ruleAllInstances + // InternalSolverLanguage.g:870:3: this_AllInstances_1= ruleAllInstances { newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); @@ -2530,7 +2598,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:850:3: this_AllObjects_2= ruleAllObjects + // InternalSolverLanguage.g:879:3: this_AllObjects_2= ruleAllObjects { newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); @@ -2570,7 +2638,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleObject" - // InternalSolverLanguage.g:862:1: entryRuleObject returns [EObject current=null] : iv_ruleObject= ruleObject EOF ; + // InternalSolverLanguage.g:891:1: entryRuleObject returns [EObject current=null] : iv_ruleObject= ruleObject EOF ; public final EObject entryRuleObject() throws RecognitionException { EObject current = null; @@ -2578,8 +2646,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:862:47: (iv_ruleObject= ruleObject EOF ) - // InternalSolverLanguage.g:863:2: iv_ruleObject= ruleObject EOF + // InternalSolverLanguage.g:891:47: (iv_ruleObject= ruleObject EOF ) + // InternalSolverLanguage.g:892:2: iv_ruleObject= ruleObject EOF { newCompositeNode(grammarAccess.getObjectRule()); pushFollow(FOLLOW_1); @@ -2606,7 +2674,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleObject" - // InternalSolverLanguage.g:869:1: ruleObject returns [EObject current=null] : (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ; + // InternalSolverLanguage.g:898:1: ruleObject returns [EObject current=null] : (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ; public final EObject ruleObject() throws RecognitionException { EObject current = null; @@ -2621,20 +2689,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:875:2: ( (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ) - // InternalSolverLanguage.g:876:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) + // InternalSolverLanguage.g:904:2: ( (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ) + // InternalSolverLanguage.g:905:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) { - // InternalSolverLanguage.g:876:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) - int alt13=3; + // InternalSolverLanguage.g:905:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) + int alt15=3; switch ( input.LA(1) ) { - case 26: + case 27: { - alt13=1; + alt15=1; } break; case RULE_ID: { - alt13=2; + alt15=2; } break; case RULE_INT: @@ -2643,19 +2711,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { case 13: case 14: { - alt13=3; + alt15=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 13, 0, input); + new NoViableAltException("", 15, 0, input); throw nvae; } - switch (alt13) { + switch (alt15) { case 1 : - // InternalSolverLanguage.g:877:3: this_NamedObject_0= ruleNamedObject + // InternalSolverLanguage.g:906:3: this_NamedObject_0= ruleNamedObject { newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); @@ -2673,7 +2741,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:886:3: this_UnnamedObject_1= ruleUnnamedObject + // InternalSolverLanguage.g:915:3: this_UnnamedObject_1= ruleUnnamedObject { newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); @@ -2691,7 +2759,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:895:3: this_DataObject_2= ruleDataObject + // InternalSolverLanguage.g:924:3: this_DataObject_2= ruleDataObject { newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); @@ -2731,7 +2799,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleNamedObject" - // InternalSolverLanguage.g:907:1: entryRuleNamedObject returns [EObject current=null] : iv_ruleNamedObject= ruleNamedObject EOF ; + // InternalSolverLanguage.g:936:1: entryRuleNamedObject returns [EObject current=null] : iv_ruleNamedObject= ruleNamedObject EOF ; public final EObject entryRuleNamedObject() throws RecognitionException { EObject current = null; @@ -2739,8 +2807,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:907:52: (iv_ruleNamedObject= ruleNamedObject EOF ) - // InternalSolverLanguage.g:908:2: iv_ruleNamedObject= ruleNamedObject EOF + // InternalSolverLanguage.g:936:52: (iv_ruleNamedObject= ruleNamedObject EOF ) + // InternalSolverLanguage.g:937:2: iv_ruleNamedObject= ruleNamedObject EOF { newCompositeNode(grammarAccess.getNamedObjectRule()); pushFollow(FOLLOW_1); @@ -2767,7 +2835,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleNamedObject" - // InternalSolverLanguage.g:914:1: ruleNamedObject returns [EObject current=null] : (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ; + // InternalSolverLanguage.g:943:1: ruleNamedObject returns [EObject current=null] : (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ; public final EObject ruleNamedObject() throws RecognitionException { EObject current = null; @@ -2779,23 +2847,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:920:2: ( (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ) - // InternalSolverLanguage.g:921:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) + // InternalSolverLanguage.g:949:2: ( (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ) + // InternalSolverLanguage.g:950:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) { - // InternalSolverLanguage.g:921:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) - // InternalSolverLanguage.g:922:3: otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' + // InternalSolverLanguage.g:950:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) + // InternalSolverLanguage.g:951:3: otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' { - otherlv_0=(Token)match(input,26,FOLLOW_10); + otherlv_0=(Token)match(input,27,FOLLOW_12); newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); - // InternalSolverLanguage.g:926:3: ( (lv_name_1_0= RULE_ID ) ) - // InternalSolverLanguage.g:927:4: (lv_name_1_0= RULE_ID ) + // InternalSolverLanguage.g:955:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalSolverLanguage.g:956:4: (lv_name_1_0= RULE_ID ) { - // InternalSolverLanguage.g:927:4: (lv_name_1_0= RULE_ID ) - // InternalSolverLanguage.g:928:5: lv_name_1_0= RULE_ID + // InternalSolverLanguage.g:956:4: (lv_name_1_0= RULE_ID ) + // InternalSolverLanguage.g:957:5: lv_name_1_0= RULE_ID { - lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_11); + lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_13); newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); @@ -2815,7 +2883,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,26,FOLLOW_2); + otherlv_2=(Token)match(input,27,FOLLOW_2); newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); @@ -2842,7 +2910,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleUnnamedObject" - // InternalSolverLanguage.g:952:1: entryRuleUnnamedObject returns [EObject current=null] : iv_ruleUnnamedObject= ruleUnnamedObject EOF ; + // InternalSolverLanguage.g:981:1: entryRuleUnnamedObject returns [EObject current=null] : iv_ruleUnnamedObject= ruleUnnamedObject EOF ; public final EObject entryRuleUnnamedObject() throws RecognitionException { EObject current = null; @@ -2850,8 +2918,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:952:54: (iv_ruleUnnamedObject= ruleUnnamedObject EOF ) - // InternalSolverLanguage.g:953:2: iv_ruleUnnamedObject= ruleUnnamedObject EOF + // InternalSolverLanguage.g:981:54: (iv_ruleUnnamedObject= ruleUnnamedObject EOF ) + // InternalSolverLanguage.g:982:2: iv_ruleUnnamedObject= ruleUnnamedObject EOF { newCompositeNode(grammarAccess.getUnnamedObjectRule()); pushFollow(FOLLOW_1); @@ -2878,7 +2946,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUnnamedObject" - // InternalSolverLanguage.g:959:1: ruleUnnamedObject returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + // InternalSolverLanguage.g:988:1: ruleUnnamedObject returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; public final EObject ruleUnnamedObject() throws RecognitionException { EObject current = null; @@ -2888,14 +2956,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:965:2: ( ( (lv_name_0_0= RULE_ID ) ) ) - // InternalSolverLanguage.g:966:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguage.g:994:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalSolverLanguage.g:995:2: ( (lv_name_0_0= RULE_ID ) ) { - // InternalSolverLanguage.g:966:2: ( (lv_name_0_0= RULE_ID ) ) - // InternalSolverLanguage.g:967:3: (lv_name_0_0= RULE_ID ) + // InternalSolverLanguage.g:995:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguage.g:996:3: (lv_name_0_0= RULE_ID ) { - // InternalSolverLanguage.g:967:3: (lv_name_0_0= RULE_ID ) - // InternalSolverLanguage.g:968:4: lv_name_0_0= RULE_ID + // InternalSolverLanguage.g:996:3: (lv_name_0_0= RULE_ID ) + // InternalSolverLanguage.g:997:4: lv_name_0_0= RULE_ID { lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); @@ -2937,7 +3005,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleDataObject" - // InternalSolverLanguage.g:987:1: entryRuleDataObject returns [EObject current=null] : iv_ruleDataObject= ruleDataObject EOF ; + // InternalSolverLanguage.g:1016:1: entryRuleDataObject returns [EObject current=null] : iv_ruleDataObject= ruleDataObject EOF ; public final EObject entryRuleDataObject() throws RecognitionException { EObject current = null; @@ -2945,8 +3013,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:987:51: (iv_ruleDataObject= ruleDataObject EOF ) - // InternalSolverLanguage.g:988:2: iv_ruleDataObject= ruleDataObject EOF + // InternalSolverLanguage.g:1016:51: (iv_ruleDataObject= ruleDataObject EOF ) + // InternalSolverLanguage.g:1017:2: iv_ruleDataObject= ruleDataObject EOF { newCompositeNode(grammarAccess.getDataObjectRule()); pushFollow(FOLLOW_1); @@ -2973,7 +3041,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDataObject" - // InternalSolverLanguage.g:994:1: ruleDataObject returns [EObject current=null] : (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ; + // InternalSolverLanguage.g:1023:1: ruleDataObject returns [EObject current=null] : (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ; public final EObject ruleDataObject() throws RecognitionException { EObject current = null; @@ -2990,41 +3058,41 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1000:2: ( (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ) - // InternalSolverLanguage.g:1001:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) + // InternalSolverLanguage.g:1029:2: ( (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ) + // InternalSolverLanguage.g:1030:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) { - // InternalSolverLanguage.g:1001:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) - int alt14=4; + // InternalSolverLanguage.g:1030:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) + int alt16=4; switch ( input.LA(1) ) { case 13: case 14: { - alt14=1; + alt16=1; } break; case 11: { - int LA14_2 = input.LA(2); + int LA16_2 = input.LA(2); - if ( (LA14_2==RULE_INT) ) { - int LA14_3 = input.LA(3); + if ( (LA16_2==RULE_INT) ) { + int LA16_3 = input.LA(3); - if ( (LA14_3==12) ) { - alt14=3; + if ( (LA16_3==12) ) { + alt16=3; } - else if ( (LA14_3==EOF||(LA14_3>=RULE_INT && LA14_3<=RULE_STRING)||LA14_3==11||(LA14_3>=13 && LA14_3<=14)||(LA14_3>=18 && LA14_3<=19)||LA14_3==26||LA14_3==30) ) { - alt14=2; + else if ( (LA16_3==EOF||(LA16_3>=18 && LA16_3<=19)) ) { + alt16=2; } else { NoViableAltException nvae = - new NoViableAltException("", 14, 3, input); + new NoViableAltException("", 16, 3, input); throw nvae; } } else { NoViableAltException nvae = - new NoViableAltException("", 14, 2, input); + new NoViableAltException("", 16, 2, input); throw nvae; } @@ -3032,17 +3100,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; case RULE_INT: { - int LA14_3 = input.LA(2); + int LA16_3 = input.LA(2); - if ( (LA14_3==12) ) { - alt14=3; + if ( (LA16_3==12) ) { + alt16=3; } - else if ( (LA14_3==EOF||(LA14_3>=RULE_INT && LA14_3<=RULE_STRING)||LA14_3==11||(LA14_3>=13 && LA14_3<=14)||(LA14_3>=18 && LA14_3<=19)||LA14_3==26||LA14_3==30) ) { - alt14=2; + else if ( (LA16_3==EOF||(LA16_3>=18 && LA16_3<=19)) ) { + alt16=2; } else { NoViableAltException nvae = - new NoViableAltException("", 14, 3, input); + new NoViableAltException("", 16, 3, input); throw nvae; } @@ -3050,19 +3118,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; case RULE_STRING: { - alt14=4; + alt16=4; } break; default: NoViableAltException nvae = - new NoViableAltException("", 14, 0, input); + new NoViableAltException("", 16, 0, input); throw nvae; } - switch (alt14) { + switch (alt16) { case 1 : - // InternalSolverLanguage.g:1002:3: this_BooleanObject_0= ruleBooleanObject + // InternalSolverLanguage.g:1031:3: this_BooleanObject_0= ruleBooleanObject { newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); @@ -3080,7 +3148,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:1011:3: this_IntObject_1= ruleIntObject + // InternalSolverLanguage.g:1040:3: this_IntObject_1= ruleIntObject { newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); @@ -3098,7 +3166,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:1020:3: this_RealObject_2= ruleRealObject + // InternalSolverLanguage.g:1049:3: this_RealObject_2= ruleRealObject { newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); @@ -3116,7 +3184,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguage.g:1029:3: this_StringObject_3= ruleStringObject + // InternalSolverLanguage.g:1058:3: this_StringObject_3= ruleStringObject { newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); @@ -3156,7 +3224,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleBooleanObject" - // InternalSolverLanguage.g:1041:1: entryRuleBooleanObject returns [EObject current=null] : iv_ruleBooleanObject= ruleBooleanObject EOF ; + // InternalSolverLanguage.g:1070:1: entryRuleBooleanObject returns [EObject current=null] : iv_ruleBooleanObject= ruleBooleanObject EOF ; public final EObject entryRuleBooleanObject() throws RecognitionException { EObject current = null; @@ -3164,8 +3232,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1041:54: (iv_ruleBooleanObject= ruleBooleanObject EOF ) - // InternalSolverLanguage.g:1042:2: iv_ruleBooleanObject= ruleBooleanObject EOF + // InternalSolverLanguage.g:1070:54: (iv_ruleBooleanObject= ruleBooleanObject EOF ) + // InternalSolverLanguage.g:1071:2: iv_ruleBooleanObject= ruleBooleanObject EOF { newCompositeNode(grammarAccess.getBooleanObjectRule()); pushFollow(FOLLOW_1); @@ -3192,7 +3260,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleBooleanObject" - // InternalSolverLanguage.g:1048:1: ruleBooleanObject returns [EObject current=null] : ( (lv_value_0_0= ruleBooleanValue ) ) ; + // InternalSolverLanguage.g:1077:1: ruleBooleanObject returns [EObject current=null] : ( (lv_value_0_0= ruleBooleanValue ) ) ; public final EObject ruleBooleanObject() throws RecognitionException { EObject current = null; @@ -3203,14 +3271,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1054:2: ( ( (lv_value_0_0= ruleBooleanValue ) ) ) - // InternalSolverLanguage.g:1055:2: ( (lv_value_0_0= ruleBooleanValue ) ) + // InternalSolverLanguage.g:1083:2: ( ( (lv_value_0_0= ruleBooleanValue ) ) ) + // InternalSolverLanguage.g:1084:2: ( (lv_value_0_0= ruleBooleanValue ) ) { - // InternalSolverLanguage.g:1055:2: ( (lv_value_0_0= ruleBooleanValue ) ) - // InternalSolverLanguage.g:1056:3: (lv_value_0_0= ruleBooleanValue ) + // InternalSolverLanguage.g:1084:2: ( (lv_value_0_0= ruleBooleanValue ) ) + // InternalSolverLanguage.g:1085:3: (lv_value_0_0= ruleBooleanValue ) { - // InternalSolverLanguage.g:1056:3: (lv_value_0_0= ruleBooleanValue ) - // InternalSolverLanguage.g:1057:4: lv_value_0_0= ruleBooleanValue + // InternalSolverLanguage.g:1085:3: (lv_value_0_0= ruleBooleanValue ) + // InternalSolverLanguage.g:1086:4: lv_value_0_0= ruleBooleanValue { newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); @@ -3257,7 +3325,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleIntObject" - // InternalSolverLanguage.g:1077:1: entryRuleIntObject returns [EObject current=null] : iv_ruleIntObject= ruleIntObject EOF ; + // InternalSolverLanguage.g:1106:1: entryRuleIntObject returns [EObject current=null] : iv_ruleIntObject= ruleIntObject EOF ; public final EObject entryRuleIntObject() throws RecognitionException { EObject current = null; @@ -3265,8 +3333,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1077:50: (iv_ruleIntObject= ruleIntObject EOF ) - // InternalSolverLanguage.g:1078:2: iv_ruleIntObject= ruleIntObject EOF + // InternalSolverLanguage.g:1106:50: (iv_ruleIntObject= ruleIntObject EOF ) + // InternalSolverLanguage.g:1107:2: iv_ruleIntObject= ruleIntObject EOF { newCompositeNode(grammarAccess.getIntObjectRule()); pushFollow(FOLLOW_1); @@ -3293,7 +3361,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleIntObject" - // InternalSolverLanguage.g:1084:1: ruleIntObject returns [EObject current=null] : ( (lv_value_0_0= ruleINTLiteral ) ) ; + // InternalSolverLanguage.g:1113:1: ruleIntObject returns [EObject current=null] : ( (lv_value_0_0= ruleINTLiteral ) ) ; public final EObject ruleIntObject() throws RecognitionException { EObject current = null; @@ -3304,14 +3372,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1090:2: ( ( (lv_value_0_0= ruleINTLiteral ) ) ) - // InternalSolverLanguage.g:1091:2: ( (lv_value_0_0= ruleINTLiteral ) ) + // InternalSolverLanguage.g:1119:2: ( ( (lv_value_0_0= ruleINTLiteral ) ) ) + // InternalSolverLanguage.g:1120:2: ( (lv_value_0_0= ruleINTLiteral ) ) { - // InternalSolverLanguage.g:1091:2: ( (lv_value_0_0= ruleINTLiteral ) ) - // InternalSolverLanguage.g:1092:3: (lv_value_0_0= ruleINTLiteral ) + // InternalSolverLanguage.g:1120:2: ( (lv_value_0_0= ruleINTLiteral ) ) + // InternalSolverLanguage.g:1121:3: (lv_value_0_0= ruleINTLiteral ) { - // InternalSolverLanguage.g:1092:3: (lv_value_0_0= ruleINTLiteral ) - // InternalSolverLanguage.g:1093:4: lv_value_0_0= ruleINTLiteral + // InternalSolverLanguage.g:1121:3: (lv_value_0_0= ruleINTLiteral ) + // InternalSolverLanguage.g:1122:4: lv_value_0_0= ruleINTLiteral { newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); @@ -3358,7 +3426,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleRealObject" - // InternalSolverLanguage.g:1113:1: entryRuleRealObject returns [EObject current=null] : iv_ruleRealObject= ruleRealObject EOF ; + // InternalSolverLanguage.g:1142:1: entryRuleRealObject returns [EObject current=null] : iv_ruleRealObject= ruleRealObject EOF ; public final EObject entryRuleRealObject() throws RecognitionException { EObject current = null; @@ -3366,8 +3434,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1113:51: (iv_ruleRealObject= ruleRealObject EOF ) - // InternalSolverLanguage.g:1114:2: iv_ruleRealObject= ruleRealObject EOF + // InternalSolverLanguage.g:1142:51: (iv_ruleRealObject= ruleRealObject EOF ) + // InternalSolverLanguage.g:1143:2: iv_ruleRealObject= ruleRealObject EOF { newCompositeNode(grammarAccess.getRealObjectRule()); pushFollow(FOLLOW_1); @@ -3394,7 +3462,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleRealObject" - // InternalSolverLanguage.g:1120:1: ruleRealObject returns [EObject current=null] : ( (lv_value_0_0= ruleREALLiteral ) ) ; + // InternalSolverLanguage.g:1149:1: ruleRealObject returns [EObject current=null] : ( (lv_value_0_0= ruleREALLiteral ) ) ; public final EObject ruleRealObject() throws RecognitionException { EObject current = null; @@ -3405,14 +3473,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1126:2: ( ( (lv_value_0_0= ruleREALLiteral ) ) ) - // InternalSolverLanguage.g:1127:2: ( (lv_value_0_0= ruleREALLiteral ) ) + // InternalSolverLanguage.g:1155:2: ( ( (lv_value_0_0= ruleREALLiteral ) ) ) + // InternalSolverLanguage.g:1156:2: ( (lv_value_0_0= ruleREALLiteral ) ) { - // InternalSolverLanguage.g:1127:2: ( (lv_value_0_0= ruleREALLiteral ) ) - // InternalSolverLanguage.g:1128:3: (lv_value_0_0= ruleREALLiteral ) + // InternalSolverLanguage.g:1156:2: ( (lv_value_0_0= ruleREALLiteral ) ) + // InternalSolverLanguage.g:1157:3: (lv_value_0_0= ruleREALLiteral ) { - // InternalSolverLanguage.g:1128:3: (lv_value_0_0= ruleREALLiteral ) - // InternalSolverLanguage.g:1129:4: lv_value_0_0= ruleREALLiteral + // InternalSolverLanguage.g:1157:3: (lv_value_0_0= ruleREALLiteral ) + // InternalSolverLanguage.g:1158:4: lv_value_0_0= ruleREALLiteral { newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); @@ -3459,7 +3527,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStringObject" - // InternalSolverLanguage.g:1149:1: entryRuleStringObject returns [EObject current=null] : iv_ruleStringObject= ruleStringObject EOF ; + // InternalSolverLanguage.g:1178:1: entryRuleStringObject returns [EObject current=null] : iv_ruleStringObject= ruleStringObject EOF ; public final EObject entryRuleStringObject() throws RecognitionException { EObject current = null; @@ -3467,8 +3535,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1149:53: (iv_ruleStringObject= ruleStringObject EOF ) - // InternalSolverLanguage.g:1150:2: iv_ruleStringObject= ruleStringObject EOF + // InternalSolverLanguage.g:1178:53: (iv_ruleStringObject= ruleStringObject EOF ) + // InternalSolverLanguage.g:1179:2: iv_ruleStringObject= ruleStringObject EOF { newCompositeNode(grammarAccess.getStringObjectRule()); pushFollow(FOLLOW_1); @@ -3495,7 +3563,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStringObject" - // InternalSolverLanguage.g:1156:1: ruleStringObject returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; + // InternalSolverLanguage.g:1185:1: ruleStringObject returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; public final EObject ruleStringObject() throws RecognitionException { EObject current = null; @@ -3505,14 +3573,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1162:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) - // InternalSolverLanguage.g:1163:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguage.g:1191:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) + // InternalSolverLanguage.g:1192:2: ( (lv_value_0_0= RULE_STRING ) ) { - // InternalSolverLanguage.g:1163:2: ( (lv_value_0_0= RULE_STRING ) ) - // InternalSolverLanguage.g:1164:3: (lv_value_0_0= RULE_STRING ) + // InternalSolverLanguage.g:1192:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguage.g:1193:3: (lv_value_0_0= RULE_STRING ) { - // InternalSolverLanguage.g:1164:3: (lv_value_0_0= RULE_STRING ) - // InternalSolverLanguage.g:1165:4: lv_value_0_0= RULE_STRING + // InternalSolverLanguage.g:1193:3: (lv_value_0_0= RULE_STRING ) + // InternalSolverLanguage.g:1194:4: lv_value_0_0= RULE_STRING { lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); @@ -3554,7 +3622,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRulePredicate" - // InternalSolverLanguage.g:1184:1: entryRulePredicate returns [EObject current=null] : iv_rulePredicate= rulePredicate EOF ; + // InternalSolverLanguage.g:1213:1: entryRulePredicate returns [EObject current=null] : iv_rulePredicate= rulePredicate EOF ; public final EObject entryRulePredicate() throws RecognitionException { EObject current = null; @@ -3562,8 +3630,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1184:50: (iv_rulePredicate= rulePredicate EOF ) - // InternalSolverLanguage.g:1185:2: iv_rulePredicate= rulePredicate EOF + // InternalSolverLanguage.g:1213:50: (iv_rulePredicate= rulePredicate EOF ) + // InternalSolverLanguage.g:1214:2: iv_rulePredicate= rulePredicate EOF { newCompositeNode(grammarAccess.getPredicateRule()); pushFollow(FOLLOW_1); @@ -3590,611 +3658,247 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "rulePredicate" - // InternalSolverLanguage.g:1191:1: rulePredicate returns [EObject current=null] : (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) ; + // InternalSolverLanguage.g:1220:1: rulePredicate returns [EObject current=null] : ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) ; public final EObject rulePredicate() throws RecognitionException { EObject current = null; - EObject this_PredicateSymbol_0 = null; + Token lv_isError_0_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_symbol_1_0 = null; + + EObject lv_parameters_3_0 = null; + + EObject lv_parameters_5_0 = null; + + EObject lv_bodies_9_0 = null; - EObject this_ErrorPredicate_1 = null; + EObject lv_bodies_11_0 = null; enterRule(); try { - // InternalSolverLanguage.g:1197:2: ( (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) ) - // InternalSolverLanguage.g:1198:2: (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) + // InternalSolverLanguage.g:1226:2: ( ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) ) + // InternalSolverLanguage.g:1227:2: ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) { - // InternalSolverLanguage.g:1198:2: (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) - int alt15=2; - int LA15_0 = input.LA(1); - - if ( (LA15_0==27) ) { - alt15=1; - } - else if ( (LA15_0==16) ) { - alt15=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 15, 0, input); + // InternalSolverLanguage.g:1227:2: ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) + // InternalSolverLanguage.g:1228:3: ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' + { + // InternalSolverLanguage.g:1228:3: ( (lv_isError_0_0= 'error' ) )? + int alt17=2; + int LA17_0 = input.LA(1); - throw nvae; + if ( (LA17_0==16) ) { + alt17=1; } - switch (alt15) { + switch (alt17) { case 1 : - // InternalSolverLanguage.g:1199:3: this_PredicateSymbol_0= rulePredicateSymbol + // InternalSolverLanguage.g:1229:4: (lv_isError_0_0= 'error' ) { + // InternalSolverLanguage.g:1229:4: (lv_isError_0_0= 'error' ) + // InternalSolverLanguage.g:1230:5: lv_isError_0_0= 'error' + { + lv_isError_0_0=(Token)match(input,16,FOLLOW_12); - newCompositeNode(grammarAccess.getPredicateAccess().getPredicateSymbolParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_PredicateSymbol_0=rulePredicateSymbol(); + newLeafNode(lv_isError_0_0, grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); + - state._fsp--; + if (current==null) { + current = createModelElement(grammarAccess.getPredicateRule()); + } + setWithLastConsumed(current, "isError", true, "error"); + + } - current = this_PredicateSymbol_0; - afterParserOrEnumRuleCall(); - } break; - case 2 : - // InternalSolverLanguage.g:1208:3: this_ErrorPredicate_1= ruleErrorPredicate - { - newCompositeNode(grammarAccess.getPredicateAccess().getErrorPredicateParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_ErrorPredicate_1=ruleErrorPredicate(); + } - state._fsp--; + // InternalSolverLanguage.g:1242:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) + // InternalSolverLanguage.g:1243:4: (lv_symbol_1_0= ruleModelSymbol ) + { + // InternalSolverLanguage.g:1243:4: (lv_symbol_1_0= ruleModelSymbol ) + // InternalSolverLanguage.g:1244:5: lv_symbol_1_0= ruleModelSymbol + { + + newCompositeNode(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); + + pushFollow(FOLLOW_14); + lv_symbol_1_0=ruleModelSymbol(); + state._fsp--; - current = this_ErrorPredicate_1; - afterParserOrEnumRuleCall(); - - } - break; + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateRule()); + } + set( + current, + "symbol", + lv_symbol_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); + afterParserOrEnumRuleCall(); + } } + // InternalSolverLanguage.g:1261:3: (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? + int alt20=2; + int LA20_0 = input.LA(1); - leaveRule(); + if ( (LA20_0==17) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // InternalSolverLanguage.g:1262:4: otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' + { + otherlv_2=(Token)match(input,17,FOLLOW_15); - } + newLeafNode(otherlv_2, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); + + // InternalSolverLanguage.g:1266:4: ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? + int alt19=2; + int LA19_0 = input.LA(1); - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "rulePredicate" + if ( (LA19_0==RULE_ID) ) { + alt19=1; + } + switch (alt19) { + case 1 : + // InternalSolverLanguage.g:1267:5: ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* + { + // InternalSolverLanguage.g:1267:5: ( (lv_parameters_3_0= ruleParameter ) ) + // InternalSolverLanguage.g:1268:6: (lv_parameters_3_0= ruleParameter ) + { + // InternalSolverLanguage.g:1268:6: (lv_parameters_3_0= ruleParameter ) + // InternalSolverLanguage.g:1269:7: lv_parameters_3_0= ruleParameter + { + newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); + + pushFollow(FOLLOW_8); + lv_parameters_3_0=ruleParameter(); - // $ANTLR start "entryRulePredicateSymbol" - // InternalSolverLanguage.g:1220:1: entryRulePredicateSymbol returns [EObject current=null] : iv_rulePredicateSymbol= rulePredicateSymbol EOF ; - public final EObject entryRulePredicateSymbol() throws RecognitionException { - EObject current = null; + state._fsp--; - EObject iv_rulePredicateSymbol = null; + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateRule()); + } + add( + current, + "parameters", + lv_parameters_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); + afterParserOrEnumRuleCall(); + - try { - // InternalSolverLanguage.g:1220:56: (iv_rulePredicateSymbol= rulePredicateSymbol EOF ) - // InternalSolverLanguage.g:1221:2: iv_rulePredicateSymbol= rulePredicateSymbol EOF - { - newCompositeNode(grammarAccess.getPredicateSymbolRule()); - pushFollow(FOLLOW_1); - iv_rulePredicateSymbol=rulePredicateSymbol(); + } - state._fsp--; - current =iv_rulePredicateSymbol; - match(input,EOF,FOLLOW_2); + } - } + // InternalSolverLanguage.g:1286:5: (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* + loop18: + do { + int alt18=2; + int LA18_0 = input.LA(1); - } + if ( (LA18_0==18) ) { + alt18=1; + } - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRulePredicateSymbol" + switch (alt18) { + case 1 : + // InternalSolverLanguage.g:1287:6: otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) + { + otherlv_4=(Token)match(input,18,FOLLOW_12); - // $ANTLR start "rulePredicateSymbol" - // InternalSolverLanguage.g:1227:1: rulePredicateSymbol returns [EObject current=null] : (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) ; - public final EObject rulePredicateSymbol() throws RecognitionException { - EObject current = null; + newLeafNode(otherlv_4, grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); + + // InternalSolverLanguage.g:1291:6: ( (lv_parameters_5_0= ruleParameter ) ) + // InternalSolverLanguage.g:1292:7: (lv_parameters_5_0= ruleParameter ) + { + // InternalSolverLanguage.g:1292:7: (lv_parameters_5_0= ruleParameter ) + // InternalSolverLanguage.g:1293:8: lv_parameters_5_0= ruleParameter + { - Token otherlv_0=null; - Token otherlv_2=null; - Token otherlv_4=null; - Token otherlv_5=null; - Token otherlv_6=null; - Token otherlv_8=null; - Token otherlv_10=null; - EObject lv_symbol_1_0 = null; + newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); + + pushFollow(FOLLOW_8); + lv_parameters_5_0=ruleParameter(); - EObject lv_parameters_3_0 = null; + state._fsp--; - EObject lv_bodies_7_0 = null; - EObject lv_bodies_9_0 = null; + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateRule()); + } + add( + current, + "parameters", + lv_parameters_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); + afterParserOrEnumRuleCall(); + + } - enterRule(); + } - try { - // InternalSolverLanguage.g:1233:2: ( (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) ) - // InternalSolverLanguage.g:1234:2: (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) - { - // InternalSolverLanguage.g:1234:2: (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) - // InternalSolverLanguage.g:1235:3: otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' - { - otherlv_0=(Token)match(input,27,FOLLOW_10); - newLeafNode(otherlv_0, grammarAccess.getPredicateSymbolAccess().getPredicateKeyword_0()); - - // InternalSolverLanguage.g:1239:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:1240:4: (lv_symbol_1_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:1240:4: (lv_symbol_1_0= ruleModelSymbol ) - // InternalSolverLanguage.g:1241:5: lv_symbol_1_0= ruleModelSymbol - { + } + break; - newCompositeNode(grammarAccess.getPredicateSymbolAccess().getSymbolModelSymbolParserRuleCall_1_0()); - - pushFollow(FOLLOW_6); - lv_symbol_1_0=ruleModelSymbol(); + default : + break loop18; + } + } while (true); - state._fsp--; - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); - } - set( - current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - - - } - - - } - - otherlv_2=(Token)match(input,17,FOLLOW_12); - - newLeafNode(otherlv_2, grammarAccess.getPredicateSymbolAccess().getLeftParenthesisKeyword_2()); - - // InternalSolverLanguage.g:1262:3: ( (lv_parameters_3_0= ruleParameter ) )* - loop16: - do { - int alt16=2; - int LA16_0 = input.LA(1); - - if ( (LA16_0==RULE_ID) ) { - alt16=1; - } - - - switch (alt16) { - case 1 : - // InternalSolverLanguage.g:1263:4: (lv_parameters_3_0= ruleParameter ) - { - // InternalSolverLanguage.g:1263:4: (lv_parameters_3_0= ruleParameter ) - // InternalSolverLanguage.g:1264:5: lv_parameters_3_0= ruleParameter - { - - newCompositeNode(grammarAccess.getPredicateSymbolAccess().getParametersParameterParserRuleCall_3_0()); - - pushFollow(FOLLOW_12); - lv_parameters_3_0=ruleParameter(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); - } - add( - current, - "parameters", - lv_parameters_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); - afterParserOrEnumRuleCall(); - - - } - - - } - break; - - default : - break loop16; - } - } while (true); - - otherlv_4=(Token)match(input,18,FOLLOW_8); - - newLeafNode(otherlv_4, grammarAccess.getPredicateSymbolAccess().getRightParenthesisKeyword_4()); - - otherlv_5=(Token)match(input,19,FOLLOW_13); - - newLeafNode(otherlv_5, grammarAccess.getPredicateSymbolAccess().getColonKeyword_5()); - - // InternalSolverLanguage.g:1289:3: (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) - int alt18=2; - int LA18_0 = input.LA(1); - - if ( (LA18_0==14) ) { - alt18=1; - } - else if ( (LA18_0==EOF||LA18_0==RULE_ID||(LA18_0>=11 && LA18_0<=13)||(LA18_0>=28 && LA18_0<=29)) ) { - alt18=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 18, 0, input); - - throw nvae; - } - switch (alt18) { - case 1 : - // InternalSolverLanguage.g:1290:4: otherlv_6= 'false' - { - otherlv_6=(Token)match(input,14,FOLLOW_5); - - newLeafNode(otherlv_6, grammarAccess.getPredicateSymbolAccess().getFalseKeyword_6_0()); - - - } - break; - case 2 : - // InternalSolverLanguage.g:1295:4: ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) - { - // InternalSolverLanguage.g:1295:4: ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) - // InternalSolverLanguage.g:1296:5: ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* - { - // InternalSolverLanguage.g:1296:5: ( (lv_bodies_7_0= rulePatternBody ) ) - // InternalSolverLanguage.g:1297:6: (lv_bodies_7_0= rulePatternBody ) - { - // InternalSolverLanguage.g:1297:6: (lv_bodies_7_0= rulePatternBody ) - // InternalSolverLanguage.g:1298:7: lv_bodies_7_0= rulePatternBody - { - - newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_0_0()); - - pushFollow(FOLLOW_14); - lv_bodies_7_0=rulePatternBody(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); - } - add( - current, - "bodies", - lv_bodies_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); - afterParserOrEnumRuleCall(); - + } + break; } + otherlv_6=(Token)match(input,19,FOLLOW_16); - } - - // InternalSolverLanguage.g:1315:5: (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* - loop17: - do { - int alt17=2; - int LA17_0 = input.LA(1); - - if ( (LA17_0==28) ) { - alt17=1; - } - - - switch (alt17) { - case 1 : - // InternalSolverLanguage.g:1316:6: otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) - { - otherlv_8=(Token)match(input,28,FOLLOW_15); - - newLeafNode(otherlv_8, grammarAccess.getPredicateSymbolAccess().getVerticalLineKeyword_6_1_1_0()); - - // InternalSolverLanguage.g:1320:6: ( (lv_bodies_9_0= rulePatternBody ) ) - // InternalSolverLanguage.g:1321:7: (lv_bodies_9_0= rulePatternBody ) - { - // InternalSolverLanguage.g:1321:7: (lv_bodies_9_0= rulePatternBody ) - // InternalSolverLanguage.g:1322:8: lv_bodies_9_0= rulePatternBody - { - - newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_1_1_0()); - - pushFollow(FOLLOW_14); - lv_bodies_9_0=rulePatternBody(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); - } - add( - current, - "bodies", - lv_bodies_9_0, - "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop17; - } - } while (true); - - - } - - - } - break; - - } - - otherlv_10=(Token)match(input,12,FOLLOW_2); - - newLeafNode(otherlv_10, grammarAccess.getPredicateSymbolAccess().getFullStopKeyword_7()); - - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "rulePredicateSymbol" - - - // $ANTLR start "entryRuleErrorPredicate" - // InternalSolverLanguage.g:1350:1: entryRuleErrorPredicate returns [EObject current=null] : iv_ruleErrorPredicate= ruleErrorPredicate EOF ; - public final EObject entryRuleErrorPredicate() throws RecognitionException { - EObject current = null; - - EObject iv_ruleErrorPredicate = null; - - - try { - // InternalSolverLanguage.g:1350:55: (iv_ruleErrorPredicate= ruleErrorPredicate EOF ) - // InternalSolverLanguage.g:1351:2: iv_ruleErrorPredicate= ruleErrorPredicate EOF - { - newCompositeNode(grammarAccess.getErrorPredicateRule()); - pushFollow(FOLLOW_1); - iv_ruleErrorPredicate=ruleErrorPredicate(); - - state._fsp--; - - current =iv_ruleErrorPredicate; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleErrorPredicate" - - - // $ANTLR start "ruleErrorPredicate" - // InternalSolverLanguage.g:1357:1: ruleErrorPredicate returns [EObject current=null] : ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' ) ; - public final EObject ruleErrorPredicate() throws RecognitionException { - EObject current = null; - - Token otherlv_1=null; - Token lv_name_2_0=null; - Token otherlv_3=null; - Token otherlv_5=null; - Token otherlv_6=null; - Token otherlv_7=null; - Token otherlv_9=null; - Token otherlv_11=null; - EObject lv_parameters_4_0 = null; - - EObject lv_bodies_8_0 = null; - - EObject lv_bodies_10_0 = null; - - - - enterRule(); - - try { - // InternalSolverLanguage.g:1363:2: ( ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' ) ) - // InternalSolverLanguage.g:1364:2: ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' ) - { - // InternalSolverLanguage.g:1364:2: ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' ) - // InternalSolverLanguage.g:1365:3: () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' - { - // InternalSolverLanguage.g:1365:3: () - // InternalSolverLanguage.g:1366:4: - { - - current = forceCreateModelElement( - grammarAccess.getErrorPredicateAccess().getErrorPredicateAction_0(), - current); - - - } - - otherlv_1=(Token)match(input,16,FOLLOW_16); - - newLeafNode(otherlv_1, grammarAccess.getErrorPredicateAccess().getErrorKeyword_1()); - - // InternalSolverLanguage.g:1376:3: ( (lv_name_2_0= RULE_ID ) )? - int alt19=2; - int LA19_0 = input.LA(1); - - if ( (LA19_0==RULE_ID) ) { - alt19=1; - } - switch (alt19) { - case 1 : - // InternalSolverLanguage.g:1377:4: (lv_name_2_0= RULE_ID ) - { - // InternalSolverLanguage.g:1377:4: (lv_name_2_0= RULE_ID ) - // InternalSolverLanguage.g:1378:5: lv_name_2_0= RULE_ID - { - lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_6); - - newLeafNode(lv_name_2_0, grammarAccess.getErrorPredicateAccess().getNameIDTerminalRuleCall_2_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getErrorPredicateRule()); - } - setWithLastConsumed( - current, - "name", - lv_name_2_0, - "org.eclipse.xtext.common.Terminals.ID"); - - - } - + newLeafNode(otherlv_6, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); + } break; } - // InternalSolverLanguage.g:1394:3: (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) - // InternalSolverLanguage.g:1395:4: otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' - { - otherlv_3=(Token)match(input,17,FOLLOW_12); - - newLeafNode(otherlv_3, grammarAccess.getErrorPredicateAccess().getLeftParenthesisKeyword_3_0()); - - // InternalSolverLanguage.g:1399:4: ( (lv_parameters_4_0= ruleParameter ) )* - loop20: - do { - int alt20=2; - int LA20_0 = input.LA(1); - - if ( (LA20_0==RULE_ID) ) { - alt20=1; - } - - - switch (alt20) { - case 1 : - // InternalSolverLanguage.g:1400:5: (lv_parameters_4_0= ruleParameter ) - { - // InternalSolverLanguage.g:1400:5: (lv_parameters_4_0= ruleParameter ) - // InternalSolverLanguage.g:1401:6: lv_parameters_4_0= ruleParameter - { - - newCompositeNode(grammarAccess.getErrorPredicateAccess().getParametersParameterParserRuleCall_3_1_0()); - - pushFollow(FOLLOW_12); - lv_parameters_4_0=ruleParameter(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); - } - add( - current, - "parameters", - lv_parameters_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); - afterParserOrEnumRuleCall(); - - - } - - - } - break; - - default : - break loop20; - } - } while (true); - - otherlv_5=(Token)match(input,18,FOLLOW_8); - - newLeafNode(otherlv_5, grammarAccess.getErrorPredicateAccess().getRightParenthesisKeyword_3_2()); - - - } - - otherlv_6=(Token)match(input,19,FOLLOW_13); + otherlv_7=(Token)match(input,28,FOLLOW_17); - newLeafNode(otherlv_6, grammarAccess.getErrorPredicateAccess().getColonKeyword_4()); + newLeafNode(otherlv_7, grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); - // InternalSolverLanguage.g:1427:3: (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) + // InternalSolverLanguage.g:1321:3: (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==14) ) { alt22=1; } - else if ( (LA22_0==EOF||LA22_0==RULE_ID||(LA22_0>=11 && LA22_0<=13)||(LA22_0>=28 && LA22_0<=29)) ) { + else if ( (LA22_0==EOF||LA22_0==RULE_ID||(LA22_0>=11 && LA22_0<=13)||(LA22_0>=29 && LA22_0<=31)) ) { alt22=2; } else { @@ -4205,43 +3909,43 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } switch (alt22) { case 1 : - // InternalSolverLanguage.g:1428:4: otherlv_7= 'false' + // InternalSolverLanguage.g:1322:4: otherlv_8= 'false' { - otherlv_7=(Token)match(input,14,FOLLOW_5); + otherlv_8=(Token)match(input,14,FOLLOW_5); - newLeafNode(otherlv_7, grammarAccess.getErrorPredicateAccess().getFalseKeyword_5_0()); + newLeafNode(otherlv_8, grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); } break; case 2 : - // InternalSolverLanguage.g:1433:4: ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) + // InternalSolverLanguage.g:1327:4: ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) { - // InternalSolverLanguage.g:1433:4: ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) - // InternalSolverLanguage.g:1434:5: ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* + // InternalSolverLanguage.g:1327:4: ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) + // InternalSolverLanguage.g:1328:5: ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* { - // InternalSolverLanguage.g:1434:5: ( (lv_bodies_8_0= rulePatternBody ) ) - // InternalSolverLanguage.g:1435:6: (lv_bodies_8_0= rulePatternBody ) + // InternalSolverLanguage.g:1328:5: ( (lv_bodies_9_0= rulePatternBody ) ) + // InternalSolverLanguage.g:1329:6: (lv_bodies_9_0= rulePatternBody ) { - // InternalSolverLanguage.g:1435:6: (lv_bodies_8_0= rulePatternBody ) - // InternalSolverLanguage.g:1436:7: lv_bodies_8_0= rulePatternBody + // InternalSolverLanguage.g:1329:6: (lv_bodies_9_0= rulePatternBody ) + // InternalSolverLanguage.g:1330:7: lv_bodies_9_0= rulePatternBody { - newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_0_0()); + newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); - pushFollow(FOLLOW_14); - lv_bodies_8_0=rulePatternBody(); + pushFollow(FOLLOW_18); + lv_bodies_9_0=rulePatternBody(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); + current = createModelElementForParent(grammarAccess.getPredicateRule()); } add( current, "bodies", - lv_bodies_8_0, + lv_bodies_9_0, "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); afterParserOrEnumRuleCall(); @@ -4251,47 +3955,47 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:1453:5: (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* + // InternalSolverLanguage.g:1347:5: (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* loop21: do { int alt21=2; int LA21_0 = input.LA(1); - if ( (LA21_0==28) ) { + if ( (LA21_0==29) ) { alt21=1; } switch (alt21) { case 1 : - // InternalSolverLanguage.g:1454:6: otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) + // InternalSolverLanguage.g:1348:6: otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) { - otherlv_9=(Token)match(input,28,FOLLOW_15); + otherlv_10=(Token)match(input,29,FOLLOW_19); - newLeafNode(otherlv_9, grammarAccess.getErrorPredicateAccess().getVerticalLineKeyword_5_1_1_0()); + newLeafNode(otherlv_10, grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); - // InternalSolverLanguage.g:1458:6: ( (lv_bodies_10_0= rulePatternBody ) ) - // InternalSolverLanguage.g:1459:7: (lv_bodies_10_0= rulePatternBody ) + // InternalSolverLanguage.g:1352:6: ( (lv_bodies_11_0= rulePatternBody ) ) + // InternalSolverLanguage.g:1353:7: (lv_bodies_11_0= rulePatternBody ) { - // InternalSolverLanguage.g:1459:7: (lv_bodies_10_0= rulePatternBody ) - // InternalSolverLanguage.g:1460:8: lv_bodies_10_0= rulePatternBody + // InternalSolverLanguage.g:1353:7: (lv_bodies_11_0= rulePatternBody ) + // InternalSolverLanguage.g:1354:8: lv_bodies_11_0= rulePatternBody { - newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_1_1_0()); + newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); - pushFollow(FOLLOW_14); - lv_bodies_10_0=rulePatternBody(); + pushFollow(FOLLOW_18); + lv_bodies_11_0=rulePatternBody(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); + current = createModelElementForParent(grammarAccess.getPredicateRule()); } add( current, "bodies", - lv_bodies_10_0, + lv_bodies_11_0, "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); afterParserOrEnumRuleCall(); @@ -4319,9 +4023,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_11=(Token)match(input,12,FOLLOW_2); + otherlv_12=(Token)match(input,12,FOLLOW_2); - newLeafNode(otherlv_11, grammarAccess.getErrorPredicateAccess().getFullStopKeyword_6()); + newLeafNode(otherlv_12, grammarAccess.getPredicateAccess().getFullStopKeyword_5()); } @@ -4342,11 +4046,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleErrorPredicate" + // $ANTLR end "rulePredicate" // $ANTLR start "entryRuleParameter" - // InternalSolverLanguage.g:1488:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; + // InternalSolverLanguage.g:1382:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; public final EObject entryRuleParameter() throws RecognitionException { EObject current = null; @@ -4354,8 +4058,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1488:50: (iv_ruleParameter= ruleParameter EOF ) - // InternalSolverLanguage.g:1489:2: iv_ruleParameter= ruleParameter EOF + // InternalSolverLanguage.g:1382:50: (iv_ruleParameter= ruleParameter EOF ) + // InternalSolverLanguage.g:1383:2: iv_ruleParameter= ruleParameter EOF { newCompositeNode(grammarAccess.getParameterRule()); pushFollow(FOLLOW_1); @@ -4382,7 +4086,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleParameter" - // InternalSolverLanguage.g:1495:1: ruleParameter returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ; + // InternalSolverLanguage.g:1389:1: ruleParameter returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ; public final EObject ruleParameter() throws RecognitionException { EObject current = null; @@ -4396,22 +4100,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1501:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ) - // InternalSolverLanguage.g:1502:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) + // InternalSolverLanguage.g:1395:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ) + // InternalSolverLanguage.g:1396:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) { - // InternalSolverLanguage.g:1502:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) - // InternalSolverLanguage.g:1503:3: ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? + // InternalSolverLanguage.g:1396:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) + // InternalSolverLanguage.g:1397:3: ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? { - // InternalSolverLanguage.g:1503:3: ( (lv_variable_0_0= ruleVariable ) ) - // InternalSolverLanguage.g:1504:4: (lv_variable_0_0= ruleVariable ) + // InternalSolverLanguage.g:1397:3: ( (lv_variable_0_0= ruleVariable ) ) + // InternalSolverLanguage.g:1398:4: (lv_variable_0_0= ruleVariable ) { - // InternalSolverLanguage.g:1504:4: (lv_variable_0_0= ruleVariable ) - // InternalSolverLanguage.g:1505:5: lv_variable_0_0= ruleVariable + // InternalSolverLanguage.g:1398:4: (lv_variable_0_0= ruleVariable ) + // InternalSolverLanguage.g:1399:5: lv_variable_0_0= ruleVariable { newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_20); lv_variable_0_0=ruleVariable(); state._fsp--; @@ -4433,26 +4137,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:1522:3: (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? + // InternalSolverLanguage.g:1416:3: (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? int alt23=2; int LA23_0 = input.LA(1); - if ( (LA23_0==19) ) { + if ( (LA23_0==20) ) { alt23=1; } switch (alt23) { case 1 : - // InternalSolverLanguage.g:1523:4: otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) + // InternalSolverLanguage.g:1417:4: otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) { - otherlv_1=(Token)match(input,19,FOLLOW_18); + otherlv_1=(Token)match(input,20,FOLLOW_21); newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0()); - // InternalSolverLanguage.g:1527:4: ( (lv_type_2_0= ruleSymbol ) ) - // InternalSolverLanguage.g:1528:5: (lv_type_2_0= ruleSymbol ) + // InternalSolverLanguage.g:1421:4: ( (lv_type_2_0= ruleSymbol ) ) + // InternalSolverLanguage.g:1422:5: (lv_type_2_0= ruleSymbol ) { - // InternalSolverLanguage.g:1528:5: (lv_type_2_0= ruleSymbol ) - // InternalSolverLanguage.g:1529:6: lv_type_2_0= ruleSymbol + // InternalSolverLanguage.g:1422:5: (lv_type_2_0= ruleSymbol ) + // InternalSolverLanguage.g:1423:6: lv_type_2_0= ruleSymbol { newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); @@ -4508,7 +4212,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRulePatternBody" - // InternalSolverLanguage.g:1551:1: entryRulePatternBody returns [EObject current=null] : iv_rulePatternBody= rulePatternBody EOF ; + // InternalSolverLanguage.g:1445:1: entryRulePatternBody returns [EObject current=null] : iv_rulePatternBody= rulePatternBody EOF ; public final EObject entryRulePatternBody() throws RecognitionException { EObject current = null; @@ -4516,8 +4220,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1551:52: (iv_rulePatternBody= rulePatternBody EOF ) - // InternalSolverLanguage.g:1552:2: iv_rulePatternBody= rulePatternBody EOF + // InternalSolverLanguage.g:1445:52: (iv_rulePatternBody= rulePatternBody EOF ) + // InternalSolverLanguage.g:1446:2: iv_rulePatternBody= rulePatternBody EOF { newCompositeNode(grammarAccess.getPatternBodyRule()); pushFollow(FOLLOW_1); @@ -4544,7 +4248,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "rulePatternBody" - // InternalSolverLanguage.g:1558:1: rulePatternBody returns [EObject current=null] : ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ; + // InternalSolverLanguage.g:1452:1: rulePatternBody returns [EObject current=null] : ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ; public final EObject rulePatternBody() throws RecognitionException { EObject current = null; @@ -4556,14 +4260,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1564:2: ( ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ) - // InternalSolverLanguage.g:1565:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) + // InternalSolverLanguage.g:1458:2: ( ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ) + // InternalSolverLanguage.g:1459:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) { - // InternalSolverLanguage.g:1565:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) - // InternalSolverLanguage.g:1566:3: () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) + // InternalSolverLanguage.g:1459:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) + // InternalSolverLanguage.g:1460:3: () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) { - // InternalSolverLanguage.g:1566:3: () - // InternalSolverLanguage.g:1567:4: + // InternalSolverLanguage.g:1460:3: () + // InternalSolverLanguage.g:1461:4: { current = forceCreateModelElement( @@ -4573,14 +4277,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:1573:3: (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) + // InternalSolverLanguage.g:1467:3: (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==13) ) { alt25=1; } - else if ( (LA25_0==EOF||LA25_0==RULE_ID||(LA25_0>=11 && LA25_0<=12)||(LA25_0>=28 && LA25_0<=29)) ) { + else if ( (LA25_0==EOF||LA25_0==RULE_ID||(LA25_0>=11 && LA25_0<=12)||(LA25_0>=29 && LA25_0<=31)) ) { alt25=2; } else { @@ -4591,7 +4295,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } switch (alt25) { case 1 : - // InternalSolverLanguage.g:1574:4: otherlv_1= 'true' + // InternalSolverLanguage.g:1468:4: otherlv_1= 'true' { otherlv_1=(Token)match(input,13,FOLLOW_2); @@ -4601,30 +4305,30 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:1579:4: ( (lv_constraints_2_0= ruleConstraint ) )* + // InternalSolverLanguage.g:1473:4: ( (lv_constraints_2_0= ruleConstraint ) )* { - // InternalSolverLanguage.g:1579:4: ( (lv_constraints_2_0= ruleConstraint ) )* + // InternalSolverLanguage.g:1473:4: ( (lv_constraints_2_0= ruleConstraint ) )* loop24: do { int alt24=2; int LA24_0 = input.LA(1); - if ( (LA24_0==RULE_ID||LA24_0==11||LA24_0==29) ) { + if ( (LA24_0==RULE_ID||LA24_0==11||(LA24_0>=30 && LA24_0<=31)) ) { alt24=1; } switch (alt24) { case 1 : - // InternalSolverLanguage.g:1580:5: (lv_constraints_2_0= ruleConstraint ) + // InternalSolverLanguage.g:1474:5: (lv_constraints_2_0= ruleConstraint ) { - // InternalSolverLanguage.g:1580:5: (lv_constraints_2_0= ruleConstraint ) - // InternalSolverLanguage.g:1581:6: lv_constraints_2_0= ruleConstraint + // InternalSolverLanguage.g:1474:5: (lv_constraints_2_0= ruleConstraint ) + // InternalSolverLanguage.g:1475:6: lv_constraints_2_0= ruleConstraint { newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); - pushFollow(FOLLOW_19); + pushFollow(FOLLOW_22); lv_constraints_2_0=ruleConstraint(); state._fsp--; @@ -4681,7 +4385,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRulePolarity" - // InternalSolverLanguage.g:1603:1: entryRulePolarity returns [EObject current=null] : iv_rulePolarity= rulePolarity EOF ; + // InternalSolverLanguage.g:1497:1: entryRulePolarity returns [EObject current=null] : iv_rulePolarity= rulePolarity EOF ; public final EObject entryRulePolarity() throws RecognitionException { EObject current = null; @@ -4689,8 +4393,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1603:49: (iv_rulePolarity= rulePolarity EOF ) - // InternalSolverLanguage.g:1604:2: iv_rulePolarity= rulePolarity EOF + // InternalSolverLanguage.g:1497:49: (iv_rulePolarity= rulePolarity EOF ) + // InternalSolverLanguage.g:1498:2: iv_rulePolarity= rulePolarity EOF { newCompositeNode(grammarAccess.getPolarityRule()); pushFollow(FOLLOW_1); @@ -4717,7 +4421,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "rulePolarity" - // InternalSolverLanguage.g:1610:1: rulePolarity returns [EObject current=null] : ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ; + // InternalSolverLanguage.g:1504:1: rulePolarity returns [EObject current=null] : ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ; public final EObject rulePolarity() throws RecognitionException { EObject current = null; @@ -4728,14 +4432,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1616:2: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ) - // InternalSolverLanguage.g:1617:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) + // InternalSolverLanguage.g:1510:2: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ) + // InternalSolverLanguage.g:1511:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) { - // InternalSolverLanguage.g:1617:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) + // InternalSolverLanguage.g:1511:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) int alt26=2; int LA26_0 = input.LA(1); - if ( (LA26_0==29) ) { + if ( (LA26_0==30) ) { alt26=1; } else if ( (LA26_0==11) ) { @@ -4749,13 +4453,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } switch (alt26) { case 1 : - // InternalSolverLanguage.g:1618:3: ( () otherlv_1= '+' ) + // InternalSolverLanguage.g:1512:3: ( () otherlv_1= '+' ) { - // InternalSolverLanguage.g:1618:3: ( () otherlv_1= '+' ) - // InternalSolverLanguage.g:1619:4: () otherlv_1= '+' + // InternalSolverLanguage.g:1512:3: ( () otherlv_1= '+' ) + // InternalSolverLanguage.g:1513:4: () otherlv_1= '+' { - // InternalSolverLanguage.g:1619:4: () - // InternalSolverLanguage.g:1620:5: + // InternalSolverLanguage.g:1513:4: () + // InternalSolverLanguage.g:1514:5: { current = forceCreateModelElement( @@ -4765,7 +4469,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,29,FOLLOW_2); + otherlv_1=(Token)match(input,30,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); @@ -4776,13 +4480,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:1632:3: ( () otherlv_3= '-' ) + // InternalSolverLanguage.g:1526:3: ( () otherlv_3= '-' ) { - // InternalSolverLanguage.g:1632:3: ( () otherlv_3= '-' ) - // InternalSolverLanguage.g:1633:4: () otherlv_3= '-' + // InternalSolverLanguage.g:1526:3: ( () otherlv_3= '-' ) + // InternalSolverLanguage.g:1527:4: () otherlv_3= '-' { - // InternalSolverLanguage.g:1633:4: () - // InternalSolverLanguage.g:1634:5: + // InternalSolverLanguage.g:1527:4: () + // InternalSolverLanguage.g:1528:5: { current = forceCreateModelElement( @@ -4825,7 +4529,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleConstraint" - // InternalSolverLanguage.g:1649:1: entryRuleConstraint returns [EObject current=null] : iv_ruleConstraint= ruleConstraint EOF ; + // InternalSolverLanguage.g:1543:1: entryRuleConstraint returns [EObject current=null] : iv_ruleConstraint= ruleConstraint EOF ; public final EObject entryRuleConstraint() throws RecognitionException { EObject current = null; @@ -4833,8 +4537,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1649:51: (iv_ruleConstraint= ruleConstraint EOF ) - // InternalSolverLanguage.g:1650:2: iv_ruleConstraint= ruleConstraint EOF + // InternalSolverLanguage.g:1543:51: (iv_ruleConstraint= ruleConstraint EOF ) + // InternalSolverLanguage.g:1544:2: iv_ruleConstraint= ruleConstraint EOF { newCompositeNode(grammarAccess.getConstraintRule()); pushFollow(FOLLOW_1); @@ -4861,190 +4565,283 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleConstraint" - // InternalSolverLanguage.g:1656:1: ruleConstraint returns [EObject current=null] : ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) ; + // InternalSolverLanguage.g:1550:1: ruleConstraint returns [EObject current=null] : ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) ; public final EObject ruleConstraint() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; - Token otherlv_9=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; EObject lv_polarity_0_0 = null; EObject lv_symbol_1_0 = null; EObject lv_params_3_0 = null; - EObject lv_closureType_5_0 = null; + EObject lv_params_5_0 = null; + + EObject lv_closureType_7_0 = null; - EObject lv_params_7_0 = null; + EObject lv_params_9_0 = null; - EObject lv_params_8_0 = null; + EObject lv_params_11_0 = null; enterRule(); try { - // InternalSolverLanguage.g:1662:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) ) - // InternalSolverLanguage.g:1663:2: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) + // InternalSolverLanguage.g:1556:2: ( ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) ) + // InternalSolverLanguage.g:1557:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) { - // InternalSolverLanguage.g:1663:2: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) - // InternalSolverLanguage.g:1664:3: ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) - { - // InternalSolverLanguage.g:1664:3: ( (lv_polarity_0_0= rulePolarity ) )? - int alt27=2; - int LA27_0 = input.LA(1); + // InternalSolverLanguage.g:1557:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) + int alt33=2; + switch ( input.LA(1) ) { + case 30: + { + int LA33_1 = input.LA(2); - if ( (LA27_0==11||LA27_0==29) ) { - alt27=1; + if ( (LA33_1==17) ) { + alt33=2; + } + else if ( (LA33_1==RULE_ID) ) { + alt33=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 33, 1, input); + + throw nvae; + } + } + break; + case RULE_ID: + case 11: + { + alt33=1; + } + break; + case 31: + { + alt33=2; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 33, 0, input); + + throw nvae; } - switch (alt27) { + + switch (alt33) { case 1 : - // InternalSolverLanguage.g:1665:4: (lv_polarity_0_0= rulePolarity ) + // InternalSolverLanguage.g:1558:3: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) { - // InternalSolverLanguage.g:1665:4: (lv_polarity_0_0= rulePolarity ) - // InternalSolverLanguage.g:1666:5: lv_polarity_0_0= rulePolarity + // InternalSolverLanguage.g:1558:3: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) + // InternalSolverLanguage.g:1559:4: ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? { + // InternalSolverLanguage.g:1559:4: ( (lv_polarity_0_0= rulePolarity ) )? + int alt27=2; + int LA27_0 = input.LA(1); - newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0()); - - pushFollow(FOLLOW_10); - lv_polarity_0_0=rulePolarity(); + if ( (LA27_0==11||LA27_0==30) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // InternalSolverLanguage.g:1560:5: (lv_polarity_0_0= rulePolarity ) + { + // InternalSolverLanguage.g:1560:5: (lv_polarity_0_0= rulePolarity ) + // InternalSolverLanguage.g:1561:6: lv_polarity_0_0= rulePolarity + { - state._fsp--; + newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); + + pushFollow(FOLLOW_12); + lv_polarity_0_0=rulePolarity(); + state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - current, - "polarity", - lv_polarity_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); - afterParserOrEnumRuleCall(); - - } + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + set( + current, + "polarity", + lv_polarity_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); + afterParserOrEnumRuleCall(); + + + } + } + break; + } - break; - } + // InternalSolverLanguage.g:1578:4: ( (lv_symbol_1_0= ruleModelSymbol ) ) + // InternalSolverLanguage.g:1579:5: (lv_symbol_1_0= ruleModelSymbol ) + { + // InternalSolverLanguage.g:1579:5: (lv_symbol_1_0= ruleModelSymbol ) + // InternalSolverLanguage.g:1580:6: lv_symbol_1_0= ruleModelSymbol + { - // InternalSolverLanguage.g:1683:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:1684:4: (lv_symbol_1_0= ruleModelSymbol ) - { - // InternalSolverLanguage.g:1684:4: (lv_symbol_1_0= ruleModelSymbol ) - // InternalSolverLanguage.g:1685:5: lv_symbol_1_0= ruleModelSymbol - { + newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); + + pushFollow(FOLLOW_23); + lv_symbol_1_0=ruleModelSymbol(); - newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_1_0()); - - pushFollow(FOLLOW_20); - lv_symbol_1_0=ruleModelSymbol(); + state._fsp--; - state._fsp--; + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + set( + current, + "symbol", + lv_symbol_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); + afterParserOrEnumRuleCall(); + + + } - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - current, - "symbol", - lv_symbol_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); - afterParserOrEnumRuleCall(); - - } + } + + // InternalSolverLanguage.g:1597:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==17) ) { + alt30=1; + } + switch (alt30) { + case 1 : + // InternalSolverLanguage.g:1598:5: otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' + { + otherlv_2=(Token)match(input,17,FOLLOW_24); + + newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); + + // InternalSolverLanguage.g:1602:5: ( (lv_params_3_0= ruleLiteral ) )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( ((LA28_0>=RULE_INT && LA28_0<=RULE_STRING)||LA28_0==11||(LA28_0>=13 && LA28_0<=14)||LA28_0==27) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // InternalSolverLanguage.g:1603:6: (lv_params_3_0= ruleLiteral ) + { + // InternalSolverLanguage.g:1603:6: (lv_params_3_0= ruleLiteral ) + // InternalSolverLanguage.g:1604:7: lv_params_3_0= ruleLiteral + { + + newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); + + pushFollow(FOLLOW_8); + lv_params_3_0=ruleLiteral(); + state._fsp--; - } - // InternalSolverLanguage.g:1702:3: ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) - int alt29=2; - int LA29_0 = input.LA(1); + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + add( + current, + "params", + lv_params_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + afterParserOrEnumRuleCall(); + - if ( (LA29_0==17) ) { - alt29=1; - } - else if ( ((LA29_0>=29 && LA29_0<=30)) ) { - alt29=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 29, 0, input); + } - throw nvae; - } - switch (alt29) { - case 1 : - // InternalSolverLanguage.g:1703:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) - { - // InternalSolverLanguage.g:1703:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) - // InternalSolverLanguage.g:1704:5: otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' - { - otherlv_2=(Token)match(input,17,FOLLOW_21); - newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_0_0()); - - // InternalSolverLanguage.g:1708:5: ( (lv_params_3_0= ruleLiteral ) )* - loop28: - do { - int alt28=2; - int LA28_0 = input.LA(1); + } + break; - if ( ((LA28_0>=RULE_INT && LA28_0<=RULE_STRING)||LA28_0==11||(LA28_0>=13 && LA28_0<=14)) ) { - alt28=1; - } + } + // InternalSolverLanguage.g:1621:5: (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* + loop29: + do { + int alt29=2; + int LA29_0 = input.LA(1); - switch (alt28) { - case 1 : - // InternalSolverLanguage.g:1709:6: (lv_params_3_0= ruleLiteral ) - { - // InternalSolverLanguage.g:1709:6: (lv_params_3_0= ruleLiteral ) - // InternalSolverLanguage.g:1710:7: lv_params_3_0= ruleLiteral - { + if ( (LA29_0==18) ) { + alt29=1; + } - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_0_1_0()); - - pushFollow(FOLLOW_21); - lv_params_3_0=ruleLiteral(); - state._fsp--; + switch (alt29) { + case 1 : + // InternalSolverLanguage.g:1622:6: otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) + { + otherlv_4=(Token)match(input,18,FOLLOW_25); + newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); + + // InternalSolverLanguage.g:1626:6: ( (lv_params_5_0= ruleLiteral ) ) + // InternalSolverLanguage.g:1627:7: (lv_params_5_0= ruleLiteral ) + { + // InternalSolverLanguage.g:1627:7: (lv_params_5_0= ruleLiteral ) + // InternalSolverLanguage.g:1628:8: lv_params_5_0= ruleLiteral + { - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - current, - "params", - lv_params_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - + newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); + + pushFollow(FOLLOW_8); + lv_params_5_0=ruleLiteral(); - } + state._fsp--; - } - break; + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + add( + current, + "params", + lv_params_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + afterParserOrEnumRuleCall(); + - default : - break loop28; - } - } while (true); + } - otherlv_4=(Token)match(input,18,FOLLOW_2); - newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_0_2()); - + } + + + } + break; + + default : + break loop29; + } + } while (true); + + otherlv_6=(Token)match(input,19,FOLLOW_2); + + newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); + + + } + break; + + } + } @@ -5052,121 +4849,157 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:1733:4: ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) + // InternalSolverLanguage.g:1653:3: ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) { - // InternalSolverLanguage.g:1733:4: ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) - // InternalSolverLanguage.g:1734:5: ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' + // InternalSolverLanguage.g:1653:3: ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) + // InternalSolverLanguage.g:1654:4: ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' { - // InternalSolverLanguage.g:1734:5: ( (lv_closureType_5_0= ruleClosureType ) ) - // InternalSolverLanguage.g:1735:6: (lv_closureType_5_0= ruleClosureType ) + // InternalSolverLanguage.g:1654:4: ( (lv_closureType_7_0= ruleClosureType ) ) + // InternalSolverLanguage.g:1655:5: (lv_closureType_7_0= ruleClosureType ) { - // InternalSolverLanguage.g:1735:6: (lv_closureType_5_0= ruleClosureType ) - // InternalSolverLanguage.g:1736:7: lv_closureType_5_0= ruleClosureType + // InternalSolverLanguage.g:1655:5: (lv_closureType_7_0= ruleClosureType ) + // InternalSolverLanguage.g:1656:6: lv_closureType_7_0= ruleClosureType { - newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_2_1_0_0()); - - pushFollow(FOLLOW_6); - lv_closureType_5_0=ruleClosureType(); + newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); + + pushFollow(FOLLOW_26); + lv_closureType_7_0=ruleClosureType(); state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - set( - current, - "closureType", - lv_closureType_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + set( + current, + "closureType", + lv_closureType_7_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); + afterParserOrEnumRuleCall(); + } } - otherlv_6=(Token)match(input,17,FOLLOW_22); + otherlv_8=(Token)match(input,17,FOLLOW_24); - newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_1_1()); - - // InternalSolverLanguage.g:1757:5: ( (lv_params_7_0= ruleLiteral ) ) - // InternalSolverLanguage.g:1758:6: (lv_params_7_0= ruleLiteral ) - { - // InternalSolverLanguage.g:1758:6: (lv_params_7_0= ruleLiteral ) - // InternalSolverLanguage.g:1759:7: lv_params_7_0= ruleLiteral - { + newLeafNode(otherlv_8, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); + + // InternalSolverLanguage.g:1677:4: ( (lv_params_9_0= ruleLiteral ) )? + int alt31=2; + int LA31_0 = input.LA(1); - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_2_0()); - - pushFollow(FOLLOW_22); - lv_params_7_0=ruleLiteral(); + if ( ((LA31_0>=RULE_INT && LA31_0<=RULE_STRING)||LA31_0==11||(LA31_0>=13 && LA31_0<=14)||LA31_0==27) ) { + alt31=1; + } + switch (alt31) { + case 1 : + // InternalSolverLanguage.g:1678:5: (lv_params_9_0= ruleLiteral ) + { + // InternalSolverLanguage.g:1678:5: (lv_params_9_0= ruleLiteral ) + // InternalSolverLanguage.g:1679:6: lv_params_9_0= ruleLiteral + { - state._fsp--; + newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); + + pushFollow(FOLLOW_8); + lv_params_9_0=ruleLiteral(); + state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - current, - "params", - lv_params_7_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - - } + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + add( + current, + "params", + lv_params_9_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + afterParserOrEnumRuleCall(); + + + } + } + break; + } - // InternalSolverLanguage.g:1776:5: ( (lv_params_8_0= ruleLiteral ) ) - // InternalSolverLanguage.g:1777:6: (lv_params_8_0= ruleLiteral ) - { - // InternalSolverLanguage.g:1777:6: (lv_params_8_0= ruleLiteral ) - // InternalSolverLanguage.g:1778:7: lv_params_8_0= ruleLiteral - { + // InternalSolverLanguage.g:1696:4: (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* + loop32: + do { + int alt32=2; + int LA32_0 = input.LA(1); - newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_3_0()); - - pushFollow(FOLLOW_23); - lv_params_8_0=ruleLiteral(); + if ( (LA32_0==18) ) { + alt32=1; + } - state._fsp--; + switch (alt32) { + case 1 : + // InternalSolverLanguage.g:1697:5: otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) + { + otherlv_10=(Token)match(input,18,FOLLOW_25); - if (current==null) { - current = createModelElementForParent(grammarAccess.getConstraintRule()); - } - add( - current, - "params", - lv_params_8_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); - afterParserOrEnumRuleCall(); - + newLeafNode(otherlv_10, grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); + + // InternalSolverLanguage.g:1701:5: ( (lv_params_11_0= ruleLiteral ) ) + // InternalSolverLanguage.g:1702:6: (lv_params_11_0= ruleLiteral ) + { + // InternalSolverLanguage.g:1702:6: (lv_params_11_0= ruleLiteral ) + // InternalSolverLanguage.g:1703:7: lv_params_11_0= ruleLiteral + { - } + newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); + + pushFollow(FOLLOW_8); + lv_params_11_0=ruleLiteral(); + state._fsp--; - } - otherlv_9=(Token)match(input,18,FOLLOW_2); + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstraintRule()); + } + add( + current, + "params", + lv_params_11_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); + afterParserOrEnumRuleCall(); + + + } - newLeafNode(otherlv_9, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_1_4()); - - } + } + + + } + break; + default : + break loop32; + } + } while (true); + + otherlv_12=(Token)match(input,19,FOLLOW_2); + + newLeafNode(otherlv_12, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); + } - break; - } + } + break; } @@ -5190,7 +5023,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleClosureType" - // InternalSolverLanguage.g:1805:1: entryRuleClosureType returns [EObject current=null] : iv_ruleClosureType= ruleClosureType EOF ; + // InternalSolverLanguage.g:1730:1: entryRuleClosureType returns [EObject current=null] : iv_ruleClosureType= ruleClosureType EOF ; public final EObject entryRuleClosureType() throws RecognitionException { EObject current = null; @@ -5198,8 +5031,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1805:52: (iv_ruleClosureType= ruleClosureType EOF ) - // InternalSolverLanguage.g:1806:2: iv_ruleClosureType= ruleClosureType EOF + // InternalSolverLanguage.g:1730:52: (iv_ruleClosureType= ruleClosureType EOF ) + // InternalSolverLanguage.g:1731:2: iv_ruleClosureType= ruleClosureType EOF { newCompositeNode(grammarAccess.getClosureTypeRule()); pushFollow(FOLLOW_1); @@ -5226,7 +5059,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleClosureType" - // InternalSolverLanguage.g:1812:1: ruleClosureType returns [EObject current=null] : ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ; + // InternalSolverLanguage.g:1737:1: ruleClosureType returns [EObject current=null] : ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ; public final EObject ruleClosureType() throws RecognitionException { EObject current = null; @@ -5237,34 +5070,34 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1818:2: ( ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ) - // InternalSolverLanguage.g:1819:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) + // InternalSolverLanguage.g:1743:2: ( ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ) + // InternalSolverLanguage.g:1744:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) { - // InternalSolverLanguage.g:1819:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) - int alt30=2; - int LA30_0 = input.LA(1); + // InternalSolverLanguage.g:1744:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA30_0==30) ) { - alt30=1; + if ( (LA34_0==31) ) { + alt34=1; } - else if ( (LA30_0==29) ) { - alt30=2; + else if ( (LA34_0==30) ) { + alt34=2; } else { NoViableAltException nvae = - new NoViableAltException("", 30, 0, input); + new NoViableAltException("", 34, 0, input); throw nvae; } - switch (alt30) { + switch (alt34) { case 1 : - // InternalSolverLanguage.g:1820:3: ( () otherlv_1= '*' ) + // InternalSolverLanguage.g:1745:3: ( () otherlv_1= '*' ) { - // InternalSolverLanguage.g:1820:3: ( () otherlv_1= '*' ) - // InternalSolverLanguage.g:1821:4: () otherlv_1= '*' + // InternalSolverLanguage.g:1745:3: ( () otherlv_1= '*' ) + // InternalSolverLanguage.g:1746:4: () otherlv_1= '*' { - // InternalSolverLanguage.g:1821:4: () - // InternalSolverLanguage.g:1822:5: + // InternalSolverLanguage.g:1746:4: () + // InternalSolverLanguage.g:1747:5: { current = forceCreateModelElement( @@ -5274,7 +5107,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,30,FOLLOW_2); + otherlv_1=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); @@ -5285,13 +5118,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:1834:3: ( () otherlv_3= '+' ) + // InternalSolverLanguage.g:1759:3: ( () otherlv_3= '+' ) { - // InternalSolverLanguage.g:1834:3: ( () otherlv_3= '+' ) - // InternalSolverLanguage.g:1835:4: () otherlv_3= '+' + // InternalSolverLanguage.g:1759:3: ( () otherlv_3= '+' ) + // InternalSolverLanguage.g:1760:4: () otherlv_3= '+' { - // InternalSolverLanguage.g:1835:4: () - // InternalSolverLanguage.g:1836:5: + // InternalSolverLanguage.g:1760:4: () + // InternalSolverLanguage.g:1761:5: { current = forceCreateModelElement( @@ -5301,7 +5134,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_3=(Token)match(input,29,FOLLOW_2); + otherlv_3=(Token)match(input,30,FOLLOW_2); newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); @@ -5334,7 +5167,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLiteral" - // InternalSolverLanguage.g:1851:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; + // InternalSolverLanguage.g:1776:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; public final EObject entryRuleLiteral() throws RecognitionException { EObject current = null; @@ -5342,8 +5175,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1851:48: (iv_ruleLiteral= ruleLiteral EOF ) - // InternalSolverLanguage.g:1852:2: iv_ruleLiteral= ruleLiteral EOF + // InternalSolverLanguage.g:1776:48: (iv_ruleLiteral= ruleLiteral EOF ) + // InternalSolverLanguage.g:1777:2: iv_ruleLiteral= ruleLiteral EOF { newCompositeNode(grammarAccess.getLiteralRule()); pushFollow(FOLLOW_1); @@ -5370,7 +5203,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLiteral" - // InternalSolverLanguage.g:1858:1: ruleLiteral returns [EObject current=null] : (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) ; + // InternalSolverLanguage.g:1783:1: ruleLiteral returns [EObject current=null] : (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) ; public final EObject ruleLiteral() throws RecognitionException { EObject current = null; @@ -5378,33 +5211,48 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { EObject this_DataObject_1 = null; + EObject this_NamedObject_2 = null; + enterRule(); try { - // InternalSolverLanguage.g:1864:2: ( (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) ) - // InternalSolverLanguage.g:1865:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) + // InternalSolverLanguage.g:1789:2: ( (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) ) + // InternalSolverLanguage.g:1790:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) { - // InternalSolverLanguage.g:1865:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) - int alt31=2; - int LA31_0 = input.LA(1); - - if ( (LA31_0==RULE_ID) ) { - alt31=1; - } - else if ( (LA31_0==RULE_INT||LA31_0==RULE_STRING||LA31_0==11||(LA31_0>=13 && LA31_0<=14)) ) { - alt31=2; - } - else { + // InternalSolverLanguage.g:1790:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) + int alt35=3; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt35=1; + } + break; + case RULE_INT: + case RULE_STRING: + case 11: + case 13: + case 14: + { + alt35=2; + } + break; + case 27: + { + alt35=3; + } + break; + default: NoViableAltException nvae = - new NoViableAltException("", 31, 0, input); + new NoViableAltException("", 35, 0, input); throw nvae; } - switch (alt31) { + + switch (alt35) { case 1 : - // InternalSolverLanguage.g:1866:3: this_Variable_0= ruleVariable + // InternalSolverLanguage.g:1791:3: this_Variable_0= ruleVariable { newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); @@ -5422,7 +5270,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:1875:3: this_DataObject_1= ruleDataObject + // InternalSolverLanguage.g:1800:3: this_DataObject_1= ruleDataObject { newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); @@ -5437,6 +5285,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { afterParserOrEnumRuleCall(); + } + break; + case 3 : + // InternalSolverLanguage.g:1809:3: this_NamedObject_2= ruleNamedObject + { + + newCompositeNode(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_NamedObject_2=ruleNamedObject(); + + state._fsp--; + + + current = this_NamedObject_2; + afterParserOrEnumRuleCall(); + + } break; @@ -5462,7 +5328,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleVariable" - // InternalSolverLanguage.g:1887:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; + // InternalSolverLanguage.g:1821:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; public final EObject entryRuleVariable() throws RecognitionException { EObject current = null; @@ -5470,8 +5336,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1887:49: (iv_ruleVariable= ruleVariable EOF ) - // InternalSolverLanguage.g:1888:2: iv_ruleVariable= ruleVariable EOF + // InternalSolverLanguage.g:1821:49: (iv_ruleVariable= ruleVariable EOF ) + // InternalSolverLanguage.g:1822:2: iv_ruleVariable= ruleVariable EOF { newCompositeNode(grammarAccess.getVariableRule()); pushFollow(FOLLOW_1); @@ -5498,7 +5364,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleVariable" - // InternalSolverLanguage.g:1894:1: ruleVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + // InternalSolverLanguage.g:1828:1: ruleVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; public final EObject ruleVariable() throws RecognitionException { EObject current = null; @@ -5508,14 +5374,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1900:2: ( ( (lv_name_0_0= RULE_ID ) ) ) - // InternalSolverLanguage.g:1901:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguage.g:1834:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalSolverLanguage.g:1835:2: ( (lv_name_0_0= RULE_ID ) ) { - // InternalSolverLanguage.g:1901:2: ( (lv_name_0_0= RULE_ID ) ) - // InternalSolverLanguage.g:1902:3: (lv_name_0_0= RULE_ID ) + // InternalSolverLanguage.g:1835:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguage.g:1836:3: (lv_name_0_0= RULE_ID ) { - // InternalSolverLanguage.g:1902:3: (lv_name_0_0= RULE_ID ) - // InternalSolverLanguage.g:1903:4: lv_name_0_0= RULE_ID + // InternalSolverLanguage.g:1836:3: (lv_name_0_0= RULE_ID ) + // InternalSolverLanguage.g:1837:4: lv_name_0_0= RULE_ID { lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); @@ -5557,7 +5423,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAllInstances" - // InternalSolverLanguage.g:1922:1: entryRuleAllInstances returns [EObject current=null] : iv_ruleAllInstances= ruleAllInstances EOF ; + // InternalSolverLanguage.g:1856:1: entryRuleAllInstances returns [EObject current=null] : iv_ruleAllInstances= ruleAllInstances EOF ; public final EObject entryRuleAllInstances() throws RecognitionException { EObject current = null; @@ -5565,8 +5431,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1922:53: (iv_ruleAllInstances= ruleAllInstances EOF ) - // InternalSolverLanguage.g:1923:2: iv_ruleAllInstances= ruleAllInstances EOF + // InternalSolverLanguage.g:1856:53: (iv_ruleAllInstances= ruleAllInstances EOF ) + // InternalSolverLanguage.g:1857:2: iv_ruleAllInstances= ruleAllInstances EOF { newCompositeNode(grammarAccess.getAllInstancesRule()); pushFollow(FOLLOW_1); @@ -5593,7 +5459,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAllInstances" - // InternalSolverLanguage.g:1929:1: ruleAllInstances returns [EObject current=null] : (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ; + // InternalSolverLanguage.g:1863:1: ruleAllInstances returns [EObject current=null] : (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ; public final EObject ruleAllInstances() throws RecognitionException { EObject current = null; @@ -5605,21 +5471,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1935:2: ( (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ) - // InternalSolverLanguage.g:1936:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) + // InternalSolverLanguage.g:1869:2: ( (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ) + // InternalSolverLanguage.g:1870:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) { - // InternalSolverLanguage.g:1936:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) - // InternalSolverLanguage.g:1937:3: otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) + // InternalSolverLanguage.g:1870:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) + // InternalSolverLanguage.g:1871:3: otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) { - otherlv_0=(Token)match(input,19,FOLLOW_18); + otherlv_0=(Token)match(input,20,FOLLOW_21); newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0()); - // InternalSolverLanguage.g:1941:3: ( (lv_symbol_1_0= ruleSymbol ) ) - // InternalSolverLanguage.g:1942:4: (lv_symbol_1_0= ruleSymbol ) + // InternalSolverLanguage.g:1875:3: ( (lv_symbol_1_0= ruleSymbol ) ) + // InternalSolverLanguage.g:1876:4: (lv_symbol_1_0= ruleSymbol ) { - // InternalSolverLanguage.g:1942:4: (lv_symbol_1_0= ruleSymbol ) - // InternalSolverLanguage.g:1943:5: lv_symbol_1_0= ruleSymbol + // InternalSolverLanguage.g:1876:4: (lv_symbol_1_0= ruleSymbol ) + // InternalSolverLanguage.g:1877:5: lv_symbol_1_0= ruleSymbol { newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); @@ -5669,7 +5535,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAllObjects" - // InternalSolverLanguage.g:1964:1: entryRuleAllObjects returns [EObject current=null] : iv_ruleAllObjects= ruleAllObjects EOF ; + // InternalSolverLanguage.g:1898:1: entryRuleAllObjects returns [EObject current=null] : iv_ruleAllObjects= ruleAllObjects EOF ; public final EObject entryRuleAllObjects() throws RecognitionException { EObject current = null; @@ -5677,8 +5543,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1964:51: (iv_ruleAllObjects= ruleAllObjects EOF ) - // InternalSolverLanguage.g:1965:2: iv_ruleAllObjects= ruleAllObjects EOF + // InternalSolverLanguage.g:1898:51: (iv_ruleAllObjects= ruleAllObjects EOF ) + // InternalSolverLanguage.g:1899:2: iv_ruleAllObjects= ruleAllObjects EOF { newCompositeNode(grammarAccess.getAllObjectsRule()); pushFollow(FOLLOW_1); @@ -5705,7 +5571,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAllObjects" - // InternalSolverLanguage.g:1971:1: ruleAllObjects returns [EObject current=null] : ( () otherlv_1= '*' ) ; + // InternalSolverLanguage.g:1905:1: ruleAllObjects returns [EObject current=null] : ( () otherlv_1= '*' ) ; public final EObject ruleAllObjects() throws RecognitionException { EObject current = null; @@ -5715,14 +5581,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:1977:2: ( ( () otherlv_1= '*' ) ) - // InternalSolverLanguage.g:1978:2: ( () otherlv_1= '*' ) + // InternalSolverLanguage.g:1911:2: ( ( () otherlv_1= '*' ) ) + // InternalSolverLanguage.g:1912:2: ( () otherlv_1= '*' ) { - // InternalSolverLanguage.g:1978:2: ( () otherlv_1= '*' ) - // InternalSolverLanguage.g:1979:3: () otherlv_1= '*' + // InternalSolverLanguage.g:1912:2: ( () otherlv_1= '*' ) + // InternalSolverLanguage.g:1913:3: () otherlv_1= '*' { - // InternalSolverLanguage.g:1979:3: () - // InternalSolverLanguage.g:1980:4: + // InternalSolverLanguage.g:1913:3: () + // InternalSolverLanguage.g:1914:4: { current = forceCreateModelElement( @@ -5732,7 +5598,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,30,FOLLOW_2); + otherlv_1=(Token)match(input,31,FOLLOW_2); newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); @@ -5759,7 +5625,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleDefaultInterpretation" - // InternalSolverLanguage.g:1994:1: entryRuleDefaultInterpretation returns [EObject current=null] : iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ; + // InternalSolverLanguage.g:1928:1: entryRuleDefaultInterpretation returns [EObject current=null] : iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ; public final EObject entryRuleDefaultInterpretation() throws RecognitionException { EObject current = null; @@ -5767,8 +5633,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:1994:62: (iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ) - // InternalSolverLanguage.g:1995:2: iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF + // InternalSolverLanguage.g:1928:62: (iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ) + // InternalSolverLanguage.g:1929:2: iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF { newCompositeNode(grammarAccess.getDefaultInterpretationRule()); pushFollow(FOLLOW_1); @@ -5795,7 +5661,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDefaultInterpretation" - // InternalSolverLanguage.g:2001:1: ruleDefaultInterpretation returns [EObject current=null] : (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ; + // InternalSolverLanguage.g:1935:1: ruleDefaultInterpretation returns [EObject current=null] : (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ; public final EObject ruleDefaultInterpretation() throws RecognitionException { EObject current = null; @@ -5807,21 +5673,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2007:2: ( (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ) - // InternalSolverLanguage.g:2008:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) + // InternalSolverLanguage.g:1941:2: ( (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ) + // InternalSolverLanguage.g:1942:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) { - // InternalSolverLanguage.g:2008:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) - // InternalSolverLanguage.g:2009:3: otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) + // InternalSolverLanguage.g:1942:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) + // InternalSolverLanguage.g:1943:3: otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) { - otherlv_0=(Token)match(input,31,FOLLOW_18); + otherlv_0=(Token)match(input,32,FOLLOW_21); newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); - // InternalSolverLanguage.g:2013:3: ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) - // InternalSolverLanguage.g:2014:4: (lv_interpretation_1_0= ruleBasicInterpretation ) + // InternalSolverLanguage.g:1947:3: ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) + // InternalSolverLanguage.g:1948:4: (lv_interpretation_1_0= ruleBasicInterpretation ) { - // InternalSolverLanguage.g:2014:4: (lv_interpretation_1_0= ruleBasicInterpretation ) - // InternalSolverLanguage.g:2015:5: lv_interpretation_1_0= ruleBasicInterpretation + // InternalSolverLanguage.g:1948:4: (lv_interpretation_1_0= ruleBasicInterpretation ) + // InternalSolverLanguage.g:1949:5: lv_interpretation_1_0= ruleBasicInterpretation { newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); @@ -5871,7 +5737,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCDInterpretation" - // InternalSolverLanguage.g:2036:1: entryRuleCDInterpretation returns [EObject current=null] : iv_ruleCDInterpretation= ruleCDInterpretation EOF ; + // InternalSolverLanguage.g:1970:1: entryRuleCDInterpretation returns [EObject current=null] : iv_ruleCDInterpretation= ruleCDInterpretation EOF ; public final EObject entryRuleCDInterpretation() throws RecognitionException { EObject current = null; @@ -5879,8 +5745,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2036:57: (iv_ruleCDInterpretation= ruleCDInterpretation EOF ) - // InternalSolverLanguage.g:2037:2: iv_ruleCDInterpretation= ruleCDInterpretation EOF + // InternalSolverLanguage.g:1970:57: (iv_ruleCDInterpretation= ruleCDInterpretation EOF ) + // InternalSolverLanguage.g:1971:2: iv_ruleCDInterpretation= ruleCDInterpretation EOF { newCompositeNode(grammarAccess.getCDInterpretationRule()); pushFollow(FOLLOW_1); @@ -5907,7 +5773,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCDInterpretation" - // InternalSolverLanguage.g:2043:1: ruleCDInterpretation returns [EObject current=null] : (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ; + // InternalSolverLanguage.g:1977:1: ruleCDInterpretation returns [EObject current=null] : (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ; public final EObject ruleCDInterpretation() throws RecognitionException { EObject current = null; @@ -5922,37 +5788,39 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2049:2: ( (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ) - // InternalSolverLanguage.g:2050:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) + // InternalSolverLanguage.g:1983:2: ( (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ) + // InternalSolverLanguage.g:1984:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) { - // InternalSolverLanguage.g:2050:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) - int alt32=3; + // InternalSolverLanguage.g:1984:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) + int alt36=3; switch ( input.LA(1) ) { - case 32: + case 33: + case 34: { - alt32=1; + alt36=1; } break; - case 37: + case 38: { - alt32=2; + alt36=2; } break; - case 38: + case 39: + case 40: { - alt32=3; + alt36=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 32, 0, input); + new NoViableAltException("", 36, 0, input); throw nvae; } - switch (alt32) { + switch (alt36) { case 1 : - // InternalSolverLanguage.g:2051:3: this_ClassInterpretation_0= ruleClassInterpretation + // InternalSolverLanguage.g:1985:3: this_ClassInterpretation_0= ruleClassInterpretation { newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); @@ -5970,7 +5838,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:2060:3: this_EnumInterpretation_1= ruleEnumInterpretation + // InternalSolverLanguage.g:1994:3: this_EnumInterpretation_1= ruleEnumInterpretation { newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); @@ -5988,7 +5856,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguage.g:2069:3: this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation + // InternalSolverLanguage.g:2003:3: this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation { newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); @@ -6028,7 +5896,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleClassInterpretation" - // InternalSolverLanguage.g:2081:1: entryRuleClassInterpretation returns [EObject current=null] : iv_ruleClassInterpretation= ruleClassInterpretation EOF ; + // InternalSolverLanguage.g:2015:1: entryRuleClassInterpretation returns [EObject current=null] : iv_ruleClassInterpretation= ruleClassInterpretation EOF ; public final EObject entryRuleClassInterpretation() throws RecognitionException { EObject current = null; @@ -6036,8 +5904,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2081:60: (iv_ruleClassInterpretation= ruleClassInterpretation EOF ) - // InternalSolverLanguage.g:2082:2: iv_ruleClassInterpretation= ruleClassInterpretation EOF + // InternalSolverLanguage.g:2015:60: (iv_ruleClassInterpretation= ruleClassInterpretation EOF ) + // InternalSolverLanguage.g:2016:2: iv_ruleClassInterpretation= ruleClassInterpretation EOF { newCompositeNode(grammarAccess.getClassInterpretationRule()); pushFollow(FOLLOW_1); @@ -6064,7 +5932,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleClassInterpretation" - // InternalSolverLanguage.g:2088:1: ruleClassInterpretation returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ; + // InternalSolverLanguage.g:2022:1: ruleClassInterpretation returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ; public final EObject ruleClassInterpretation() throws RecognitionException { EObject current = null; @@ -6084,48 +5952,59 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2094:2: ( ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ) - // InternalSolverLanguage.g:2095:2: ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) - { - // InternalSolverLanguage.g:2095:2: ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) - // InternalSolverLanguage.g:2096:3: ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' + // InternalSolverLanguage.g:2028:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ) + // InternalSolverLanguage.g:2029:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) { - // InternalSolverLanguage.g:2096:3: ( (lv_abstract_0_0= 'abstract' ) ) - // InternalSolverLanguage.g:2097:4: (lv_abstract_0_0= 'abstract' ) + // InternalSolverLanguage.g:2029:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) + // InternalSolverLanguage.g:2030:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' { - // InternalSolverLanguage.g:2097:4: (lv_abstract_0_0= 'abstract' ) - // InternalSolverLanguage.g:2098:5: lv_abstract_0_0= 'abstract' - { - lv_abstract_0_0=(Token)match(input,32,FOLLOW_24); + // InternalSolverLanguage.g:2030:3: ( (lv_abstract_0_0= 'abstract' ) )? + int alt37=2; + int LA37_0 = input.LA(1); - newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); - + if ( (LA37_0==33) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // InternalSolverLanguage.g:2031:4: (lv_abstract_0_0= 'abstract' ) + { + // InternalSolverLanguage.g:2031:4: (lv_abstract_0_0= 'abstract' ) + // InternalSolverLanguage.g:2032:5: lv_abstract_0_0= 'abstract' + { + lv_abstract_0_0=(Token)match(input,33,FOLLOW_27); - if (current==null) { - current = createModelElement(grammarAccess.getClassInterpretationRule()); - } - setWithLastConsumed(current, "abstract", true, "abstract"); - + newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); + - } + if (current==null) { + current = createModelElement(grammarAccess.getClassInterpretationRule()); + } + setWithLastConsumed(current, "abstract", true, "abstract"); + + + } + } + break; + } - otherlv_1=(Token)match(input,33,FOLLOW_10); + otherlv_1=(Token)match(input,34,FOLLOW_12); newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); - // InternalSolverLanguage.g:2114:3: ( (lv_symbol_2_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:2115:4: (lv_symbol_2_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2048:3: ( (lv_symbol_2_0= ruleModelSymbol ) ) + // InternalSolverLanguage.g:2049:4: (lv_symbol_2_0= ruleModelSymbol ) { - // InternalSolverLanguage.g:2115:4: (lv_symbol_2_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2116:5: lv_symbol_2_0= ruleModelSymbol + // InternalSolverLanguage.g:2049:4: (lv_symbol_2_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2050:5: lv_symbol_2_0= ruleModelSymbol { newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); - pushFollow(FOLLOW_25); + pushFollow(FOLLOW_28); lv_symbol_2_0=ruleModelSymbol(); state._fsp--; @@ -6147,44 +6026,44 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2133:3: (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? - int alt34=2; - int LA34_0 = input.LA(1); + // InternalSolverLanguage.g:2067:3: (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA34_0==34) ) { - alt34=1; + if ( (LA39_0==35) ) { + alt39=1; } - switch (alt34) { + switch (alt39) { case 1 : - // InternalSolverLanguage.g:2134:4: otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ + // InternalSolverLanguage.g:2068:4: otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ { - otherlv_3=(Token)match(input,34,FOLLOW_10); + otherlv_3=(Token)match(input,35,FOLLOW_12); newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); - // InternalSolverLanguage.g:2138:4: ( (lv_supertypes_4_0= ruleModelSymbol ) )+ - int cnt33=0; - loop33: + // InternalSolverLanguage.g:2072:4: ( (lv_supertypes_4_0= ruleModelSymbol ) )+ + int cnt38=0; + loop38: do { - int alt33=2; - int LA33_0 = input.LA(1); + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA33_0==RULE_ID) ) { - alt33=1; + if ( (LA38_0==RULE_ID) ) { + alt38=1; } - switch (alt33) { + switch (alt38) { case 1 : - // InternalSolverLanguage.g:2139:5: (lv_supertypes_4_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2073:5: (lv_supertypes_4_0= ruleModelSymbol ) { - // InternalSolverLanguage.g:2139:5: (lv_supertypes_4_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2140:6: lv_supertypes_4_0= ruleModelSymbol + // InternalSolverLanguage.g:2073:5: (lv_supertypes_4_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2074:6: lv_supertypes_4_0= ruleModelSymbol { newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_29); lv_supertypes_4_0=ruleModelSymbol(); state._fsp--; @@ -6208,12 +6087,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - if ( cnt33 >= 1 ) break loop33; + if ( cnt38 >= 1 ) break loop38; EarlyExitException eee = - new EarlyExitException(33, input); + new EarlyExitException(38, input); throw eee; } - cnt33++; + cnt38++; } while (true); @@ -6222,32 +6101,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,35,FOLLOW_27); + otherlv_5=(Token)match(input,36,FOLLOW_30); newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); - // InternalSolverLanguage.g:2162:3: ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* - loop35: + // InternalSolverLanguage.g:2096:3: ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* + loop40: do { - int alt35=2; - int LA35_0 = input.LA(1); + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA35_0==38) ) { - alt35=1; + if ( (LA40_0==RULE_ID||LA40_0==39) ) { + alt40=1; } - switch (alt35) { + switch (alt40) { case 1 : - // InternalSolverLanguage.g:2163:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) + // InternalSolverLanguage.g:2097:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) { - // InternalSolverLanguage.g:2163:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) - // InternalSolverLanguage.g:2164:5: lv_fielt_6_0= ruleFieldRelationInterpretation + // InternalSolverLanguage.g:2097:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) + // InternalSolverLanguage.g:2098:5: lv_fielt_6_0= ruleFieldRelationInterpretation { newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); - pushFollow(FOLLOW_27); + pushFollow(FOLLOW_30); lv_fielt_6_0=ruleFieldRelationInterpretation(); state._fsp--; @@ -6271,11 +6150,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop35; + break loop40; } } while (true); - otherlv_7=(Token)match(input,36,FOLLOW_2); + otherlv_7=(Token)match(input,37,FOLLOW_2); newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); @@ -6302,7 +6181,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleEnumInterpretation" - // InternalSolverLanguage.g:2189:1: entryRuleEnumInterpretation returns [EObject current=null] : iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ; + // InternalSolverLanguage.g:2123:1: entryRuleEnumInterpretation returns [EObject current=null] : iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ; public final EObject entryRuleEnumInterpretation() throws RecognitionException { EObject current = null; @@ -6310,8 +6189,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2189:59: (iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ) - // InternalSolverLanguage.g:2190:2: iv_ruleEnumInterpretation= ruleEnumInterpretation EOF + // InternalSolverLanguage.g:2123:59: (iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ) + // InternalSolverLanguage.g:2124:2: iv_ruleEnumInterpretation= ruleEnumInterpretation EOF { newCompositeNode(grammarAccess.getEnumInterpretationRule()); pushFollow(FOLLOW_1); @@ -6338,7 +6217,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleEnumInterpretation" - // InternalSolverLanguage.g:2196:1: ruleEnumInterpretation returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ; + // InternalSolverLanguage.g:2130:1: ruleEnumInterpretation returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ; public final EObject ruleEnumInterpretation() throws RecognitionException { EObject current = null; @@ -6354,26 +6233,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2202:2: ( (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ) - // InternalSolverLanguage.g:2203:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) + // InternalSolverLanguage.g:2136:2: ( (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ) + // InternalSolverLanguage.g:2137:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) { - // InternalSolverLanguage.g:2203:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) - // InternalSolverLanguage.g:2204:3: otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' + // InternalSolverLanguage.g:2137:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) + // InternalSolverLanguage.g:2138:3: otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' { - otherlv_0=(Token)match(input,37,FOLLOW_10); + otherlv_0=(Token)match(input,38,FOLLOW_12); newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); - // InternalSolverLanguage.g:2208:3: ( (lv_Symbol_1_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:2209:4: (lv_Symbol_1_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2142:3: ( (lv_Symbol_1_0= ruleModelSymbol ) ) + // InternalSolverLanguage.g:2143:4: (lv_Symbol_1_0= ruleModelSymbol ) { - // InternalSolverLanguage.g:2209:4: (lv_Symbol_1_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2210:5: lv_Symbol_1_0= ruleModelSymbol + // InternalSolverLanguage.g:2143:4: (lv_Symbol_1_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2144:5: lv_Symbol_1_0= ruleModelSymbol { newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_31); lv_Symbol_1_0=ruleModelSymbol(); state._fsp--; @@ -6395,33 +6274,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,35,FOLLOW_11); + otherlv_2=(Token)match(input,36,FOLLOW_13); newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); - // InternalSolverLanguage.g:2231:3: ( (lv_objects_3_0= ruleNamedObject ) )+ - int cnt36=0; - loop36: + // InternalSolverLanguage.g:2165:3: ( (lv_objects_3_0= ruleNamedObject ) )+ + int cnt41=0; + loop41: do { - int alt36=2; - int LA36_0 = input.LA(1); + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA36_0==26) ) { - alt36=1; + if ( (LA41_0==27) ) { + alt41=1; } - switch (alt36) { + switch (alt41) { case 1 : - // InternalSolverLanguage.g:2232:4: (lv_objects_3_0= ruleNamedObject ) + // InternalSolverLanguage.g:2166:4: (lv_objects_3_0= ruleNamedObject ) { - // InternalSolverLanguage.g:2232:4: (lv_objects_3_0= ruleNamedObject ) - // InternalSolverLanguage.g:2233:5: lv_objects_3_0= ruleNamedObject + // InternalSolverLanguage.g:2166:4: (lv_objects_3_0= ruleNamedObject ) + // InternalSolverLanguage.g:2167:5: lv_objects_3_0= ruleNamedObject { newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_32); lv_objects_3_0=ruleNamedObject(); state._fsp--; @@ -6445,15 +6324,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - if ( cnt36 >= 1 ) break loop36; + if ( cnt41 >= 1 ) break loop41; EarlyExitException eee = - new EarlyExitException(36, input); + new EarlyExitException(41, input); throw eee; } - cnt36++; + cnt41++; } while (true); - otherlv_4=(Token)match(input,36,FOLLOW_2); + otherlv_4=(Token)match(input,37,FOLLOW_2); newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); @@ -6480,7 +6359,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleFieldRelationInterpretation" - // InternalSolverLanguage.g:2258:1: entryRuleFieldRelationInterpretation returns [EObject current=null] : iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ; + // InternalSolverLanguage.g:2192:1: entryRuleFieldRelationInterpretation returns [EObject current=null] : iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ; public final EObject entryRuleFieldRelationInterpretation() throws RecognitionException { EObject current = null; @@ -6488,8 +6367,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2258:68: (iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ) - // InternalSolverLanguage.g:2259:2: iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF + // InternalSolverLanguage.g:2192:68: (iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ) + // InternalSolverLanguage.g:2193:2: iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF { newCompositeNode(grammarAccess.getFieldRelationInterpretationRule()); pushFollow(FOLLOW_1); @@ -6516,7 +6395,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleFieldRelationInterpretation" - // InternalSolverLanguage.g:2265:1: ruleFieldRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ; + // InternalSolverLanguage.g:2199:1: ruleFieldRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ; public final EObject ruleFieldRelationInterpretation() throws RecognitionException { EObject current = null; @@ -6533,44 +6412,55 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2271:2: ( ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ) - // InternalSolverLanguage.g:2272:2: ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) - { - // InternalSolverLanguage.g:2272:2: ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) - // InternalSolverLanguage.g:2273:3: ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) + // InternalSolverLanguage.g:2205:2: ( ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ) + // InternalSolverLanguage.g:2206:2: ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) { - // InternalSolverLanguage.g:2273:3: ( (lv_containment_0_0= 'containment' ) ) - // InternalSolverLanguage.g:2274:4: (lv_containment_0_0= 'containment' ) + // InternalSolverLanguage.g:2206:2: ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) + // InternalSolverLanguage.g:2207:3: ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) { - // InternalSolverLanguage.g:2274:4: (lv_containment_0_0= 'containment' ) - // InternalSolverLanguage.g:2275:5: lv_containment_0_0= 'containment' - { - lv_containment_0_0=(Token)match(input,38,FOLLOW_10); + // InternalSolverLanguage.g:2207:3: ( (lv_containment_0_0= 'containment' ) )? + int alt42=2; + int LA42_0 = input.LA(1); - newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - + if ( (LA42_0==39) ) { + alt42=1; + } + switch (alt42) { + case 1 : + // InternalSolverLanguage.g:2208:4: (lv_containment_0_0= 'containment' ) + { + // InternalSolverLanguage.g:2208:4: (lv_containment_0_0= 'containment' ) + // InternalSolverLanguage.g:2209:5: lv_containment_0_0= 'containment' + { + lv_containment_0_0=(Token)match(input,39,FOLLOW_12); - if (current==null) { - current = createModelElement(grammarAccess.getFieldRelationInterpretationRule()); - } - setWithLastConsumed(current, "containment", true, "containment"); - + newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); + - } + if (current==null) { + current = createModelElement(grammarAccess.getFieldRelationInterpretationRule()); + } + setWithLastConsumed(current, "containment", true, "containment"); + + } + + + } + break; } - // InternalSolverLanguage.g:2287:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:2288:4: (lv_symbol_1_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2221:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) + // InternalSolverLanguage.g:2222:4: (lv_symbol_1_0= ruleModelSymbol ) { - // InternalSolverLanguage.g:2288:4: (lv_symbol_1_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2289:5: lv_symbol_1_0= ruleModelSymbol + // InternalSolverLanguage.g:2222:4: (lv_symbol_1_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2223:5: lv_symbol_1_0= ruleModelSymbol { newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); - pushFollow(FOLLOW_8); + pushFollow(FOLLOW_10); lv_symbol_1_0=ruleModelSymbol(); state._fsp--; @@ -6592,28 +6482,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,19,FOLLOW_30); + otherlv_2=(Token)match(input,20,FOLLOW_33); newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); - // InternalSolverLanguage.g:2310:3: ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? - int alt37=2; - int LA37_0 = input.LA(1); + // InternalSolverLanguage.g:2244:3: ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA37_0==RULE_INT) ) { - alt37=1; + if ( (LA43_0==RULE_INT) ) { + alt43=1; } - switch (alt37) { + switch (alt43) { case 1 : - // InternalSolverLanguage.g:2311:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:2245:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition ) { - // InternalSolverLanguage.g:2311:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:2312:5: lv_multiplicity_3_0= ruleMultiplicityDefinition + // InternalSolverLanguage.g:2245:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:2246:5: lv_multiplicity_3_0= ruleMultiplicityDefinition { newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_21); lv_multiplicity_3_0=ruleMultiplicityDefinition(); state._fsp--; @@ -6638,11 +6528,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2329:3: ( (lv_target_4_0= ruleSymbol ) ) - // InternalSolverLanguage.g:2330:4: (lv_target_4_0= ruleSymbol ) + // InternalSolverLanguage.g:2263:3: ( (lv_target_4_0= ruleSymbol ) ) + // InternalSolverLanguage.g:2264:4: (lv_target_4_0= ruleSymbol ) { - // InternalSolverLanguage.g:2330:4: (lv_target_4_0= ruleSymbol ) - // InternalSolverLanguage.g:2331:5: lv_target_4_0= ruleSymbol + // InternalSolverLanguage.g:2264:4: (lv_target_4_0= ruleSymbol ) + // InternalSolverLanguage.g:2265:5: lv_target_4_0= ruleSymbol { newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); @@ -6692,7 +6582,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleGlobalRelationInterpretation" - // InternalSolverLanguage.g:2352:1: entryRuleGlobalRelationInterpretation returns [EObject current=null] : iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ; + // InternalSolverLanguage.g:2286:1: entryRuleGlobalRelationInterpretation returns [EObject current=null] : iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ; public final EObject entryRuleGlobalRelationInterpretation() throws RecognitionException { EObject current = null; @@ -6700,8 +6590,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2352:69: (iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ) - // InternalSolverLanguage.g:2353:2: iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF + // InternalSolverLanguage.g:2286:69: (iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ) + // InternalSolverLanguage.g:2287:2: iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF { newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule()); pushFollow(FOLLOW_1); @@ -6728,7 +6618,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleGlobalRelationInterpretation" - // InternalSolverLanguage.g:2359:1: ruleGlobalRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ; + // InternalSolverLanguage.g:2293:1: ruleGlobalRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ; public final EObject ruleGlobalRelationInterpretation() throws RecognitionException { EObject current = null; @@ -6750,48 +6640,59 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2365:2: ( ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ) - // InternalSolverLanguage.g:2366:2: ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) - { - // InternalSolverLanguage.g:2366:2: ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) - // InternalSolverLanguage.g:2367:3: ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) - { - // InternalSolverLanguage.g:2367:3: ( (lv_containment_0_0= 'containment' ) ) - // InternalSolverLanguage.g:2368:4: (lv_containment_0_0= 'containment' ) + // InternalSolverLanguage.g:2299:2: ( ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ) + // InternalSolverLanguage.g:2300:2: ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) { - // InternalSolverLanguage.g:2368:4: (lv_containment_0_0= 'containment' ) - // InternalSolverLanguage.g:2369:5: lv_containment_0_0= 'containment' + // InternalSolverLanguage.g:2300:2: ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) + // InternalSolverLanguage.g:2301:3: ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) { - lv_containment_0_0=(Token)match(input,38,FOLLOW_31); + // InternalSolverLanguage.g:2301:3: ( (lv_containment_0_0= 'containment' ) )? + int alt44=2; + int LA44_0 = input.LA(1); - newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); - + if ( (LA44_0==39) ) { + alt44=1; + } + switch (alt44) { + case 1 : + // InternalSolverLanguage.g:2302:4: (lv_containment_0_0= 'containment' ) + { + // InternalSolverLanguage.g:2302:4: (lv_containment_0_0= 'containment' ) + // InternalSolverLanguage.g:2303:5: lv_containment_0_0= 'containment' + { + lv_containment_0_0=(Token)match(input,39,FOLLOW_34); - if (current==null) { - current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule()); - } - setWithLastConsumed(current, "containment", true, "containment"); - + newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule()); + } + setWithLastConsumed(current, "containment", true, "containment"); + + + } - } + } + break; } - otherlv_1=(Token)match(input,39,FOLLOW_10); + otherlv_1=(Token)match(input,40,FOLLOW_12); newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); - // InternalSolverLanguage.g:2385:3: ( (lv_symbol_2_0= ruleModelSymbol ) ) - // InternalSolverLanguage.g:2386:4: (lv_symbol_2_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2319:3: ( (lv_symbol_2_0= ruleModelSymbol ) ) + // InternalSolverLanguage.g:2320:4: (lv_symbol_2_0= ruleModelSymbol ) { - // InternalSolverLanguage.g:2386:4: (lv_symbol_2_0= ruleModelSymbol ) - // InternalSolverLanguage.g:2387:5: lv_symbol_2_0= ruleModelSymbol + // InternalSolverLanguage.g:2320:4: (lv_symbol_2_0= ruleModelSymbol ) + // InternalSolverLanguage.g:2321:5: lv_symbol_2_0= ruleModelSymbol { newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); - pushFollow(FOLLOW_8); + pushFollow(FOLLOW_10); lv_symbol_2_0=ruleModelSymbol(); state._fsp--; @@ -6813,28 +6714,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_3=(Token)match(input,19,FOLLOW_30); + otherlv_3=(Token)match(input,20,FOLLOW_33); newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); - // InternalSolverLanguage.g:2408:3: ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? - int alt38=2; - int LA38_0 = input.LA(1); + // InternalSolverLanguage.g:2342:3: ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA38_0==RULE_INT) ) { - alt38=1; + if ( (LA45_0==RULE_INT) ) { + alt45=1; } - switch (alt38) { + switch (alt45) { case 1 : - // InternalSolverLanguage.g:2409:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:2343:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) { - // InternalSolverLanguage.g:2409:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:2410:5: lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition + // InternalSolverLanguage.g:2343:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:2344:5: lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition { newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_21); lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition(); state._fsp--; @@ -6859,16 +6760,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2427:3: ( (lv_source_5_0= ruleSymbol ) ) - // InternalSolverLanguage.g:2428:4: (lv_source_5_0= ruleSymbol ) + // InternalSolverLanguage.g:2361:3: ( (lv_source_5_0= ruleSymbol ) ) + // InternalSolverLanguage.g:2362:4: (lv_source_5_0= ruleSymbol ) { - // InternalSolverLanguage.g:2428:4: (lv_source_5_0= ruleSymbol ) - // InternalSolverLanguage.g:2429:5: lv_source_5_0= ruleSymbol + // InternalSolverLanguage.g:2362:4: (lv_source_5_0= ruleSymbol ) + // InternalSolverLanguage.g:2363:5: lv_source_5_0= ruleSymbol { newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_33); lv_source_5_0=ruleSymbol(); state._fsp--; @@ -6890,24 +6791,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2446:3: ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? - int alt39=2; - int LA39_0 = input.LA(1); + // InternalSolverLanguage.g:2380:3: ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA39_0==RULE_INT) ) { - alt39=1; + if ( (LA46_0==RULE_INT) ) { + alt46=1; } - switch (alt39) { + switch (alt46) { case 1 : - // InternalSolverLanguage.g:2447:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:2381:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) { - // InternalSolverLanguage.g:2447:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) - // InternalSolverLanguage.g:2448:5: lv_targetMultiplicity_6_0= ruleMultiplicityDefinition + // InternalSolverLanguage.g:2381:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) + // InternalSolverLanguage.g:2382:5: lv_targetMultiplicity_6_0= ruleMultiplicityDefinition { newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_21); lv_targetMultiplicity_6_0=ruleMultiplicityDefinition(); state._fsp--; @@ -6932,11 +6833,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguage.g:2465:3: ( (lv_target_7_0= ruleSymbol ) ) - // InternalSolverLanguage.g:2466:4: (lv_target_7_0= ruleSymbol ) + // InternalSolverLanguage.g:2399:3: ( (lv_target_7_0= ruleSymbol ) ) + // InternalSolverLanguage.g:2400:4: (lv_target_7_0= ruleSymbol ) { - // InternalSolverLanguage.g:2466:4: (lv_target_7_0= ruleSymbol ) - // InternalSolverLanguage.g:2467:5: lv_target_7_0= ruleSymbol + // InternalSolverLanguage.g:2400:4: (lv_target_7_0= ruleSymbol ) + // InternalSolverLanguage.g:2401:5: lv_target_7_0= ruleSymbol { newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); @@ -6986,7 +6887,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMultiplicityDefinition" - // InternalSolverLanguage.g:2488:1: entryRuleMultiplicityDefinition returns [EObject current=null] : iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ; + // InternalSolverLanguage.g:2422:1: entryRuleMultiplicityDefinition returns [EObject current=null] : iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ; public final EObject entryRuleMultiplicityDefinition() throws RecognitionException { EObject current = null; @@ -6994,8 +6895,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguage.g:2488:63: (iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ) - // InternalSolverLanguage.g:2489:2: iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF + // InternalSolverLanguage.g:2422:63: (iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ) + // InternalSolverLanguage.g:2423:2: iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF { newCompositeNode(grammarAccess.getMultiplicityDefinitionRule()); pushFollow(FOLLOW_1); @@ -7022,7 +6923,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicityDefinition" - // InternalSolverLanguage.g:2495:1: ruleMultiplicityDefinition returns [EObject current=null] : ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ; + // InternalSolverLanguage.g:2429:1: ruleMultiplicityDefinition returns [EObject current=null] : ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ; public final EObject ruleMultiplicityDefinition() throws RecognitionException { EObject current = null; @@ -7035,19 +6936,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguage.g:2501:2: ( ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ) - // InternalSolverLanguage.g:2502:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) + // InternalSolverLanguage.g:2435:2: ( ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ) + // InternalSolverLanguage.g:2436:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) { - // InternalSolverLanguage.g:2502:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) - // InternalSolverLanguage.g:2503:3: ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) + // InternalSolverLanguage.g:2436:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) + // InternalSolverLanguage.g:2437:3: ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) { - // InternalSolverLanguage.g:2503:3: ( (lv_lower_0_0= RULE_INT ) ) - // InternalSolverLanguage.g:2504:4: (lv_lower_0_0= RULE_INT ) + // InternalSolverLanguage.g:2437:3: ( (lv_lower_0_0= RULE_INT ) ) + // InternalSolverLanguage.g:2438:4: (lv_lower_0_0= RULE_INT ) { - // InternalSolverLanguage.g:2504:4: (lv_lower_0_0= RULE_INT ) - // InternalSolverLanguage.g:2505:5: lv_lower_0_0= RULE_INT + // InternalSolverLanguage.g:2438:4: (lv_lower_0_0= RULE_INT ) + // InternalSolverLanguage.g:2439:5: lv_lower_0_0= RULE_INT { - lv_lower_0_0=(Token)match(input,RULE_INT,FOLLOW_32); + lv_lower_0_0=(Token)match(input,RULE_INT,FOLLOW_35); newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); @@ -7067,35 +6968,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,40,FOLLOW_33); + otherlv_1=(Token)match(input,41,FOLLOW_36); newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); - // InternalSolverLanguage.g:2525:3: ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) - int alt40=2; - int LA40_0 = input.LA(1); + // InternalSolverLanguage.g:2459:3: ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA40_0==RULE_INT) ) { - alt40=1; + if ( (LA47_0==RULE_INT) ) { + alt47=1; } - else if ( (LA40_0==30) ) { - alt40=2; + else if ( (LA47_0==31) ) { + alt47=2; } else { NoViableAltException nvae = - new NoViableAltException("", 40, 0, input); + new NoViableAltException("", 47, 0, input); throw nvae; } - switch (alt40) { + switch (alt47) { case 1 : - // InternalSolverLanguage.g:2526:4: ( (lv_upper_2_0= RULE_INT ) ) + // InternalSolverLanguage.g:2460:4: ( (lv_upper_2_0= RULE_INT ) ) { - // InternalSolverLanguage.g:2526:4: ( (lv_upper_2_0= RULE_INT ) ) - // InternalSolverLanguage.g:2527:5: (lv_upper_2_0= RULE_INT ) + // InternalSolverLanguage.g:2460:4: ( (lv_upper_2_0= RULE_INT ) ) + // InternalSolverLanguage.g:2461:5: (lv_upper_2_0= RULE_INT ) { - // InternalSolverLanguage.g:2527:5: (lv_upper_2_0= RULE_INT ) - // InternalSolverLanguage.g:2528:6: lv_upper_2_0= RULE_INT + // InternalSolverLanguage.g:2461:5: (lv_upper_2_0= RULE_INT ) + // InternalSolverLanguage.g:2462:6: lv_upper_2_0= RULE_INT { lv_upper_2_0=(Token)match(input,RULE_INT,FOLLOW_2); @@ -7121,15 +7022,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguage.g:2545:4: ( (lv_unlimitedUpper_3_0= '*' ) ) + // InternalSolverLanguage.g:2479:4: ( (lv_unlimitedUpper_3_0= '*' ) ) { - // InternalSolverLanguage.g:2545:4: ( (lv_unlimitedUpper_3_0= '*' ) ) - // InternalSolverLanguage.g:2546:5: (lv_unlimitedUpper_3_0= '*' ) + // InternalSolverLanguage.g:2479:4: ( (lv_unlimitedUpper_3_0= '*' ) ) + // InternalSolverLanguage.g:2480:5: (lv_unlimitedUpper_3_0= '*' ) { - // InternalSolverLanguage.g:2546:5: (lv_unlimitedUpper_3_0= '*' ) - // InternalSolverLanguage.g:2547:6: lv_unlimitedUpper_3_0= '*' + // InternalSolverLanguage.g:2480:5: (lv_unlimitedUpper_3_0= '*' ) + // InternalSolverLanguage.g:2481:6: lv_unlimitedUpper_3_0= '*' { - lv_unlimitedUpper_3_0=(Token)match(input,30,FOLLOW_2); + lv_unlimitedUpper_3_0=(Token)match(input,31,FOLLOW_2); newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); @@ -7175,40 +7076,85 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // Delegated rules + protected DFA2 dfa2 = new DFA2(this); + static final String dfa_1s = "\11\uffff"; + static final String dfa_2s = "\1\5\1\21\2\uffff\1\4\1\22\1\24\1\4\1\22"; + static final String dfa_3s = "\1\50\1\34\2\uffff\1\37\1\24\1\34\1\37\1\24"; + static final String dfa_4s = "\2\uffff\1\1\1\2\5\uffff"; + static final String dfa_5s = "\11\uffff}>"; + static final String[] dfa_6s = { + "\1\1\12\uffff\1\3\4\uffff\6\2\5\uffff\3\2\3\uffff\3\2", + "\1\4\2\uffff\1\2\7\uffff\1\3", + "", + "", + "\1\2\1\5\1\2\4\uffff\1\2\1\uffff\2\2\4\uffff\1\6\1\2\6\uffff\1\2\3\uffff\1\2", + "\1\7\1\6\1\3", + "\1\2\7\uffff\1\3", + "\1\2\1\10\1\2\4\uffff\1\2\1\uffff\2\2\5\uffff\1\2\6\uffff\1\2\3\uffff\1\2", + "\1\7\1\6\1\3" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA2 extends DFA { + + public DFA2(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 2; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate )"; + } + } 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[]{0x000000618BF10022L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000001C707E10022L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000020000L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00000000440C6870L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x000000000001E000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000040020L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000030007820L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010001000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000030003820L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000020020L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000080002L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000003F00020L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000020000822L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000060020000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004046870L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000004006870L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000040000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000200000000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000C00000000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000800000020L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000005000000000L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001004000000L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000003F00030L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000040000010L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000120000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000088186870L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000000C0000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000088106870L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000100000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000000000001E000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010020000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000080020L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x00000000E0007820L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020001000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x00000000E0003820L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000100002L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000007E00020L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x00000000C0000822L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000020002L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x00000000080C6870L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000008006870L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000001800000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000000020L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x000000A000000020L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000002008000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000007E00030L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000080000010L}); } \ No newline at end of file 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 80f9a02e..1ad39fd7 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 @@ -20,7 +20,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.Constraint; import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate; import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; import org.eclipse.viatra.solver.language.solverLanguage.False; import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; @@ -34,7 +33,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.NamedObject; import org.eclipse.viatra.solver.language.solverLanguage.Negative; import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; import org.eclipse.viatra.solver.language.solverLanguage.Positive; -import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol; +import org.eclipse.viatra.solver.language.solverLanguage.Predicate; import org.eclipse.viatra.solver.language.solverLanguage.Problem; import org.eclipse.viatra.solver.language.solverLanguage.RealObject; import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; @@ -107,9 +106,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.ERROR: sequence_TruthValue(context, (org.eclipse.viatra.solver.language.solverLanguage.Error) semanticObject); return; - case SolverLanguagePackage.ERROR_PREDICATE: - sequence_ErrorPredicate(context, (ErrorPredicate) semanticObject); - return; case SolverLanguagePackage.EXIST_SYMBOL: sequence_ExistSymbol(context, (ExistSymbol) semanticObject); return; @@ -152,8 +148,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.POSITIVE: sequence_Polarity(context, (Positive) semanticObject); return; - case SolverLanguagePackage.PREDICATE_SYMBOL: - sequence_PredicateSymbol(context, (PredicateSymbol) semanticObject); + case SolverLanguagePackage.PREDICATE: + sequence_Predicate(context, (Predicate) semanticObject); return; case SolverLanguagePackage.PROBLEM: sequence_Problem(context, (Problem) semanticObject); @@ -229,7 +225,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * BasicInterpretation returns BasicInterpretation * * Constraint: - * (symbol=Symbol objects+=ComplexObject* value=TruthValue) + * (symbol=Symbol (objects+=ComplexObject objects+=ComplexObject*)? value=TruthValue) */ protected void sequence_BasicInterpretation(ISerializationContext context, BasicInterpretation semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -304,7 +300,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * ClassInterpretation returns ClassInterpretation * * Constraint: - * (abstract?='abstract' symbol=ModelSymbol supertypes+=ModelSymbol* fielt+=FieldRelationInterpretation*) + * (abstract?='abstract'? symbol=ModelSymbol supertypes+=ModelSymbol* fielt+=FieldRelationInterpretation*) */ protected void sequence_ClassInterpretation(ISerializationContext context, ClassInterpretation semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -340,7 +336,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * Constraint returns Constraint * * Constraint: - * (polarity=Polarity? symbol=ModelSymbol (params+=Literal+ | (closureType=ClosureType params+=Literal params+=Literal))?) + * ((polarity=Polarity? symbol=ModelSymbol params+=Literal? params+=Literal*) | (closureType=ClosureType params+=Literal? params+=Literal*)) */ protected void sequence_Constraint(ISerializationContext context, Constraint semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -396,20 +392,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS } - /** - * Contexts: - * Statement returns ErrorPredicate - * Predicate returns ErrorPredicate - * ErrorPredicate returns ErrorPredicate - * - * Constraint: - * (name=ID? parameters+=Parameter* (bodies+=PatternBody bodies+=PatternBody*)?) - */ - protected void sequence_ErrorPredicate(ISerializationContext context, ErrorPredicate semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - /** * Contexts: * Symbol returns ExistSymbol @@ -429,7 +411,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * FieldRelationInterpretation returns FieldRelationInterpretation * * Constraint: - * (containment?='containment' symbol=ModelSymbol multiplicity=MultiplicityDefinition? target=Symbol) + * (containment?='containment'? symbol=ModelSymbol multiplicity=MultiplicityDefinition? target=Symbol) */ protected void sequence_FieldRelationInterpretation(ISerializationContext context, FieldRelationInterpretation semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -445,7 +427,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * * Constraint: * ( - * containment?='containment' + * containment?='containment'? * symbol=ModelSymbol * sourceMultiplicity=MultiplicityDefinition? * source=Symbol @@ -530,6 +512,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * ComplexObject returns NamedObject * Object returns NamedObject * NamedObject returns NamedObject + * Literal returns NamedObject * * Constraint: * name=ID @@ -595,14 +578,13 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns PredicateSymbol - * Predicate returns PredicateSymbol - * PredicateSymbol returns PredicateSymbol + * Statement returns Predicate + * Predicate returns Predicate * * Constraint: - * (symbol=ModelSymbol parameters+=Parameter* (bodies+=PatternBody bodies+=PatternBody*)?) + * (isError?='error'? symbol=ModelSymbol (parameters+=Parameter parameters+=Parameter*)? (bodies+=PatternBody bodies+=PatternBody*)?) */ - protected void sequence_PredicateSymbol(ISerializationContext context, PredicateSymbol semanticObject) { + protected void sequence_Predicate(ISerializationContext context, Predicate semanticObject) { genericSequencer.createSequence(context, semanticObject); } 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 5145bfac..8a2d6f62 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 @@ -11,6 +11,7 @@ import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; @@ -20,12 +21,18 @@ import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer { protected SolverLanguageGrammarAccess grammarAccess; + protected AbstractElementAlias match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q; + protected AbstractElementAlias match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q; protected AbstractElementAlias match_PatternBody_TrueKeyword_1_0_q; + protected AbstractElementAlias match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q; @Inject protected void init(IGrammarAccess access) { grammarAccess = (SolverLanguageGrammarAccess) access; + match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()), new TokenAlias(false, false, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2())); + match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()), new TokenAlias(false, false, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3())); match_PatternBody_TrueKeyword_1_0_q = new TokenAlias(false, true, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); + match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()), new TokenAlias(false, false, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2())); } @Override @@ -40,12 +47,40 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer List transitionNodes = collectNodes(fromNode, toNode); for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { List syntaxNodes = getNodesFor(transitionNodes, syntax); - if (match_PatternBody_TrueKeyword_1_0_q.equals(syntax)) + if (match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q.equals(syntax)) + emit_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q.equals(syntax)) + emit_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_PatternBody_TrueKeyword_1_0_q.equals(syntax)) emit_PatternBody_TrueKeyword_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q.equals(syntax)) + emit_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); } } + /** + * Ambiguous syntax: + * ('(' ')')? + * + * This ambiguous syntax occurs at: + * symbol=Symbol (ambiguity) ':' value=TruthValue + */ + protected void emit_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('(' ')')? + * + * This ambiguous syntax occurs at: + * symbol=ModelSymbol (ambiguity) (rule end) + */ + protected void emit_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + /** * Ambiguous syntax: * 'true'? @@ -57,4 +92,16 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer acceptNodes(transition, nodes); } + /** + * Ambiguous syntax: + * ('(' ')')? + * + * This ambiguous syntax occurs at: + * symbol=ModelSymbol (ambiguity) ':-' 'false' '.' (rule end) + * symbol=ModelSymbol (ambiguity) ':-' bodies+=PatternBody + */ + protected void emit_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(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 fb5ea124..e6a8f1d9 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 @@ -228,19 +228,25 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cSymbolAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cSymbolSymbolParserRuleCall_0_0 = (RuleCall)cSymbolAssignment_0.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cObjectsAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cObjectsComplexObjectParserRuleCall_2_0 = (RuleCall)cObjectsAssignment_2.eContents().get(0); - private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Assignment cValueAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cValueTruthValueParserRuleCall_5_0 = (RuleCall)cValueAssignment_5.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1); + private final Assignment cObjectsAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); + private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_0_0 = (RuleCall)cObjectsAssignment_1_1_0.eContents().get(0); + private final Group cGroup_1_1_1 = (Group)cGroup_1_1.eContents().get(1); + private final Keyword cCommaKeyword_1_1_1_0 = (Keyword)cGroup_1_1_1.eContents().get(0); + private final Assignment cObjectsAssignment_1_1_1_1 = (Assignment)cGroup_1_1_1.eContents().get(1); + private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_1_1_0 = (RuleCall)cObjectsAssignment_1_1_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); + private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cValueTruthValueParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0); //BasicInterpretation: - // symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue; + // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue; @Override public ParserRule getRule() { return rule; } - //symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue + //symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue public Group getGroup() { return cGroup; } //symbol=Symbol @@ -249,26 +255,44 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Symbol public RuleCall getSymbolSymbolParserRuleCall_0_0() { return cSymbolSymbolParserRuleCall_0_0; } + //('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? + public Group getGroup_1() { return cGroup_1; } + //'(' - public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } + public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; } + + //(objects+=ComplexObject (',' objects+=ComplexObject)*)? + public Group getGroup_1_1() { return cGroup_1_1; } + + //objects+=ComplexObject + public Assignment getObjectsAssignment_1_1_0() { return cObjectsAssignment_1_1_0; } + + //ComplexObject + public RuleCall getObjectsComplexObjectParserRuleCall_1_1_0_0() { return cObjectsComplexObjectParserRuleCall_1_1_0_0; } + + //(',' objects+=ComplexObject)* + public Group getGroup_1_1_1() { return cGroup_1_1_1; } - //objects+=ComplexObject* - public Assignment getObjectsAssignment_2() { return cObjectsAssignment_2; } + //',' + public Keyword getCommaKeyword_1_1_1_0() { return cCommaKeyword_1_1_1_0; } + + //objects+=ComplexObject + public Assignment getObjectsAssignment_1_1_1_1() { return cObjectsAssignment_1_1_1_1; } //ComplexObject - public RuleCall getObjectsComplexObjectParserRuleCall_2_0() { return cObjectsComplexObjectParserRuleCall_2_0; } + public RuleCall getObjectsComplexObjectParserRuleCall_1_1_1_1_0() { return cObjectsComplexObjectParserRuleCall_1_1_1_1_0; } //')' - public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } + public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; } //':' - public Keyword getColonKeyword_4() { return cColonKeyword_4; } + public Keyword getColonKeyword_2() { return cColonKeyword_2; } //value=TruthValue - public Assignment getValueAssignment_5() { return cValueAssignment_5; } + public Assignment getValueAssignment_3() { return cValueAssignment_3; } //TruthValue - public RuleCall getValueTruthValueParserRuleCall_5_0() { return cValueTruthValueParserRuleCall_5_0; } + public RuleCall getValueTruthValueParserRuleCall_3_0() { return cValueTruthValueParserRuleCall_3_0; } } public class SymbolElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); @@ -645,59 +669,50 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } public class PredicateElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Predicate"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cPredicateSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cErrorPredicateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cIsErrorAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final Keyword cIsErrorErrorKeyword_0_0 = (Keyword)cIsErrorAssignment_0.eContents().get(0); + private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); + private final Assignment cParametersAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0); + private final RuleCall cParametersParameterParserRuleCall_2_1_0_0 = (RuleCall)cParametersAssignment_2_1_0.eContents().get(0); + private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1); + private final Keyword cCommaKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0); + private final Assignment cParametersAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1); + private final RuleCall cParametersParameterParserRuleCall_2_1_1_1_0 = (RuleCall)cParametersAssignment_2_1_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); + private final Keyword cColonHyphenMinusKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); + private final Keyword cFalseKeyword_4_0 = (Keyword)cAlternatives_4.eContents().get(0); + private final Group cGroup_4_1 = (Group)cAlternatives_4.eContents().get(1); + private final Assignment cBodiesAssignment_4_1_0 = (Assignment)cGroup_4_1.eContents().get(0); + private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_0_0 = (RuleCall)cBodiesAssignment_4_1_0.eContents().get(0); + private final Group cGroup_4_1_1 = (Group)cGroup_4_1.eContents().get(1); + private final Keyword cVerticalLineKeyword_4_1_1_0 = (Keyword)cGroup_4_1_1.eContents().get(0); + private final Assignment cBodiesAssignment_4_1_1_1 = (Assignment)cGroup_4_1_1.eContents().get(1); + private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_1_1_0 = (RuleCall)cBodiesAssignment_4_1_1_1.eContents().get(0); + private final Keyword cFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5); ///////////////////// //// Predicte grammar ///////////////////// //Predicate: - // PredicateSymbol | ErrorPredicate; + // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' | + // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.'; @Override public ParserRule getRule() { return rule; } - //PredicateSymbol | ErrorPredicate - public Alternatives getAlternatives() { return cAlternatives; } - - //PredicateSymbol - public RuleCall getPredicateSymbolParserRuleCall_0() { return cPredicateSymbolParserRuleCall_0; } - - //ErrorPredicate - public RuleCall getErrorPredicateParserRuleCall_1() { return cErrorPredicateParserRuleCall_1; } - } - public class PredicateSymbolElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateSymbol"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cPredicateKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cParametersAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cParametersParameterParserRuleCall_3_0 = (RuleCall)cParametersAssignment_3.eContents().get(0); - private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Keyword cColonKeyword_5 = (Keyword)cGroup.eContents().get(5); - private final Alternatives cAlternatives_6 = (Alternatives)cGroup.eContents().get(6); - private final Keyword cFalseKeyword_6_0 = (Keyword)cAlternatives_6.eContents().get(0); - private final Group cGroup_6_1 = (Group)cAlternatives_6.eContents().get(1); - private final Assignment cBodiesAssignment_6_1_0 = (Assignment)cGroup_6_1.eContents().get(0); - private final RuleCall cBodiesPatternBodyParserRuleCall_6_1_0_0 = (RuleCall)cBodiesAssignment_6_1_0.eContents().get(0); - private final Group cGroup_6_1_1 = (Group)cGroup_6_1.eContents().get(1); - private final Keyword cVerticalLineKeyword_6_1_1_0 = (Keyword)cGroup_6_1_1.eContents().get(0); - private final Assignment cBodiesAssignment_6_1_1_1 = (Assignment)cGroup_6_1_1.eContents().get(1); - private final RuleCall cBodiesPatternBodyParserRuleCall_6_1_1_1_0 = (RuleCall)cBodiesAssignment_6_1_1_1.eContents().get(0); - private final Keyword cFullStopKeyword_7 = (Keyword)cGroup.eContents().get(7); - - //PredicateSymbol: - // 'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|' - // bodies+=PatternBody)*) '.'; - @Override public ParserRule getRule() { return rule; } - - //'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|' - //bodies+=PatternBody)*) '.' + //isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' | + //bodies+=PatternBody ('|' bodies+=PatternBody)*) '.' public Group getGroup() { return cGroup; } - //'predicate' - public Keyword getPredicateKeyword_0() { return cPredicateKeyword_0; } + //isError?='error'? + public Assignment getIsErrorAssignment_0() { return cIsErrorAssignment_0; } + + //'error' + public Keyword getIsErrorErrorKeyword_0_0() { return cIsErrorErrorKeyword_0_0; } //symbol=ModelSymbol public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } @@ -705,143 +720,68 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //ModelSymbol public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } - //'(' - public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } - - //parameters+=Parameter* - public Assignment getParametersAssignment_3() { return cParametersAssignment_3; } - - //Parameter - public RuleCall getParametersParameterParserRuleCall_3_0() { return cParametersParameterParserRuleCall_3_0; } - - //')' - public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } - - //':' - public Keyword getColonKeyword_5() { return cColonKeyword_5; } - - //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)* - public Alternatives getAlternatives_6() { return cAlternatives_6; } - - //'false' - public Keyword getFalseKeyword_6_0() { return cFalseKeyword_6_0; } - - //bodies+=PatternBody ('|' bodies+=PatternBody)* - public Group getGroup_6_1() { return cGroup_6_1; } - - //bodies+=PatternBody - public Assignment getBodiesAssignment_6_1_0() { return cBodiesAssignment_6_1_0; } - - //PatternBody - public RuleCall getBodiesPatternBodyParserRuleCall_6_1_0_0() { return cBodiesPatternBodyParserRuleCall_6_1_0_0; } - - //('|' bodies+=PatternBody)* - public Group getGroup_6_1_1() { return cGroup_6_1_1; } - - //'|' - public Keyword getVerticalLineKeyword_6_1_1_0() { return cVerticalLineKeyword_6_1_1_0; } - - //bodies+=PatternBody - public Assignment getBodiesAssignment_6_1_1_1() { return cBodiesAssignment_6_1_1_1; } - - //PatternBody - public RuleCall getBodiesPatternBodyParserRuleCall_6_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_6_1_1_1_0; } - - //'.' - public Keyword getFullStopKeyword_7() { return cFullStopKeyword_7; } - } - public class ErrorPredicateElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ErrorPredicate"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Action cErrorPredicateAction_0 = (Action)cGroup.eContents().get(0); - private final Keyword cErrorKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final Assignment cParametersAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); - private final RuleCall cParametersParameterParserRuleCall_3_1_0 = (RuleCall)cParametersAssignment_3_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); - private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5); - private final Keyword cFalseKeyword_5_0 = (Keyword)cAlternatives_5.eContents().get(0); - private final Group cGroup_5_1 = (Group)cAlternatives_5.eContents().get(1); - private final Assignment cBodiesAssignment_5_1_0 = (Assignment)cGroup_5_1.eContents().get(0); - private final RuleCall cBodiesPatternBodyParserRuleCall_5_1_0_0 = (RuleCall)cBodiesAssignment_5_1_0.eContents().get(0); - private final Group cGroup_5_1_1 = (Group)cGroup_5_1.eContents().get(1); - private final Keyword cVerticalLineKeyword_5_1_1_0 = (Keyword)cGroup_5_1_1.eContents().get(0); - private final Assignment cBodiesAssignment_5_1_1_1 = (Assignment)cGroup_5_1_1.eContents().get(1); - private final RuleCall cBodiesPatternBodyParserRuleCall_5_1_1_1_0 = (RuleCall)cBodiesAssignment_5_1_1_1.eContents().get(0); - private final Keyword cFullStopKeyword_6 = (Keyword)cGroup.eContents().get(6); - - //ErrorPredicate: - // {ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|' - // bodies+=PatternBody)*) '.'; - @Override public ParserRule getRule() { return rule; } - - //{ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|' - //bodies+=PatternBody)*) '.' - public Group getGroup() { return cGroup; } + //('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? + public Group getGroup_2() { return cGroup_2; } - //{ErrorPredicate} - public Action getErrorPredicateAction_0() { return cErrorPredicateAction_0; } + //'(' + public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } - //'error' - public Keyword getErrorKeyword_1() { return cErrorKeyword_1; } + //(parameters+=Parameter (',' parameters+=Parameter)*)? + public Group getGroup_2_1() { return cGroup_2_1; } - //name=ID? - public Assignment getNameAssignment_2() { return cNameAssignment_2; } + //parameters+=Parameter + public Assignment getParametersAssignment_2_1_0() { return cParametersAssignment_2_1_0; } - //ID - public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } + //Parameter + public RuleCall getParametersParameterParserRuleCall_2_1_0_0() { return cParametersParameterParserRuleCall_2_1_0_0; } - //'(' parameters+=Parameter* ')' - public Group getGroup_3() { return cGroup_3; } + //(',' parameters+=Parameter)* + public Group getGroup_2_1_1() { return cGroup_2_1_1; } - //'(' - public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; } + //',' + public Keyword getCommaKeyword_2_1_1_0() { return cCommaKeyword_2_1_1_0; } - //parameters+=Parameter* - public Assignment getParametersAssignment_3_1() { return cParametersAssignment_3_1; } + //parameters+=Parameter + public Assignment getParametersAssignment_2_1_1_1() { return cParametersAssignment_2_1_1_1; } //Parameter - public RuleCall getParametersParameterParserRuleCall_3_1_0() { return cParametersParameterParserRuleCall_3_1_0; } + public RuleCall getParametersParameterParserRuleCall_2_1_1_1_0() { return cParametersParameterParserRuleCall_2_1_1_1_0; } //')' - public Keyword getRightParenthesisKeyword_3_2() { return cRightParenthesisKeyword_3_2; } + public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } - //':' - public Keyword getColonKeyword_4() { return cColonKeyword_4; } + //':-' + public Keyword getColonHyphenMinusKeyword_3() { return cColonHyphenMinusKeyword_3; } //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)* - public Alternatives getAlternatives_5() { return cAlternatives_5; } + public Alternatives getAlternatives_4() { return cAlternatives_4; } //'false' - public Keyword getFalseKeyword_5_0() { return cFalseKeyword_5_0; } + public Keyword getFalseKeyword_4_0() { return cFalseKeyword_4_0; } //bodies+=PatternBody ('|' bodies+=PatternBody)* - public Group getGroup_5_1() { return cGroup_5_1; } + public Group getGroup_4_1() { return cGroup_4_1; } //bodies+=PatternBody - public Assignment getBodiesAssignment_5_1_0() { return cBodiesAssignment_5_1_0; } + public Assignment getBodiesAssignment_4_1_0() { return cBodiesAssignment_4_1_0; } //PatternBody - public RuleCall getBodiesPatternBodyParserRuleCall_5_1_0_0() { return cBodiesPatternBodyParserRuleCall_5_1_0_0; } + public RuleCall getBodiesPatternBodyParserRuleCall_4_1_0_0() { return cBodiesPatternBodyParserRuleCall_4_1_0_0; } //('|' bodies+=PatternBody)* - public Group getGroup_5_1_1() { return cGroup_5_1_1; } + public Group getGroup_4_1_1() { return cGroup_4_1_1; } //'|' - public Keyword getVerticalLineKeyword_5_1_1_0() { return cVerticalLineKeyword_5_1_1_0; } + public Keyword getVerticalLineKeyword_4_1_1_0() { return cVerticalLineKeyword_4_1_1_0; } //bodies+=PatternBody - public Assignment getBodiesAssignment_5_1_1_1() { return cBodiesAssignment_5_1_1_1; } + public Assignment getBodiesAssignment_4_1_1_1() { return cBodiesAssignment_4_1_1_1; } //PatternBody - public RuleCall getBodiesPatternBodyParserRuleCall_5_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_5_1_1_1_0; } + public RuleCall getBodiesPatternBodyParserRuleCall_4_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_4_1_1_1_0; } //'.' - public Keyword getFullStopKeyword_6() { return cFullStopKeyword_6; } + public Keyword getFullStopKeyword_5() { return cFullStopKeyword_5; } } public class ParameterElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); @@ -946,92 +886,116 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } public class ConstraintElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Constraint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cPolarityAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cPolarityPolarityParserRuleCall_0_0 = (RuleCall)cPolarityAssignment_0.eContents().get(0); - private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); - private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); - private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0); - private final Assignment cParamsAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1); - private final RuleCall cParamsLiteralParserRuleCall_2_0_1_0 = (RuleCall)cParamsAssignment_2_0_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2); - private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1); - private final Assignment cClosureTypeAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0); - private final RuleCall cClosureTypeClosureTypeParserRuleCall_2_1_0_0 = (RuleCall)cClosureTypeAssignment_2_1_0.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1); - private final Assignment cParamsAssignment_2_1_2 = (Assignment)cGroup_2_1.eContents().get(2); - private final RuleCall cParamsLiteralParserRuleCall_2_1_2_0 = (RuleCall)cParamsAssignment_2_1_2.eContents().get(0); - private final Assignment cParamsAssignment_2_1_3 = (Assignment)cGroup_2_1.eContents().get(3); - private final RuleCall cParamsLiteralParserRuleCall_2_1_3_0 = (RuleCall)cParamsAssignment_2_1_3.eContents().get(0); - private final Keyword cRightParenthesisKeyword_2_1_4 = (Keyword)cGroup_2_1.eContents().get(4); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Assignment cPolarityAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); + private final RuleCall cPolarityPolarityParserRuleCall_0_0_0 = (RuleCall)cPolarityAssignment_0_0.eContents().get(0); + private final Assignment cSymbolAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final RuleCall cSymbolModelSymbolParserRuleCall_0_1_0 = (RuleCall)cSymbolAssignment_0_1.eContents().get(0); + private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2); + private final Keyword cLeftParenthesisKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0); + private final Assignment cParamsAssignment_0_2_1 = (Assignment)cGroup_0_2.eContents().get(1); + private final RuleCall cParamsLiteralParserRuleCall_0_2_1_0 = (RuleCall)cParamsAssignment_0_2_1.eContents().get(0); + private final Group cGroup_0_2_2 = (Group)cGroup_0_2.eContents().get(2); + private final Keyword cCommaKeyword_0_2_2_0 = (Keyword)cGroup_0_2_2.eContents().get(0); + private final Assignment cParamsAssignment_0_2_2_1 = (Assignment)cGroup_0_2_2.eContents().get(1); + private final RuleCall cParamsLiteralParserRuleCall_0_2_2_1_0 = (RuleCall)cParamsAssignment_0_2_2_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_0_2_3 = (Keyword)cGroup_0_2.eContents().get(3); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Assignment cClosureTypeAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); + private final RuleCall cClosureTypeClosureTypeParserRuleCall_1_0_0 = (RuleCall)cClosureTypeAssignment_1_0.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cParamsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cParamsLiteralParserRuleCall_1_2_0 = (RuleCall)cParamsAssignment_1_2.eContents().get(0); + private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3); + private final Keyword cCommaKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0); + private final Assignment cParamsAssignment_1_3_1 = (Assignment)cGroup_1_3.eContents().get(1); + private final RuleCall cParamsLiteralParserRuleCall_1_3_1_0 = (RuleCall)cParamsAssignment_1_3_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4); //Constraint: - // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal - // params+=Literal ')'); + // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType + // '(' params+=Literal? (',' params+=Literal)* ')'; @Override public ParserRule getRule() { return rule; } - //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal - //params+=Literal ')') - public Group getGroup() { return cGroup; } + //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType '(' + //params+=Literal? (',' params+=Literal)* ')' + public Alternatives getAlternatives() { return cAlternatives; } + + //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? + public Group getGroup_0() { return cGroup_0; } //polarity=Polarity? - public Assignment getPolarityAssignment_0() { return cPolarityAssignment_0; } + public Assignment getPolarityAssignment_0_0() { return cPolarityAssignment_0_0; } //Polarity - public RuleCall getPolarityPolarityParserRuleCall_0_0() { return cPolarityPolarityParserRuleCall_0_0; } + public RuleCall getPolarityPolarityParserRuleCall_0_0_0() { return cPolarityPolarityParserRuleCall_0_0_0; } //symbol=ModelSymbol - public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } + public Assignment getSymbolAssignment_0_1() { return cSymbolAssignment_0_1; } //ModelSymbol - public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } + public RuleCall getSymbolModelSymbolParserRuleCall_0_1_0() { return cSymbolModelSymbolParserRuleCall_0_1_0; } - //'(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal params+=Literal ')' - public Alternatives getAlternatives_2() { return cAlternatives_2; } - - //'(' params+=Literal* ')' - public Group getGroup_2_0() { return cGroup_2_0; } + //('(' params+=Literal? (',' params+=Literal)* ')')? + public Group getGroup_0_2() { return cGroup_0_2; } //'(' - public Keyword getLeftParenthesisKeyword_2_0_0() { return cLeftParenthesisKeyword_2_0_0; } + public Keyword getLeftParenthesisKeyword_0_2_0() { return cLeftParenthesisKeyword_0_2_0; } - //params+=Literal* - public Assignment getParamsAssignment_2_0_1() { return cParamsAssignment_2_0_1; } + //params+=Literal? + public Assignment getParamsAssignment_0_2_1() { return cParamsAssignment_0_2_1; } //Literal - public RuleCall getParamsLiteralParserRuleCall_2_0_1_0() { return cParamsLiteralParserRuleCall_2_0_1_0; } + public RuleCall getParamsLiteralParserRuleCall_0_2_1_0() { return cParamsLiteralParserRuleCall_0_2_1_0; } + + //(',' params+=Literal)* + public Group getGroup_0_2_2() { return cGroup_0_2_2; } + + //',' + public Keyword getCommaKeyword_0_2_2_0() { return cCommaKeyword_0_2_2_0; } + + //params+=Literal + public Assignment getParamsAssignment_0_2_2_1() { return cParamsAssignment_0_2_2_1; } + + //Literal + public RuleCall getParamsLiteralParserRuleCall_0_2_2_1_0() { return cParamsLiteralParserRuleCall_0_2_2_1_0; } //')' - public Keyword getRightParenthesisKeyword_2_0_2() { return cRightParenthesisKeyword_2_0_2; } + public Keyword getRightParenthesisKeyword_0_2_3() { return cRightParenthesisKeyword_0_2_3; } - //closureType=ClosureType '(' params+=Literal params+=Literal ')' - public Group getGroup_2_1() { return cGroup_2_1; } + //closureType=ClosureType '(' params+=Literal? (',' params+=Literal)* ')' + public Group getGroup_1() { return cGroup_1; } //closureType=ClosureType - public Assignment getClosureTypeAssignment_2_1_0() { return cClosureTypeAssignment_2_1_0; } + public Assignment getClosureTypeAssignment_1_0() { return cClosureTypeAssignment_1_0; } //ClosureType - public RuleCall getClosureTypeClosureTypeParserRuleCall_2_1_0_0() { return cClosureTypeClosureTypeParserRuleCall_2_1_0_0; } + public RuleCall getClosureTypeClosureTypeParserRuleCall_1_0_0() { return cClosureTypeClosureTypeParserRuleCall_1_0_0; } //'(' - public Keyword getLeftParenthesisKeyword_2_1_1() { return cLeftParenthesisKeyword_2_1_1; } + public Keyword getLeftParenthesisKeyword_1_1() { return cLeftParenthesisKeyword_1_1; } - //params+=Literal - public Assignment getParamsAssignment_2_1_2() { return cParamsAssignment_2_1_2; } + //params+=Literal? + public Assignment getParamsAssignment_1_2() { return cParamsAssignment_1_2; } //Literal - public RuleCall getParamsLiteralParserRuleCall_2_1_2_0() { return cParamsLiteralParserRuleCall_2_1_2_0; } + public RuleCall getParamsLiteralParserRuleCall_1_2_0() { return cParamsLiteralParserRuleCall_1_2_0; } + + //(',' params+=Literal)* + public Group getGroup_1_3() { return cGroup_1_3; } + + //',' + public Keyword getCommaKeyword_1_3_0() { return cCommaKeyword_1_3_0; } //params+=Literal - public Assignment getParamsAssignment_2_1_3() { return cParamsAssignment_2_1_3; } + public Assignment getParamsAssignment_1_3_1() { return cParamsAssignment_1_3_1; } //Literal - public RuleCall getParamsLiteralParserRuleCall_2_1_3_0() { return cParamsLiteralParserRuleCall_2_1_3_0; } + public RuleCall getParamsLiteralParserRuleCall_1_3_1_0() { return cParamsLiteralParserRuleCall_1_3_1_0; } //')' - public Keyword getRightParenthesisKeyword_2_1_4() { return cRightParenthesisKeyword_2_1_4; } + public Keyword getRightParenthesisKeyword_1_4() { return cRightParenthesisKeyword_1_4; } } public class ClosureTypeElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); @@ -1073,12 +1037,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cDataObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cNamedObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //Literal: - // Variable | DataObject; + // Variable | DataObject | NamedObject; @Override public ParserRule getRule() { return rule; } - //Variable | DataObject + //Variable | DataObject | NamedObject public Alternatives getAlternatives() { return cAlternatives; } //Variable @@ -1086,6 +1051,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //DataObject public RuleCall getDataObjectParserRuleCall_1() { return cDataObjectParserRuleCall_1; } + + //NamedObject + public RuleCall getNamedObjectParserRuleCall_2() { return cNamedObjectParserRuleCall_2; } } public class VariableElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); @@ -1217,16 +1185,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); //ClassInterpretation: - // abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' + // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' // fielt+=FieldRelationInterpretation* // '}'; @Override public ParserRule getRule() { return rule; } - //abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' + //abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' //fielt+=FieldRelationInterpretation* '}' public Group getGroup() { return cGroup; } - //abstract?='abstract' + //abstract?='abstract'? public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } //'abstract' @@ -1318,13 +1286,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cTargetSymbolParserRuleCall_4_0 = (RuleCall)cTargetAssignment_4.eContents().get(0); //FieldRelationInterpretation: - // containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; + // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; @Override public ParserRule getRule() { return rule; } - //containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol + //containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol public Group getGroup() { return cGroup; } - //containment?='containment' + //containment?='containment'? public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } //'containment' @@ -1370,15 +1338,15 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cTargetSymbolParserRuleCall_7_0 = (RuleCall)cTargetAssignment_7.eContents().get(0); //GlobalRelationInterpretation: - // containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol - // targetMultiplicity=MultiplicityDefinition? target=Symbol; + // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? + // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol; @Override public ParserRule getRule() { return rule; } - //containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol + //containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol //targetMultiplicity=MultiplicityDefinition? target=Symbol public Group getGroup() { return cGroup; } - //containment?='containment' + //containment?='containment'? public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } //'containment' @@ -1494,8 +1462,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RealObjectElements pRealObject; private final StringObjectElements pStringObject; private final PredicateElements pPredicate; - private final PredicateSymbolElements pPredicateSymbol; - private final ErrorPredicateElements pErrorPredicate; private final ParameterElements pParameter; private final PatternBodyElements pPatternBody; private final PolarityElements pPolarity; @@ -1551,8 +1517,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { this.pRealObject = new RealObjectElements(); this.pStringObject = new StringObjectElements(); this.pPredicate = new PredicateElements(); - this.pPredicateSymbol = new PredicateSymbolElements(); - this.pErrorPredicate = new ErrorPredicateElements(); this.pParameter = new ParameterElements(); this.pPatternBody = new PatternBodyElements(); this.pPolarity = new PolarityElements(); @@ -1679,7 +1643,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //BasicInterpretation: - // symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue; + // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue; public BasicInterpretationElements getBasicInterpretationAccess() { return pBasicInterpretation; } @@ -1882,7 +1846,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //// Predicte grammar ///////////////////// //Predicate: - // PredicateSymbol | ErrorPredicate; + // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' | + // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.'; public PredicateElements getPredicateAccess() { return pPredicate; } @@ -1891,28 +1856,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getPredicateAccess().getRule(); } - //PredicateSymbol: - // 'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|' - // bodies+=PatternBody)*) '.'; - public PredicateSymbolElements getPredicateSymbolAccess() { - return pPredicateSymbol; - } - - public ParserRule getPredicateSymbolRule() { - return getPredicateSymbolAccess().getRule(); - } - - //ErrorPredicate: - // {ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|' - // bodies+=PatternBody)*) '.'; - public ErrorPredicateElements getErrorPredicateAccess() { - return pErrorPredicate; - } - - public ParserRule getErrorPredicateRule() { - return getErrorPredicateAccess().getRule(); - } - //Parameter: // variable=Variable (':' type=Symbol)?; public ParameterElements getParameterAccess() { @@ -1944,8 +1887,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Constraint: - // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal - // params+=Literal ')'); + // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType + // '(' params+=Literal? (',' params+=Literal)* ')'; public ConstraintElements getConstraintAccess() { return pConstraint; } @@ -1965,7 +1908,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Literal: - // Variable | DataObject; + // Variable | DataObject | NamedObject; public LiteralElements getLiteralAccess() { return pLiteral; } @@ -2034,7 +1977,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //ClassInterpretation: - // abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' + // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' // fielt+=FieldRelationInterpretation* // '}'; public ClassInterpretationElements getClassInterpretationAccess() { @@ -2056,7 +1999,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //FieldRelationInterpretation: - // containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; + // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; public FieldRelationInterpretationElements getFieldRelationInterpretationAccess() { return pFieldRelationInterpretation; } @@ -2066,8 +2009,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //GlobalRelationInterpretation: - // containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol - // targetMultiplicity=MultiplicityDefinition? target=Symbol; + // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? + // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol; public GlobalRelationInterpretationElements getGlobalRelationInterpretationAccess() { return pGlobalRelationInterpretation; } diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java index a6deaea8..b44ef060 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java @@ -20,7 +20,7 @@ package org.eclipse.viatra.solver.language.solverLanguage; * @model * @generated */ -public interface NamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object +public interface NamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal { /** * Returns the value of the 'Name' attribute. diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java index fc61ea86..7892fd57 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java @@ -14,6 +14,8 @@ import org.eclipse.emf.common.util.EList; * The following features are supported: *

*
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError Is Error}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol Symbol}
  • *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters Parameters}
  • *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies Bodies}
  • *
@@ -24,6 +26,50 @@ import org.eclipse.emf.common.util.EList; */ public interface Predicate extends Statement { + /** + * Returns the value of the 'Is Error' attribute. + * + * + * @return the value of the 'Is Error' attribute. + * @see #setIsError(boolean) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_IsError() + * @model + * @generated + */ + boolean isIsError(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError Is Error}' attribute. + * + * + * @param value the new value of the 'Is Error' attribute. + * @see #isIsError() + * @generated + */ + void setIsError(boolean value); + + /** + * Returns the value of the 'Symbol' containment reference. + * + * + * @return the value of the 'Symbol' containment reference. + * @see #setSymbol(ModelSymbol) + * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Symbol() + * @model containment="true" + * @generated + */ + ModelSymbol getSymbol(); + + /** + * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol Symbol}' containment reference. + * + * + * @param value the new value of the 'Symbol' containment reference. + * @see #getSymbol() + * @generated + */ + void setSymbol(ModelSymbol value); + /** * Returns the value of the 'Parameters' containment reference list. * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter}. 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 ebe2abdb..c5d4cbff 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 @@ -257,24 +257,6 @@ public interface SolverLanguageFactory extends EFactory */ Predicate createPredicate(); - /** - * Returns a new object of class 'Predicate Symbol'. - * - * - * @return a new object of class 'Predicate Symbol'. - * @generated - */ - PredicateSymbol createPredicateSymbol(); - - /** - * Returns a new object of class 'Error Predicate'. - * - * - * @return a new object of class 'Error Predicate'. - * @generated - */ - ErrorPredicate createErrorPredicate(); - /** * Returns a new object of class 'Parameter'. * 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 3bd01417..9767d002 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 @@ -642,59 +642,13 @@ public interface SolverLanguagePackage extends EPackage int PREDICATE = 25; /** - * The feature id for the 'Parameters' containment reference list. - * - * - * @generated - * @ordered - */ - int PREDICATE__PARAMETERS = STATEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Bodies' containment reference list. - * - * - * @generated - * @ordered - */ - int PREDICATE__BODIES = STATEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Predicate' class. - * - * - * @generated - * @ordered - */ - int PREDICATE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl Predicate Symbol}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateSymbol() - * @generated - */ - int PREDICATE_SYMBOL = 26; - - /** - * The feature id for the 'Parameters' containment reference list. + * The feature id for the 'Is Error' attribute. * * * @generated * @ordered */ - int PREDICATE_SYMBOL__PARAMETERS = PREDICATE__PARAMETERS; - - /** - * The feature id for the 'Bodies' containment reference list. - * - * - * @generated - * @ordered - */ - int PREDICATE_SYMBOL__BODIES = PREDICATE__BODIES; + int PREDICATE__IS_ERROR = STATEMENT_FEATURE_COUNT + 0; /** * The feature id for the 'Symbol' containment reference. @@ -703,26 +657,7 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int PREDICATE_SYMBOL__SYMBOL = PREDICATE_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Predicate Symbol' class. - * - * - * @generated - * @ordered - */ - int PREDICATE_SYMBOL_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl Error Predicate}' class. - * - * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getErrorPredicate() - * @generated - */ - int ERROR_PREDICATE = 27; + int PREDICATE__SYMBOL = STATEMENT_FEATURE_COUNT + 1; /** * The feature id for the 'Parameters' containment reference list. @@ -731,7 +666,7 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int ERROR_PREDICATE__PARAMETERS = PREDICATE__PARAMETERS; + int PREDICATE__PARAMETERS = STATEMENT_FEATURE_COUNT + 2; /** * The feature id for the 'Bodies' containment reference list. @@ -740,25 +675,16 @@ public interface SolverLanguagePackage extends EPackage * @generated * @ordered */ - int ERROR_PREDICATE__BODIES = PREDICATE__BODIES; + int PREDICATE__BODIES = STATEMENT_FEATURE_COUNT + 3; /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int ERROR_PREDICATE__NAME = PREDICATE_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Error Predicate' class. + * The number of structural features of the 'Predicate' class. * * * @generated * @ordered */ - int ERROR_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; + int PREDICATE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; /** * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl Parameter}' class. @@ -768,7 +694,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter() * @generated */ - int PARAMETER = 28; + int PARAMETER = 26; /** * The feature id for the 'Variable' containment reference. @@ -805,7 +731,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody() * @generated */ - int PATTERN_BODY = 29; + int PATTERN_BODY = 27; /** * The feature id for the 'Constraints' containment reference list. @@ -833,7 +759,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity() * @generated */ - int POLARITY = 30; + int POLARITY = 28; /** * The number of structural features of the 'Polarity' class. @@ -852,7 +778,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint() * @generated */ - int CONSTRAINT = 31; + int CONSTRAINT = 29; /** * The feature id for the 'Polarity' containment reference. @@ -907,7 +833,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType() * @generated */ - int CLOSURE_TYPE = 32; + int CLOSURE_TYPE = 30; /** * The number of structural features of the 'Closure Type' class. @@ -926,7 +852,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() * @generated */ - int LITERAL = 33; + int LITERAL = 31; /** * The number of structural features of the 'Literal' class. @@ -945,7 +871,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() * @generated */ - int VARIABLE = 34; + int VARIABLE = 32; /** * The feature id for the 'Name' attribute. @@ -973,7 +899,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances() * @generated */ - int ALL_INSTANCES = 35; + int ALL_INSTANCES = 33; /** * The feature id for the 'Symbol' containment reference. @@ -1001,7 +927,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects() * @generated */ - int ALL_OBJECTS = 36; + int ALL_OBJECTS = 34; /** * The number of structural features of the 'All Objects' class. @@ -1020,7 +946,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation() * @generated */ - int DEFAULT_INTERPRETATION = 37; + int DEFAULT_INTERPRETATION = 35; /** * The feature id for the 'Interpretation' containment reference. @@ -1048,7 +974,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation() * @generated */ - int CD_INTERPRETATION = 38; + int CD_INTERPRETATION = 36; /** * The number of structural features of the 'CD Interpretation' class. @@ -1067,7 +993,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation() * @generated */ - int CLASS_INTERPRETATION = 39; + int CLASS_INTERPRETATION = 37; /** * The feature id for the 'Abstract' attribute. @@ -1122,7 +1048,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation() * @generated */ - int ENUM_INTERPRETATION = 40; + int ENUM_INTERPRETATION = 38; /** * The feature id for the 'Symbol' containment reference. @@ -1159,7 +1085,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation() * @generated */ - int FIELD_RELATION_INTERPRETATION = 41; + int FIELD_RELATION_INTERPRETATION = 39; /** * The feature id for the 'Containment' attribute. @@ -1214,7 +1140,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation() * @generated */ - int GLOBAL_RELATION_INTERPRETATION = 42; + int GLOBAL_RELATION_INTERPRETATION = 40; /** * The feature id for the 'Containment' attribute. @@ -1287,7 +1213,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition() * @generated */ - int MULTIPLICITY_DEFINITION = 43; + int MULTIPLICITY_DEFINITION = 41; /** * The feature id for the 'Lower' attribute. @@ -1333,7 +1259,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue() * @generated */ - int BOOLEAN_TRUE = 44; + int BOOLEAN_TRUE = 42; /** * The number of structural features of the 'Boolean True' class. @@ -1352,7 +1278,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse() * @generated */ - int BOOLEAN_FALSE = 45; + int BOOLEAN_FALSE = 43; /** * The number of structural features of the 'Boolean False' class. @@ -1371,7 +1297,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue() * @generated */ - int TRUE = 46; + int TRUE = 44; /** * The number of structural features of the 'True' class. @@ -1390,7 +1316,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse() * @generated */ - int FALSE = 47; + int FALSE = 45; /** * The number of structural features of the 'False' class. @@ -1409,7 +1335,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown() * @generated */ - int UNKNOWN = 48; + int UNKNOWN = 46; /** * The number of structural features of the 'Unknown' class. @@ -1428,7 +1354,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError() * @generated */ - int ERROR = 49; + int ERROR = 47; /** * The number of structural features of the 'Error' class. @@ -1447,7 +1373,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive() * @generated */ - int POSITIVE = 50; + int POSITIVE = 48; /** * The number of structural features of the 'Positive' class. @@ -1466,7 +1392,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative() * @generated */ - int NEGATIVE = 51; + int NEGATIVE = 49; /** * The number of structural features of the 'Negative' class. @@ -1485,7 +1411,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure() * @generated */ - int REFLEXIVE_CLOSURE = 52; + int REFLEXIVE_CLOSURE = 50; /** * The number of structural features of the 'Reflexive Closure' class. @@ -1504,7 +1430,7 @@ public interface SolverLanguagePackage extends EPackage * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure() * @generated */ - int IRREFLEXIVE_CLOSURE = 53; + int IRREFLEXIVE_CLOSURE = 51; /** * The number of structural features of the 'Irreflexive Closure' class. @@ -1898,68 +1824,48 @@ public interface SolverLanguagePackage extends EPackage EClass getPredicate(); /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters Parameters}'. + * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError Is Error}'. * * - * @return the meta object for the containment reference list 'Parameters'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters() + * @return the meta object for the attribute 'Is Error'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError() * @see #getPredicate() * @generated */ - EReference getPredicate_Parameters(); + EAttribute getPredicate_IsError(); /** - * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies Bodies}'. - * - * - * @return the meta object for the containment reference list 'Bodies'. - * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies() - * @see #getPredicate() - * @generated - */ - EReference getPredicate_Bodies(); - - /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol Predicate Symbol}'. - * - * - * @return the meta object for class 'Predicate Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol - * @generated - */ - EClass getPredicateSymbol(); - - /** - * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol#getSymbol Symbol}'. + * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol Symbol}'. * * * @return the meta object for the containment reference 'Symbol'. - * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol#getSymbol() - * @see #getPredicateSymbol() + * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol() + * @see #getPredicate() * @generated */ - EReference getPredicateSymbol_Symbol(); + EReference getPredicate_Symbol(); /** - * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate Error Predicate}'. + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters Parameters}'. * * - * @return the meta object for class 'Error Predicate'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate + * @return the meta object for the containment reference list 'Parameters'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters() + * @see #getPredicate() * @generated */ - EClass getErrorPredicate(); + EReference getPredicate_Parameters(); /** - * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate#getName Name}'. + * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies Bodies}'. * * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate#getName() - * @see #getErrorPredicate() + * @return the meta object for the containment reference list 'Bodies'. + * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies() + * @see #getPredicate() * @generated */ - EAttribute getErrorPredicate_Name(); + EReference getPredicate_Bodies(); /** * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter Parameter}'. @@ -2912,30 +2818,12 @@ public interface SolverLanguagePackage extends EPackage EClass PREDICATE = eINSTANCE.getPredicate(); /** - * The meta object literal for the 'Parameters' containment reference list feature. - * - * - * @generated - */ - EReference PREDICATE__PARAMETERS = eINSTANCE.getPredicate_Parameters(); - - /** - * The meta object literal for the 'Bodies' containment reference list feature. - * - * - * @generated - */ - EReference PREDICATE__BODIES = eINSTANCE.getPredicate_Bodies(); - - /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl Predicate Symbol}' class. + * The meta object literal for the 'Is Error' attribute feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateSymbol() * @generated */ - EClass PREDICATE_SYMBOL = eINSTANCE.getPredicateSymbol(); + EAttribute PREDICATE__IS_ERROR = eINSTANCE.getPredicate_IsError(); /** * The meta object literal for the 'Symbol' containment reference feature. @@ -2943,25 +2831,23 @@ public interface SolverLanguagePackage extends EPackage * * @generated */ - EReference PREDICATE_SYMBOL__SYMBOL = eINSTANCE.getPredicateSymbol_Symbol(); + EReference PREDICATE__SYMBOL = eINSTANCE.getPredicate_Symbol(); /** - * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl Error Predicate}' class. + * The meta object literal for the 'Parameters' containment reference list feature. * * - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl - * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getErrorPredicate() * @generated */ - EClass ERROR_PREDICATE = eINSTANCE.getErrorPredicate(); + EReference PREDICATE__PARAMETERS = eINSTANCE.getPredicate_Parameters(); /** - * The meta object literal for the 'Name' attribute feature. + * The meta object literal for the 'Bodies' containment reference list feature. * * * @generated */ - EAttribute ERROR_PREDICATE__NAME = eINSTANCE.getErrorPredicate_Name(); + EReference PREDICATE__BODIES = eINSTANCE.getPredicate_Bodies(); /** * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl Parameter}' class. diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java index 947d74bb..d3c7366d 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java @@ -5,6 +5,7 @@ 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; @@ -12,9 +13,12 @@ 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.InternalEList; +import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol; import org.eclipse.viatra.solver.language.solverLanguage.Parameter; import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; import org.eclipse.viatra.solver.language.solverLanguage.Predicate; @@ -28,6 +32,8 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; * The following features are implemented: *

*
    + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#isIsError Is Error}
  • + *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getSymbol Symbol}
  • *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getParameters Parameters}
  • *
  • {@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getBodies Bodies}
  • *
@@ -36,6 +42,36 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; */ public class PredicateImpl extends StatementImpl implements Predicate { + /** + * The default value of the '{@link #isIsError() Is Error}' attribute. + * + * + * @see #isIsError() + * @generated + * @ordered + */ + protected static final boolean IS_ERROR_EDEFAULT = false; + + /** + * The cached value of the '{@link #isIsError() Is Error}' attribute. + * + * + * @see #isIsError() + * @generated + * @ordered + */ + protected boolean isError = IS_ERROR_EDEFAULT; + + /** + * The cached value of the '{@link #getSymbol() Symbol}' containment reference. + * + * + * @see #getSymbol() + * @generated + * @ordered + */ + protected ModelSymbol symbol; + /** * The cached value of the '{@link #getParameters() Parameters}' containment reference list. * @@ -77,6 +113,81 @@ public class PredicateImpl extends StatementImpl implements Predicate return SolverLanguagePackage.Literals.PREDICATE; } + /** + * + * + * @generated + */ + @Override + public boolean isIsError() + { + return isError; + } + + /** + * + * + * @generated + */ + @Override + public void setIsError(boolean newIsError) + { + boolean oldIsError = isError; + isError = newIsError; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__IS_ERROR, oldIsError, isError)); + } + + /** + * + * + * @generated + */ + @Override + public ModelSymbol getSymbol() + { + return symbol; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs) + { + ModelSymbol oldSymbol = symbol; + symbol = newSymbol; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, oldSymbol, newSymbol); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setSymbol(ModelSymbol newSymbol) + { + if (newSymbol != symbol) + { + NotificationChain msgs = null; + if (symbol != null) + msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs); + if (newSymbol != null) + msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs); + msgs = basicSetSymbol(newSymbol, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, newSymbol, newSymbol)); + } + /** * * @@ -117,6 +228,8 @@ public class PredicateImpl extends StatementImpl implements Predicate { switch (featureID) { + case SolverLanguagePackage.PREDICATE__SYMBOL: + return basicSetSymbol(null, msgs); case SolverLanguagePackage.PREDICATE__PARAMETERS: return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); case SolverLanguagePackage.PREDICATE__BODIES: @@ -135,6 +248,10 @@ public class PredicateImpl extends StatementImpl implements Predicate { switch (featureID) { + case SolverLanguagePackage.PREDICATE__IS_ERROR: + return isIsError(); + case SolverLanguagePackage.PREDICATE__SYMBOL: + return getSymbol(); case SolverLanguagePackage.PREDICATE__PARAMETERS: return getParameters(); case SolverLanguagePackage.PREDICATE__BODIES: @@ -154,6 +271,12 @@ public class PredicateImpl extends StatementImpl implements Predicate { switch (featureID) { + case SolverLanguagePackage.PREDICATE__IS_ERROR: + setIsError((Boolean)newValue); + return; + case SolverLanguagePackage.PREDICATE__SYMBOL: + setSymbol((ModelSymbol)newValue); + return; case SolverLanguagePackage.PREDICATE__PARAMETERS: getParameters().clear(); getParameters().addAll((Collection)newValue); @@ -176,6 +299,12 @@ public class PredicateImpl extends StatementImpl implements Predicate { switch (featureID) { + case SolverLanguagePackage.PREDICATE__IS_ERROR: + setIsError(IS_ERROR_EDEFAULT); + return; + case SolverLanguagePackage.PREDICATE__SYMBOL: + setSymbol((ModelSymbol)null); + return; case SolverLanguagePackage.PREDICATE__PARAMETERS: getParameters().clear(); return; @@ -196,6 +325,10 @@ public class PredicateImpl extends StatementImpl implements Predicate { switch (featureID) { + case SolverLanguagePackage.PREDICATE__IS_ERROR: + return isError != IS_ERROR_EDEFAULT; + case SolverLanguagePackage.PREDICATE__SYMBOL: + return symbol != null; case SolverLanguagePackage.PREDICATE__PARAMETERS: return parameters != null && !parameters.isEmpty(); case SolverLanguagePackage.PREDICATE__BODIES: @@ -204,4 +337,21 @@ public class PredicateImpl extends StatementImpl implements Predicate return super.eIsSet(featureID); } + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (isError: "); + result.append(isError); + result.append(')'); + return result.toString(); + } + } //PredicateImpl 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 12ffc551..5cb1dcdc 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 @@ -29,7 +29,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate; import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; import org.eclipse.viatra.solver.language.solverLanguage.False; import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; @@ -49,7 +48,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; import org.eclipse.viatra.solver.language.solverLanguage.Polarity; import org.eclipse.viatra.solver.language.solverLanguage.Positive; import org.eclipse.viatra.solver.language.solverLanguage.Predicate; -import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol; import org.eclipse.viatra.solver.language.solverLanguage.Problem; import org.eclipse.viatra.solver.language.solverLanguage.RealObject; import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; @@ -144,8 +142,6 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan case SolverLanguagePackage.REAL_OBJECT: return createRealObject(); case SolverLanguagePackage.STRING_OBJECT: return createStringObject(); case SolverLanguagePackage.PREDICATE: return createPredicate(); - case SolverLanguagePackage.PREDICATE_SYMBOL: return createPredicateSymbol(); - case SolverLanguagePackage.ERROR_PREDICATE: return createErrorPredicate(); case SolverLanguagePackage.PARAMETER: return createParameter(); case SolverLanguagePackage.PATTERN_BODY: return createPatternBody(); case SolverLanguagePackage.POLARITY: return createPolarity(); @@ -489,30 +485,6 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan return predicate; } - /** - * - * - * @generated - */ - @Override - public PredicateSymbol createPredicateSymbol() - { - PredicateSymbolImpl predicateSymbol = new PredicateSymbolImpl(); - return predicateSymbol; - } - - /** - * - * - * @generated - */ - @Override - public ErrorPredicate createErrorPredicate() - { - ErrorPredicateImpl errorPredicate = new ErrorPredicateImpl(); - return errorPredicate; - } - /** * * 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 9e5d391b..f617be3f 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 @@ -28,7 +28,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate; import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; import org.eclipse.viatra.solver.language.solverLanguage.False; import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; @@ -48,7 +47,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; import org.eclipse.viatra.solver.language.solverLanguage.Polarity; import org.eclipse.viatra.solver.language.solverLanguage.Positive; import org.eclipse.viatra.solver.language.solverLanguage.Predicate; -import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol; import org.eclipse.viatra.solver.language.solverLanguage.Problem; import org.eclipse.viatra.solver.language.solverLanguage.RealObject; import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; @@ -255,20 +253,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan */ private EClass predicateEClass = null; - /** - * - * - * @generated - */ - private EClass predicateSymbolEClass = null; - - /** - * - * - * @generated - */ - private EClass errorPredicateEClass = null; - /** * * @@ -927,9 +911,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getPredicate_Parameters() + public EAttribute getPredicate_IsError() { - return (EReference)predicateEClass.getEStructuralFeatures().get(0); + return (EAttribute)predicateEClass.getEStructuralFeatures().get(0); } /** @@ -938,7 +922,7 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EReference getPredicate_Bodies() + public EReference getPredicate_Symbol() { return (EReference)predicateEClass.getEStructuralFeatures().get(1); } @@ -949,31 +933,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EClass getPredicateSymbol() - { - return predicateSymbolEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getPredicateSymbol_Symbol() - { - return (EReference)predicateSymbolEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getErrorPredicate() + public EReference getPredicate_Parameters() { - return errorPredicateEClass; + return (EReference)predicateEClass.getEStructuralFeatures().get(2); } /** @@ -982,9 +944,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan * @generated */ @Override - public EAttribute getErrorPredicate_Name() + public EReference getPredicate_Bodies() { - return (EAttribute)errorPredicateEClass.getEStructuralFeatures().get(0); + return (EReference)predicateEClass.getEStructuralFeatures().get(3); } /** @@ -1685,15 +1647,11 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan createEAttribute(stringObjectEClass, STRING_OBJECT__VALUE); predicateEClass = createEClass(PREDICATE); + createEAttribute(predicateEClass, PREDICATE__IS_ERROR); + createEReference(predicateEClass, PREDICATE__SYMBOL); createEReference(predicateEClass, PREDICATE__PARAMETERS); createEReference(predicateEClass, PREDICATE__BODIES); - predicateSymbolEClass = createEClass(PREDICATE_SYMBOL); - createEReference(predicateSymbolEClass, PREDICATE_SYMBOL__SYMBOL); - - errorPredicateEClass = createEClass(ERROR_PREDICATE); - createEAttribute(errorPredicateEClass, ERROR_PREDICATE__NAME); - parameterEClass = createEClass(PARAMETER); createEReference(parameterEClass, PARAMETER__VARIABLE); createEReference(parameterEClass, PARAMETER__TYPE); @@ -1818,6 +1776,7 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan stringSymbolEClass.getESuperTypes().add(this.getDataSymbol()); objectEClass.getESuperTypes().add(this.getComplexObject()); namedObjectEClass.getESuperTypes().add(this.getObject()); + namedObjectEClass.getESuperTypes().add(this.getLiteral()); unnamedObjectEClass.getESuperTypes().add(this.getObject()); dataObjectEClass.getESuperTypes().add(this.getObject()); dataObjectEClass.getESuperTypes().add(this.getLiteral()); @@ -1826,8 +1785,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan realObjectEClass.getESuperTypes().add(this.getDataObject()); stringObjectEClass.getESuperTypes().add(this.getDataObject()); predicateEClass.getESuperTypes().add(this.getStatement()); - predicateSymbolEClass.getESuperTypes().add(this.getPredicate()); - errorPredicateEClass.getESuperTypes().add(this.getPredicate()); variableEClass.getESuperTypes().add(this.getLiteral()); allInstancesEClass.getESuperTypes().add(this.getComplexObject()); allObjectsEClass.getESuperTypes().add(this.getComplexObject()); @@ -1910,15 +1867,11 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan initEAttribute(getStringObject_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getPredicate_IsError(), ecorePackage.getEBoolean(), "isError", null, 0, 1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPredicate_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getPredicate_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getPredicate_Bodies(), this.getPatternBody(), null, "bodies", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEClass(predicateSymbolEClass, PredicateSymbol.class, "PredicateSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getPredicateSymbol_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, PredicateSymbol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(errorPredicateEClass, ErrorPredicate.class, "ErrorPredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getErrorPredicate_Name(), ecorePackage.getEString(), "name", null, 0, 1, ErrorPredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getParameter_Variable(), this.getVariable(), null, "variable", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getParameter_Type(), this.getSymbol(), null, "type", null, 0, 1, Parameter.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/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java index e76e359a..9931598c 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 @@ -28,7 +28,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate; import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; import org.eclipse.viatra.solver.language.solverLanguage.False; import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; @@ -48,7 +47,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; import org.eclipse.viatra.solver.language.solverLanguage.Polarity; import org.eclipse.viatra.solver.language.solverLanguage.Positive; import org.eclipse.viatra.solver.language.solverLanguage.Predicate; -import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol; import org.eclipse.viatra.solver.language.solverLanguage.Problem; import org.eclipse.viatra.solver.language.solverLanguage.RealObject; import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; @@ -258,16 +256,6 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl return createPredicateAdapter(); } @Override - public Adapter casePredicateSymbol(PredicateSymbol object) - { - return createPredicateSymbolAdapter(); - } - @Override - public Adapter caseErrorPredicate(ErrorPredicate object) - { - return createErrorPredicateAdapter(); - } - @Override public Adapter caseParameter(Parameter object) { return createParameterAdapter(); @@ -809,36 +797,6 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl return null; } - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol Predicate Symbol}'. - * - * 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.PredicateSymbol - * @generated - */ - public Adapter createPredicateSymbolAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate Error Predicate}'. - * - * 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.ErrorPredicate - * @generated - */ - public Adapter createErrorPredicateAdapter() - { - return null; - } - /** * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter Parameter}'. * 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 9bc874e3..6f6bcd17 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 @@ -26,7 +26,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol; import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; -import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate; import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; import org.eclipse.viatra.solver.language.solverLanguage.False; import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; @@ -46,7 +45,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; import org.eclipse.viatra.solver.language.solverLanguage.Polarity; import org.eclipse.viatra.solver.language.solverLanguage.Positive; import org.eclipse.viatra.solver.language.solverLanguage.Predicate; -import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol; import org.eclipse.viatra.solver.language.solverLanguage.Problem; import org.eclipse.viatra.solver.language.solverLanguage.RealObject; import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; @@ -275,6 +273,7 @@ public class SolverLanguageSwitch extends Switch NamedObject namedObject = (NamedObject)theEObject; T result = caseNamedObject(namedObject); if (result == null) result = caseObject(namedObject); + if (result == null) result = caseLiteral(namedObject); if (result == null) result = caseComplexObject(namedObject); if (result == null) result = defaultCase(theEObject); return result; @@ -350,24 +349,6 @@ public class SolverLanguageSwitch extends Switch if (result == null) result = defaultCase(theEObject); return result; } - case SolverLanguagePackage.PREDICATE_SYMBOL: - { - PredicateSymbol predicateSymbol = (PredicateSymbol)theEObject; - T result = casePredicateSymbol(predicateSymbol); - if (result == null) result = casePredicate(predicateSymbol); - if (result == null) result = caseStatement(predicateSymbol); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SolverLanguagePackage.ERROR_PREDICATE: - { - ErrorPredicate errorPredicate = (ErrorPredicate)theEObject; - T result = caseErrorPredicate(errorPredicate); - if (result == null) result = casePredicate(errorPredicate); - if (result == null) result = caseStatement(errorPredicate); - if (result == null) result = defaultCase(theEObject); - return result; - } case SolverLanguagePackage.PARAMETER: { Parameter parameter = (Parameter)theEObject; @@ -996,38 +977,6 @@ public class SolverLanguageSwitch extends Switch return null; } - /** - * Returns the result of interpreting the object as an instance of 'Predicate Symbol'. - * - * 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 'Predicate Symbol'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T casePredicateSymbol(PredicateSymbol object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Error Predicate'. - * - * 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 'Error Predicate'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseErrorPredicate(ErrorPredicate object) - { - return null; - } - /** * Returns the result of interpreting the object as an instance of 'Parameter'. * diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext index 17a329ad..8a510a19 100644 --- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext +++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext @@ -18,7 +18,7 @@ TruthValue: {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} ' /////////////////// Interpretation: BasicInterpretation | DefaultInterpretation | CDInterpretation; -BasicInterpretation: symbol=Symbol '(' objects+=ComplexObject* ')' ':' value = TruthValue; +BasicInterpretation: symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value = TruthValue; Symbol: ModelSymbol | PartialitySymbol | DataSymbol; @@ -48,22 +48,20 @@ StringObject: value = STRING; /////////////////// // Predicte grammar /////////////////// -Predicate: PredicateSymbol | ErrorPredicate; -PredicateSymbol: - 'predicate' symbol = ModelSymbol '(' parameters += Parameter* ')' ':' ('false' | (bodies += PatternBody ('|' bodies += PatternBody)*)) '.' -; -ErrorPredicate: - {ErrorPredicate} 'error' (name = ID)? ('(' parameters += Parameter* ')') ':' ('false' | (bodies += PatternBody ('|' bodies += PatternBody)*)) '.' + +Predicate: + (isError?='error')? symbol = ModelSymbol ('(' (parameters += Parameter (',' parameters += Parameter)*)? ')')? ':-' ('false' | (bodies += PatternBody ('|' bodies += PatternBody)*)) '.' ; Parameter: variable = Variable (':' type = Symbol)?; PatternBody: {PatternBody} ('true' | constraints += Constraint*) ; Polarity: {Positive} '+' | {Negative} '-'; -Constraint: (polarity = Polarity)? symbol = ModelSymbol ( - ( '(' params += Literal* ')') | (closureType = ClosureType '(' params += Literal params += Literal ')')); - +Constraint: (polarity = Polarity)? symbol = ModelSymbol + (('(' params += Literal? (',' params += Literal)* ')')?) + | + (closureType=ClosureType '(' params += Literal? (',' params += Literal)* ')'); ClosureType: {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; -Literal: Variable | DataObject; +Literal: Variable | DataObject | NamedObject; Variable: name = ID; /////////////////// @@ -83,13 +81,13 @@ DefaultInterpretation: 'default' interpretation = BasicInterpretation; /////////////////// CDInterpretation: ClassInterpretation | EnumInterpretation| GlobalRelationInterpretation; ClassInterpretation: - abstract?='abstract' 'class' symbol = ModelSymbol ('extends' supertypes += ModelSymbol+)?'{' + (abstract?='abstract')? 'class' symbol = ModelSymbol ('extends' supertypes += ModelSymbol+)?'{' fielt += FieldRelationInterpretation* '}' ; EnumInterpretation: 'enum' Symbol = ModelSymbol '{' objects+=NamedObject+ '}'; -FieldRelationInterpretation: containment ?= 'containment' symbol = ModelSymbol ':' multiplicity = MultiplicityDefinition? target = Symbol; -GlobalRelationInterpretation: containment ?= 'containment' 'relation' symbol = ModelSymbol ':' sourceMultiplicity = MultiplicityDefinition? source = Symbol targetMultiplicity = MultiplicityDefinition? target = Symbol; +FieldRelationInterpretation: (containment ?= 'containment')? symbol = ModelSymbol ':' multiplicity = MultiplicityDefinition? target = Symbol; +GlobalRelationInterpretation: (containment ?= 'containment')? 'relation' symbol = ModelSymbol ':' sourceMultiplicity = MultiplicityDefinition? source = Symbol targetMultiplicity = MultiplicityDefinition? target = Symbol; MultiplicityDefinition: lower = INT '..' (upper = INT | unlimitedUpper?='*'); ////SymbolIntroduction : Type | GlobalRelation | Predicate; -- cgit v1.2.3-54-g00ecf