/* * generated by Xtext 2.18.0.M3 */ grammar InternalSolverLanguage; options { superClass=AbstractInternalContentAssistParser; } @lexer::header { package org.eclipse.viatra.solver.language.ide.contentassist.antlr.internal; // Hack: Use our own Lexer superclass by means of import. // Currently there is no other way to specify the superclass for the lexer. import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; } @parser::header { package org.eclipse.viatra.solver.language.ide.contentassist.antlr.internal; import java.io.InputStream; import org.eclipse.xtext.*; import org.eclipse.xtext.parser.*; import org.eclipse.xtext.parser.impl.*; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.XtextTokenStream; import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA; import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; } @parser::members { private SolverLanguageGrammarAccess grammarAccess; public void setGrammarAccess(SolverLanguageGrammarAccess grammarAccess) { this.grammarAccess = grammarAccess; } @Override protected Grammar getGrammar() { return grammarAccess.getGrammar(); } @Override protected String getValueForTokenName(String tokenName) { return tokenName; } } // Entry rule entryRuleProblem entryRuleProblem : { before(grammarAccess.getProblemRule()); } ruleProblem { after(grammarAccess.getProblemRule()); } EOF ; // Rule Problem ruleProblem @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getProblemAccess().getStatementsAssignment()); } (rule__Problem__StatementsAssignment)* { after(grammarAccess.getProblemAccess().getStatementsAssignment()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleStatement entryRuleStatement : { before(grammarAccess.getStatementRule()); } ruleStatement { after(grammarAccess.getStatementRule()); } EOF ; // Rule Statement ruleStatement @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getStatementAccess().getAlternatives()); } (rule__Statement__Alternatives) { after(grammarAccess.getStatementAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleREALLiteral entryRuleREALLiteral : { before(grammarAccess.getREALLiteralRule()); } ruleREALLiteral { after(grammarAccess.getREALLiteralRule()); } EOF ; // Rule REALLiteral ruleREALLiteral @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getREALLiteralAccess().getGroup()); } (rule__REALLiteral__Group__0) { after(grammarAccess.getREALLiteralAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleINTLiteral entryRuleINTLiteral : { before(grammarAccess.getINTLiteralRule()); } ruleINTLiteral { after(grammarAccess.getINTLiteralRule()); } EOF ; // Rule INTLiteral ruleINTLiteral @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getINTLiteralAccess().getGroup()); } (rule__INTLiteral__Group__0) { after(grammarAccess.getINTLiteralAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleBooleanValue entryRuleBooleanValue : { before(grammarAccess.getBooleanValueRule()); } ruleBooleanValue { after(grammarAccess.getBooleanValueRule()); } EOF ; // Rule BooleanValue ruleBooleanValue @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanValueAccess().getAlternatives()); } (rule__BooleanValue__Alternatives) { after(grammarAccess.getBooleanValueAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleTruthValue entryRuleTruthValue : { before(grammarAccess.getTruthValueRule()); } ruleTruthValue { after(grammarAccess.getTruthValueRule()); } EOF ; // Rule TruthValue ruleTruthValue @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getAlternatives()); } (rule__TruthValue__Alternatives) { after(grammarAccess.getTruthValueAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleInterpretation entryRuleInterpretation : { before(grammarAccess.getInterpretationRule()); } ruleInterpretation { after(grammarAccess.getInterpretationRule()); } EOF ; // Rule Interpretation ruleInterpretation @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getInterpretationAccess().getAlternatives()); } (rule__Interpretation__Alternatives) { after(grammarAccess.getInterpretationAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleBasicInterpretation entryRuleBasicInterpretation : { before(grammarAccess.getBasicInterpretationRule()); } ruleBasicInterpretation { after(grammarAccess.getBasicInterpretationRule()); } EOF ; // Rule BasicInterpretation ruleBasicInterpretation @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getGroup()); } (rule__BasicInterpretation__Group__0) { after(grammarAccess.getBasicInterpretationAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleSymbol entryRuleSymbol : { before(grammarAccess.getSymbolRule()); } ruleSymbol { after(grammarAccess.getSymbolRule()); } EOF ; // Rule Symbol ruleSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getSymbolAccess().getAlternatives()); } (rule__Symbol__Alternatives) { after(grammarAccess.getSymbolAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleModelSymbol entryRuleModelSymbol : { before(grammarAccess.getModelSymbolRule()); } ruleModelSymbol { after(grammarAccess.getModelSymbolRule()); } EOF ; // Rule ModelSymbol ruleModelSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getModelSymbolAccess().getNameAssignment()); } (rule__ModelSymbol__NameAssignment) { after(grammarAccess.getModelSymbolAccess().getNameAssignment()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRulePartialitySymbol entryRulePartialitySymbol : { before(grammarAccess.getPartialitySymbolRule()); } rulePartialitySymbol { after(grammarAccess.getPartialitySymbolRule()); } EOF ; // Rule PartialitySymbol rulePartialitySymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPartialitySymbolAccess().getAlternatives()); } (rule__PartialitySymbol__Alternatives) { after(grammarAccess.getPartialitySymbolAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleExistSymbol entryRuleExistSymbol : { before(grammarAccess.getExistSymbolRule()); } ruleExistSymbol { after(grammarAccess.getExistSymbolRule()); } EOF ; // Rule ExistSymbol ruleExistSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getExistSymbolAccess().getGroup()); } (rule__ExistSymbol__Group__0) { after(grammarAccess.getExistSymbolAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleEqualsSymbol entryRuleEqualsSymbol : { before(grammarAccess.getEqualsSymbolRule()); } ruleEqualsSymbol { after(grammarAccess.getEqualsSymbolRule()); } EOF ; // Rule EqualsSymbol ruleEqualsSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEqualsSymbolAccess().getGroup()); } (rule__EqualsSymbol__Group__0) { after(grammarAccess.getEqualsSymbolAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleDataSymbol entryRuleDataSymbol : { before(grammarAccess.getDataSymbolRule()); } ruleDataSymbol { after(grammarAccess.getDataSymbolRule()); } EOF ; // Rule DataSymbol ruleDataSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getDataSymbolAccess().getAlternatives()); } (rule__DataSymbol__Alternatives) { after(grammarAccess.getDataSymbolAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleBooleanSymbol entryRuleBooleanSymbol : { before(grammarAccess.getBooleanSymbolRule()); } ruleBooleanSymbol { after(grammarAccess.getBooleanSymbolRule()); } EOF ; // Rule BooleanSymbol ruleBooleanSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanSymbolAccess().getGroup()); } (rule__BooleanSymbol__Group__0) { after(grammarAccess.getBooleanSymbolAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleIntegerSymbol entryRuleIntegerSymbol : { before(grammarAccess.getIntegerSymbolRule()); } ruleIntegerSymbol { after(grammarAccess.getIntegerSymbolRule()); } EOF ; // Rule IntegerSymbol ruleIntegerSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getIntegerSymbolAccess().getGroup()); } (rule__IntegerSymbol__Group__0) { after(grammarAccess.getIntegerSymbolAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleRealSymbol entryRuleRealSymbol : { before(grammarAccess.getRealSymbolRule()); } ruleRealSymbol { after(grammarAccess.getRealSymbolRule()); } EOF ; // Rule RealSymbol ruleRealSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getRealSymbolAccess().getGroup()); } (rule__RealSymbol__Group__0) { after(grammarAccess.getRealSymbolAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleStringSymbol entryRuleStringSymbol : { before(grammarAccess.getStringSymbolRule()); } ruleStringSymbol { after(grammarAccess.getStringSymbolRule()); } EOF ; // Rule StringSymbol ruleStringSymbol @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getStringSymbolAccess().getGroup()); } (rule__StringSymbol__Group__0) { after(grammarAccess.getStringSymbolAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleComplexObject entryRuleComplexObject : { before(grammarAccess.getComplexObjectRule()); } ruleComplexObject { after(grammarAccess.getComplexObjectRule()); } EOF ; // Rule ComplexObject ruleComplexObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getComplexObjectAccess().getAlternatives()); } (rule__ComplexObject__Alternatives) { after(grammarAccess.getComplexObjectAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleObject entryRuleObject : { before(grammarAccess.getObjectRule()); } ruleObject { after(grammarAccess.getObjectRule()); } EOF ; // Rule Object ruleObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getObjectAccess().getAlternatives()); } (rule__Object__Alternatives) { after(grammarAccess.getObjectAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleNamedObject entryRuleNamedObject : { before(grammarAccess.getNamedObjectRule()); } ruleNamedObject { after(grammarAccess.getNamedObjectRule()); } EOF ; // Rule NamedObject ruleNamedObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getNamedObjectAccess().getGroup()); } (rule__NamedObject__Group__0) { after(grammarAccess.getNamedObjectAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleUnnamedObject entryRuleUnnamedObject : { before(grammarAccess.getUnnamedObjectRule()); } ruleUnnamedObject { after(grammarAccess.getUnnamedObjectRule()); } EOF ; // Rule UnnamedObject ruleUnnamedObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); } (rule__UnnamedObject__NameAssignment) { after(grammarAccess.getUnnamedObjectAccess().getNameAssignment()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleDataObject entryRuleDataObject : { before(grammarAccess.getDataObjectRule()); } ruleDataObject { after(grammarAccess.getDataObjectRule()); } EOF ; // Rule DataObject ruleDataObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getDataObjectAccess().getAlternatives()); } (rule__DataObject__Alternatives) { after(grammarAccess.getDataObjectAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleBooleanObject entryRuleBooleanObject : { before(grammarAccess.getBooleanObjectRule()); } ruleBooleanObject { after(grammarAccess.getBooleanObjectRule()); } EOF ; // Rule BooleanObject ruleBooleanObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanObjectAccess().getValueAssignment()); } (rule__BooleanObject__ValueAssignment) { after(grammarAccess.getBooleanObjectAccess().getValueAssignment()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleIntObject entryRuleIntObject : { before(grammarAccess.getIntObjectRule()); } ruleIntObject { after(grammarAccess.getIntObjectRule()); } EOF ; // Rule IntObject ruleIntObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getIntObjectAccess().getValueAssignment()); } (rule__IntObject__ValueAssignment) { after(grammarAccess.getIntObjectAccess().getValueAssignment()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleRealObject entryRuleRealObject : { before(grammarAccess.getRealObjectRule()); } ruleRealObject { after(grammarAccess.getRealObjectRule()); } EOF ; // Rule RealObject ruleRealObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getRealObjectAccess().getValueAssignment()); } (rule__RealObject__ValueAssignment) { after(grammarAccess.getRealObjectAccess().getValueAssignment()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleStringObject entryRuleStringObject : { before(grammarAccess.getStringObjectRule()); } ruleStringObject { after(grammarAccess.getStringObjectRule()); } EOF ; // Rule StringObject ruleStringObject @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getStringObjectAccess().getValueAssignment()); } (rule__StringObject__ValueAssignment) { after(grammarAccess.getStringObjectAccess().getValueAssignment()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRulePredicate entryRulePredicate : { before(grammarAccess.getPredicateRule()); } rulePredicate { after(grammarAccess.getPredicateRule()); } EOF ; // Rule Predicate rulePredicate @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getGroup()); } (rule__Predicate__Group__0) { after(grammarAccess.getPredicateAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleParameter entryRuleParameter : { before(grammarAccess.getParameterRule()); } ruleParameter { after(grammarAccess.getParameterRule()); } EOF ; // Rule Parameter ruleParameter @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getParameterAccess().getGroup()); } (rule__Parameter__Group__0) { after(grammarAccess.getParameterAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRulePatternBody entryRulePatternBody : { before(grammarAccess.getPatternBodyRule()); } rulePatternBody { after(grammarAccess.getPatternBodyRule()); } EOF ; // Rule PatternBody rulePatternBody @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPatternBodyAccess().getGroup()); } (rule__PatternBody__Group__0) { after(grammarAccess.getPatternBodyAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRulePolarity entryRulePolarity : { before(grammarAccess.getPolarityRule()); } rulePolarity { after(grammarAccess.getPolarityRule()); } EOF ; // Rule Polarity rulePolarity @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPolarityAccess().getAlternatives()); } (rule__Polarity__Alternatives) { after(grammarAccess.getPolarityAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleConstraint entryRuleConstraint : { before(grammarAccess.getConstraintRule()); } ruleConstraint { after(grammarAccess.getConstraintRule()); } EOF ; // Rule Constraint ruleConstraint @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getAlternatives()); } (rule__Constraint__Alternatives) { after(grammarAccess.getConstraintAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleClosureType entryRuleClosureType : { before(grammarAccess.getClosureTypeRule()); } ruleClosureType { after(grammarAccess.getClosureTypeRule()); } EOF ; // Rule ClosureType ruleClosureType @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClosureTypeAccess().getAlternatives()); } (rule__ClosureType__Alternatives) { after(grammarAccess.getClosureTypeAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleLiteral entryRuleLiteral : { before(grammarAccess.getLiteralRule()); } ruleLiteral { after(grammarAccess.getLiteralRule()); } EOF ; // Rule Literal ruleLiteral @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getLiteralAccess().getAlternatives()); } (rule__Literal__Alternatives) { after(grammarAccess.getLiteralAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleVariable entryRuleVariable : { before(grammarAccess.getVariableRule()); } ruleVariable { after(grammarAccess.getVariableRule()); } EOF ; // Rule Variable ruleVariable @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getVariableAccess().getNameAssignment()); } (rule__Variable__NameAssignment) { after(grammarAccess.getVariableAccess().getNameAssignment()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleAllInstances entryRuleAllInstances : { before(grammarAccess.getAllInstancesRule()); } ruleAllInstances { after(grammarAccess.getAllInstancesRule()); } EOF ; // Rule AllInstances ruleAllInstances @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getAllInstancesAccess().getGroup()); } (rule__AllInstances__Group__0) { after(grammarAccess.getAllInstancesAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleAllObjects entryRuleAllObjects : { before(grammarAccess.getAllObjectsRule()); } ruleAllObjects { after(grammarAccess.getAllObjectsRule()); } EOF ; // Rule AllObjects ruleAllObjects @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getAllObjectsAccess().getGroup()); } (rule__AllObjects__Group__0) { after(grammarAccess.getAllObjectsAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleDefaultInterpretation entryRuleDefaultInterpretation : { before(grammarAccess.getDefaultInterpretationRule()); } ruleDefaultInterpretation { after(grammarAccess.getDefaultInterpretationRule()); } EOF ; // Rule DefaultInterpretation ruleDefaultInterpretation @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getDefaultInterpretationAccess().getGroup()); } (rule__DefaultInterpretation__Group__0) { after(grammarAccess.getDefaultInterpretationAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleCDInterpretation entryRuleCDInterpretation : { before(grammarAccess.getCDInterpretationRule()); } ruleCDInterpretation { after(grammarAccess.getCDInterpretationRule()); } EOF ; // Rule CDInterpretation ruleCDInterpretation @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getCDInterpretationAccess().getAlternatives()); } (rule__CDInterpretation__Alternatives) { after(grammarAccess.getCDInterpretationAccess().getAlternatives()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleClassInterpretation entryRuleClassInterpretation : { before(grammarAccess.getClassInterpretationRule()); } ruleClassInterpretation { after(grammarAccess.getClassInterpretationRule()); } EOF ; // Rule ClassInterpretation ruleClassInterpretation @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getGroup()); } (rule__ClassInterpretation__Group__0) { after(grammarAccess.getClassInterpretationAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleEnumInterpretation entryRuleEnumInterpretation : { before(grammarAccess.getEnumInterpretationRule()); } ruleEnumInterpretation { after(grammarAccess.getEnumInterpretationRule()); } EOF ; // Rule EnumInterpretation ruleEnumInterpretation @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEnumInterpretationAccess().getGroup()); } (rule__EnumInterpretation__Group__0) { after(grammarAccess.getEnumInterpretationAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleFieldRelationInterpretation entryRuleFieldRelationInterpretation : { before(grammarAccess.getFieldRelationInterpretationRule()); } ruleFieldRelationInterpretation { after(grammarAccess.getFieldRelationInterpretationRule()); } EOF ; // Rule FieldRelationInterpretation ruleFieldRelationInterpretation @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); } (rule__FieldRelationInterpretation__Group__0) { after(grammarAccess.getFieldRelationInterpretationAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleGlobalRelationInterpretation entryRuleGlobalRelationInterpretation : { before(grammarAccess.getGlobalRelationInterpretationRule()); } ruleGlobalRelationInterpretation { after(grammarAccess.getGlobalRelationInterpretationRule()); } EOF ; // Rule GlobalRelationInterpretation ruleGlobalRelationInterpretation @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); } (rule__GlobalRelationInterpretation__Group__0) { after(grammarAccess.getGlobalRelationInterpretationAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } // Entry rule entryRuleMultiplicityDefinition entryRuleMultiplicityDefinition : { before(grammarAccess.getMultiplicityDefinitionRule()); } ruleMultiplicityDefinition { after(grammarAccess.getMultiplicityDefinitionRule()); } EOF ; // Rule MultiplicityDefinition ruleMultiplicityDefinition @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); } (rule__MultiplicityDefinition__Group__0) { after(grammarAccess.getMultiplicityDefinitionAccess().getGroup()); } ) ; finally { restoreStackSize(stackSize); } rule__Statement__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); } ruleInterpretation { after(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); } ) | ( { before(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); } rulePredicate { after(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); } ) ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanValueAccess().getGroup_0()); } (rule__BooleanValue__Group_0__0) { after(grammarAccess.getBooleanValueAccess().getGroup_0()); } ) | ( { before(grammarAccess.getBooleanValueAccess().getGroup_1()); } (rule__BooleanValue__Group_1__0) { after(grammarAccess.getBooleanValueAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getGroup_0()); } (rule__TruthValue__Group_0__0) { after(grammarAccess.getTruthValueAccess().getGroup_0()); } ) | ( { before(grammarAccess.getTruthValueAccess().getGroup_1()); } (rule__TruthValue__Group_1__0) { after(grammarAccess.getTruthValueAccess().getGroup_1()); } ) | ( { before(grammarAccess.getTruthValueAccess().getGroup_2()); } (rule__TruthValue__Group_2__0) { after(grammarAccess.getTruthValueAccess().getGroup_2()); } ) | ( { before(grammarAccess.getTruthValueAccess().getGroup_3()); } (rule__TruthValue__Group_3__0) { after(grammarAccess.getTruthValueAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } rule__Interpretation__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); } ruleBasicInterpretation { after(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); } ) | ( { before(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); } ruleDefaultInterpretation { after(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); } ) | ( { before(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); } ruleCDInterpretation { after(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Symbol__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); } ruleModelSymbol { after(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); } ) | ( { before(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); } rulePartialitySymbol { after(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); } ) | ( { before(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); } ruleDataSymbol { after(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } rule__PartialitySymbol__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); } ruleExistSymbol { after(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); } ) | ( { before(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); } ruleEqualsSymbol { after(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); } ) ; finally { restoreStackSize(stackSize); } rule__DataSymbol__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); } ruleBooleanSymbol { after(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); } ) | ( { before(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); } ruleIntegerSymbol { after(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); } ) | ( { before(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); } ruleRealSymbol { after(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); } ) | ( { before(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); } ruleStringSymbol { after(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); } ) ; finally { restoreStackSize(stackSize); } rule__ComplexObject__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); } ruleObject { after(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); } ) | ( { before(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); } ruleAllInstances { after(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); } ) | ( { before(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); } ruleAllObjects { after(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Object__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); } ruleNamedObject { after(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); } ) | ( { before(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); } ruleUnnamedObject { after(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); } ) | ( { before(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); } ruleDataObject { after(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } rule__DataObject__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); } ruleBooleanObject { after(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); } ) | ( { before(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); } ruleIntObject { after(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); } ) | ( { before(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); } ruleRealObject { after(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); } ) | ( { before(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); } ruleStringObject { after(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Alternatives_4 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); } 'false' { after(grammarAccess.getPredicateAccess().getFalseKeyword_4_0()); } ) | ( { before(grammarAccess.getPredicateAccess().getGroup_4_1()); } (rule__Predicate__Group_4_1__0) { after(grammarAccess.getPredicateAccess().getGroup_4_1()); } ) ; finally { restoreStackSize(stackSize); } rule__PatternBody__Alternatives_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); } 'true' { after(grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); } ) | ( { before(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); } (rule__PatternBody__ConstraintsAssignment_1_1)* { after(grammarAccess.getPatternBodyAccess().getConstraintsAssignment_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Polarity__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPolarityAccess().getGroup_0()); } (rule__Polarity__Group_0__0) { after(grammarAccess.getPolarityAccess().getGroup_0()); } ) | ( { before(grammarAccess.getPolarityAccess().getGroup_1()); } (rule__Polarity__Group_1__0) { after(grammarAccess.getPolarityAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getGroup_0()); } (rule__Constraint__Group_0__0) { after(grammarAccess.getConstraintAccess().getGroup_0()); } ) | ( { before(grammarAccess.getConstraintAccess().getGroup_1()); } (rule__Constraint__Group_1__0) { after(grammarAccess.getConstraintAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } rule__ClosureType__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClosureTypeAccess().getGroup_0()); } (rule__ClosureType__Group_0__0) { after(grammarAccess.getClosureTypeAccess().getGroup_0()); } ) | ( { before(grammarAccess.getClosureTypeAccess().getGroup_1()); } (rule__ClosureType__Group_1__0) { after(grammarAccess.getClosureTypeAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Literal__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); } ruleVariable { after(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); } ) | ( { before(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); } ruleDataObject { after(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); } ) | ( { before(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); } ruleNamedObject { after(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } rule__CDInterpretation__Alternatives @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); } ruleClassInterpretation { after(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); } ) | ( { before(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); } ruleEnumInterpretation { after(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); } ) | ( { before(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); } ruleGlobalRelationInterpretation { after(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__Alternatives_2 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); } (rule__MultiplicityDefinition__UpperAssignment_2_0) { after(grammarAccess.getMultiplicityDefinitionAccess().getUpperAssignment_2_0()); } ) | ( { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); } (rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1) { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAssignment_2_1()); } ) ; finally { restoreStackSize(stackSize); } rule__REALLiteral__Group__0 @init { int stackSize = keepStackSize(); } : rule__REALLiteral__Group__0__Impl rule__REALLiteral__Group__1 ; finally { restoreStackSize(stackSize); } rule__REALLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); } ('-')? { after(grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__REALLiteral__Group__1 @init { int stackSize = keepStackSize(); } : rule__REALLiteral__Group__1__Impl rule__REALLiteral__Group__2 ; finally { restoreStackSize(stackSize); } rule__REALLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); } RULE_INT { after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); } ) ; finally { restoreStackSize(stackSize); } rule__REALLiteral__Group__2 @init { int stackSize = keepStackSize(); } : rule__REALLiteral__Group__2__Impl rule__REALLiteral__Group__3 ; finally { restoreStackSize(stackSize); } rule__REALLiteral__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); } '.' { after(grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } rule__REALLiteral__Group__3 @init { int stackSize = keepStackSize(); } : rule__REALLiteral__Group__3__Impl ; finally { restoreStackSize(stackSize); } rule__REALLiteral__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); } RULE_INT { after(grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); } ) ; finally { restoreStackSize(stackSize); } rule__INTLiteral__Group__0 @init { int stackSize = keepStackSize(); } : rule__INTLiteral__Group__0__Impl rule__INTLiteral__Group__1 ; finally { restoreStackSize(stackSize); } rule__INTLiteral__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); } ('-')? { after(grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__INTLiteral__Group__1 @init { int stackSize = keepStackSize(); } : rule__INTLiteral__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__INTLiteral__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); } RULE_INT { after(grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); } ) ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Group_0__0 @init { int stackSize = keepStackSize(); } : rule__BooleanValue__Group_0__0__Impl rule__BooleanValue__Group_0__1 ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); } () { after(grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Group_0__1 @init { int stackSize = keepStackSize(); } : rule__BooleanValue__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); } 'true' { after(grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); } ) ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Group_1__0 @init { int stackSize = keepStackSize(); } : rule__BooleanValue__Group_1__0__Impl rule__BooleanValue__Group_1__1 ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); } 'false' { after(grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Group_1__1 @init { int stackSize = keepStackSize(); } : rule__BooleanValue__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__BooleanValue__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); } () { after(grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_0__0 @init { int stackSize = keepStackSize(); } : rule__TruthValue__Group_0__0__Impl rule__TruthValue__Group_0__1 ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); } () { after(grammarAccess.getTruthValueAccess().getTrueAction_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_0__1 @init { int stackSize = keepStackSize(); } : rule__TruthValue__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); } 'true' { after(grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_1__0 @init { int stackSize = keepStackSize(); } : rule__TruthValue__Group_1__0__Impl rule__TruthValue__Group_1__1 ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); } () { after(grammarAccess.getTruthValueAccess().getFalseAction_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_1__1 @init { int stackSize = keepStackSize(); } : rule__TruthValue__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); } 'false' { after(grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_2__0 @init { int stackSize = keepStackSize(); } : rule__TruthValue__Group_2__0__Impl rule__TruthValue__Group_2__1 ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_2__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getUnknownAction_2_0()); } () { after(grammarAccess.getTruthValueAccess().getUnknownAction_2_0()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_2__1 @init { int stackSize = keepStackSize(); } : rule__TruthValue__Group_2__1__Impl ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_2__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); } 'unknown' { after(grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_3__0 @init { int stackSize = keepStackSize(); } : rule__TruthValue__Group_3__0__Impl rule__TruthValue__Group_3__1 ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); } () { after(grammarAccess.getTruthValueAccess().getErrorAction_3_0()); } ) ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_3__1 @init { int stackSize = keepStackSize(); } : rule__TruthValue__Group_3__1__Impl ; finally { restoreStackSize(stackSize); } rule__TruthValue__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); } 'error' { after(grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group__0 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group__0__Impl rule__BasicInterpretation__Group__1 ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); } (rule__BasicInterpretation__SymbolAssignment_0) { after(grammarAccess.getBasicInterpretationAccess().getSymbolAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group__1 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group__1__Impl rule__BasicInterpretation__Group__2 ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getGroup_1()); } (rule__BasicInterpretation__Group_1__0)? { after(grammarAccess.getBasicInterpretationAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group__2 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group__2__Impl rule__BasicInterpretation__Group__3 ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); } ':' { after(grammarAccess.getBasicInterpretationAccess().getColonKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group__3 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group__3__Impl ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); } (rule__BasicInterpretation__ValueAssignment_3) { after(grammarAccess.getBasicInterpretationAccess().getValueAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1__0 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group_1__0__Impl rule__BasicInterpretation__Group_1__1 ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); } '(' { after(grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1__1 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group_1__1__Impl rule__BasicInterpretation__Group_1__2 ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); } (rule__BasicInterpretation__Group_1_1__0)? { after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1__2 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group_1__2__Impl ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); } ')' { after(grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1_1__0 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group_1_1__0__Impl rule__BasicInterpretation__Group_1_1__1 ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); } (rule__BasicInterpretation__ObjectsAssignment_1_1_0) { after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1_1__1 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group_1_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); } (rule__BasicInterpretation__Group_1_1_1__0)* { after(grammarAccess.getBasicInterpretationAccess().getGroup_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1_1_1__0 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group_1_1_1__0__Impl rule__BasicInterpretation__Group_1_1_1__1 ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); } ',' { after(grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1_1_1__1 @init { int stackSize = keepStackSize(); } : rule__BasicInterpretation__Group_1_1_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__Group_1_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); } (rule__BasicInterpretation__ObjectsAssignment_1_1_1_1) { after(grammarAccess.getBasicInterpretationAccess().getObjectsAssignment_1_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__ExistSymbol__Group__0 @init { int stackSize = keepStackSize(); } : rule__ExistSymbol__Group__0__Impl rule__ExistSymbol__Group__1 ; finally { restoreStackSize(stackSize); } rule__ExistSymbol__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); } 'exists' { after(grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ExistSymbol__Group__1 @init { int stackSize = keepStackSize(); } : rule__ExistSymbol__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__ExistSymbol__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); } () { after(grammarAccess.getExistSymbolAccess().getExistSymbolAction_1()); } ) ; finally { restoreStackSize(stackSize); } rule__EqualsSymbol__Group__0 @init { int stackSize = keepStackSize(); } : rule__EqualsSymbol__Group__0__Impl rule__EqualsSymbol__Group__1 ; finally { restoreStackSize(stackSize); } rule__EqualsSymbol__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); } 'equals' { after(grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__EqualsSymbol__Group__1 @init { int stackSize = keepStackSize(); } : rule__EqualsSymbol__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__EqualsSymbol__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); } () { after(grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1()); } ) ; finally { restoreStackSize(stackSize); } rule__BooleanSymbol__Group__0 @init { int stackSize = keepStackSize(); } : rule__BooleanSymbol__Group__0__Impl rule__BooleanSymbol__Group__1 ; finally { restoreStackSize(stackSize); } rule__BooleanSymbol__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); } 'bool' { after(grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BooleanSymbol__Group__1 @init { int stackSize = keepStackSize(); } : rule__BooleanSymbol__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__BooleanSymbol__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); } () { after(grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1()); } ) ; finally { restoreStackSize(stackSize); } rule__IntegerSymbol__Group__0 @init { int stackSize = keepStackSize(); } : rule__IntegerSymbol__Group__0__Impl rule__IntegerSymbol__Group__1 ; finally { restoreStackSize(stackSize); } rule__IntegerSymbol__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); } 'int' { after(grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__IntegerSymbol__Group__1 @init { int stackSize = keepStackSize(); } : rule__IntegerSymbol__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__IntegerSymbol__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); } () { after(grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1()); } ) ; finally { restoreStackSize(stackSize); } rule__RealSymbol__Group__0 @init { int stackSize = keepStackSize(); } : rule__RealSymbol__Group__0__Impl rule__RealSymbol__Group__1 ; finally { restoreStackSize(stackSize); } rule__RealSymbol__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); } 'real' { after(grammarAccess.getRealSymbolAccess().getRealKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__RealSymbol__Group__1 @init { int stackSize = keepStackSize(); } : rule__RealSymbol__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__RealSymbol__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); } () { after(grammarAccess.getRealSymbolAccess().getRealSymbolAction_1()); } ) ; finally { restoreStackSize(stackSize); } rule__StringSymbol__Group__0 @init { int stackSize = keepStackSize(); } : rule__StringSymbol__Group__0__Impl rule__StringSymbol__Group__1 ; finally { restoreStackSize(stackSize); } rule__StringSymbol__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); } 'string' { after(grammarAccess.getStringSymbolAccess().getStringKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__StringSymbol__Group__1 @init { int stackSize = keepStackSize(); } : rule__StringSymbol__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__StringSymbol__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); } () { after(grammarAccess.getStringSymbolAccess().getStringSymbolAction_1()); } ) ; finally { restoreStackSize(stackSize); } rule__NamedObject__Group__0 @init { int stackSize = keepStackSize(); } : rule__NamedObject__Group__0__Impl rule__NamedObject__Group__1 ; finally { restoreStackSize(stackSize); } rule__NamedObject__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); } '\'' { after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__NamedObject__Group__1 @init { int stackSize = keepStackSize(); } : rule__NamedObject__Group__1__Impl rule__NamedObject__Group__2 ; finally { restoreStackSize(stackSize); } rule__NamedObject__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); } (rule__NamedObject__NameAssignment_1) { after(grammarAccess.getNamedObjectAccess().getNameAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } rule__NamedObject__Group__2 @init { int stackSize = keepStackSize(); } : rule__NamedObject__Group__2__Impl ; finally { restoreStackSize(stackSize); } rule__NamedObject__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); } '\'' { after(grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__0 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group__0__Impl rule__Predicate__Group__1 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); } (rule__Predicate__IsErrorAssignment_0)? { after(grammarAccess.getPredicateAccess().getIsErrorAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__1 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group__1__Impl rule__Predicate__Group__2 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); } (rule__Predicate__SymbolAssignment_1) { after(grammarAccess.getPredicateAccess().getSymbolAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__2 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group__2__Impl rule__Predicate__Group__3 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getGroup_2()); } (rule__Predicate__Group_2__0)? { after(grammarAccess.getPredicateAccess().getGroup_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__3 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group__3__Impl rule__Predicate__Group__4 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); } ':-' { after(grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__4 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group__4__Impl rule__Predicate__Group__5 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getAlternatives_4()); } (rule__Predicate__Alternatives_4) { after(grammarAccess.getPredicateAccess().getAlternatives_4()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__5 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group__5__Impl ; finally { restoreStackSize(stackSize); } rule__Predicate__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); } '.' { after(grammarAccess.getPredicateAccess().getFullStopKeyword_5()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2__0 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_2__0__Impl rule__Predicate__Group_2__1 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); } '(' { after(grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2__1 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_2__1__Impl rule__Predicate__Group_2__2 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getGroup_2_1()); } (rule__Predicate__Group_2_1__0)? { after(grammarAccess.getPredicateAccess().getGroup_2_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2__2 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_2__2__Impl ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); } ')' { after(grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2_1__0 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_2_1__0__Impl rule__Predicate__Group_2_1__1 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); } (rule__Predicate__ParametersAssignment_2_1_0) { after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2_1__1 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_2_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getGroup_2_1_1()); } (rule__Predicate__Group_2_1_1__0)* { after(grammarAccess.getPredicateAccess().getGroup_2_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2_1_1__0 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_2_1_1__0__Impl rule__Predicate__Group_2_1_1__1 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); } ',' { after(grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2_1_1__1 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_2_1_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_2_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); } (rule__Predicate__ParametersAssignment_2_1_1_1) { after(grammarAccess.getPredicateAccess().getParametersAssignment_2_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_4_1__0 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_4_1__0__Impl rule__Predicate__Group_4_1__1 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_4_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); } (rule__Predicate__BodiesAssignment_4_1_0) { after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_4_1__1 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_4_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_4_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getGroup_4_1_1()); } (rule__Predicate__Group_4_1_1__0)* { after(grammarAccess.getPredicateAccess().getGroup_4_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_4_1_1__0 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_4_1_1__0__Impl rule__Predicate__Group_4_1_1__1 ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_4_1_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); } '|' { after(grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_4_1_1__1 @init { int stackSize = keepStackSize(); } : rule__Predicate__Group_4_1_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__Predicate__Group_4_1_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); } (rule__Predicate__BodiesAssignment_4_1_1_1) { after(grammarAccess.getPredicateAccess().getBodiesAssignment_4_1_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Parameter__Group__0 @init { int stackSize = keepStackSize(); } : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; finally { restoreStackSize(stackSize); } rule__Parameter__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getParameterAccess().getVariableAssignment_0()); } (rule__Parameter__VariableAssignment_0) { after(grammarAccess.getParameterAccess().getVariableAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Parameter__Group__1 @init { int stackSize = keepStackSize(); } : rule__Parameter__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__Parameter__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getParameterAccess().getGroup_1()); } (rule__Parameter__Group_1__0)? { after(grammarAccess.getParameterAccess().getGroup_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Parameter__Group_1__0 @init { int stackSize = keepStackSize(); } : rule__Parameter__Group_1__0__Impl rule__Parameter__Group_1__1 ; finally { restoreStackSize(stackSize); } rule__Parameter__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getParameterAccess().getColonKeyword_1_0()); } ':' { after(grammarAccess.getParameterAccess().getColonKeyword_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Parameter__Group_1__1 @init { int stackSize = keepStackSize(); } : rule__Parameter__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__Parameter__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); } (rule__Parameter__TypeAssignment_1_1) { after(grammarAccess.getParameterAccess().getTypeAssignment_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__PatternBody__Group__0 @init { int stackSize = keepStackSize(); } : rule__PatternBody__Group__0__Impl rule__PatternBody__Group__1 ; finally { restoreStackSize(stackSize); } rule__PatternBody__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); } () { after(grammarAccess.getPatternBodyAccess().getPatternBodyAction_0()); } ) ; finally { restoreStackSize(stackSize); } rule__PatternBody__Group__1 @init { int stackSize = keepStackSize(); } : rule__PatternBody__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__PatternBody__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPatternBodyAccess().getAlternatives_1()); } (rule__PatternBody__Alternatives_1) { after(grammarAccess.getPatternBodyAccess().getAlternatives_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Polarity__Group_0__0 @init { int stackSize = keepStackSize(); } : rule__Polarity__Group_0__0__Impl rule__Polarity__Group_0__1 ; finally { restoreStackSize(stackSize); } rule__Polarity__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); } () { after(grammarAccess.getPolarityAccess().getPositiveAction_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Polarity__Group_0__1 @init { int stackSize = keepStackSize(); } : rule__Polarity__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } rule__Polarity__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); } '+' { after(grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Polarity__Group_1__0 @init { int stackSize = keepStackSize(); } : rule__Polarity__Group_1__0__Impl rule__Polarity__Group_1__1 ; finally { restoreStackSize(stackSize); } rule__Polarity__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); } () { after(grammarAccess.getPolarityAccess().getNegativeAction_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Polarity__Group_1__1 @init { int stackSize = keepStackSize(); } : rule__Polarity__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__Polarity__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); } '-' { after(grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0__0 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); } (rule__Constraint__PolarityAssignment_0_0)? { after(grammarAccess.getConstraintAccess().getPolarityAssignment_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0__1 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); } (rule__Constraint__SymbolAssignment_0_1) { after(grammarAccess.getConstraintAccess().getSymbolAssignment_0_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0__2 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0__2__Impl ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getGroup_0_2()); } (rule__Constraint__Group_0_2__0)? { after(grammarAccess.getConstraintAccess().getGroup_0_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2__0 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0_2__0__Impl rule__Constraint__Group_0_2__1 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); } '(' { after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2__1 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0_2__1__Impl rule__Constraint__Group_0_2__2 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); } (rule__Constraint__ParamsAssignment_0_2_1)? { after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2__2 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0_2__2__Impl rule__Constraint__Group_0_2__3 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getGroup_0_2_2()); } (rule__Constraint__Group_0_2_2__0)* { after(grammarAccess.getConstraintAccess().getGroup_0_2_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2__3 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0_2__3__Impl ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2__3__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); } ')' { after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2_2__0 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0_2_2__0__Impl rule__Constraint__Group_0_2_2__1 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2_2__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); } ',' { after(grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2_2__1 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_0_2_2__1__Impl ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_0_2_2__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); } (rule__Constraint__ParamsAssignment_0_2_2_1) { after(grammarAccess.getConstraintAccess().getParamsAssignment_0_2_2_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__0 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_1__0__Impl rule__Constraint__Group_1__1 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); } (rule__Constraint__ClosureTypeAssignment_1_0) { after(grammarAccess.getConstraintAccess().getClosureTypeAssignment_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__1 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_1__1__Impl rule__Constraint__Group_1__2 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); } '(' { after(grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__2 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_1__2__Impl rule__Constraint__Group_1__3 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); } (rule__Constraint__ParamsAssignment_1_2)? { after(grammarAccess.getConstraintAccess().getParamsAssignment_1_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__3 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_1__3__Impl rule__Constraint__Group_1__4 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__3__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getGroup_1_3()); } (rule__Constraint__Group_1_3__0)* { after(grammarAccess.getConstraintAccess().getGroup_1_3()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__4 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_1__4__Impl ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1__4__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); } ')' { after(grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1_3__0 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_1_3__0__Impl rule__Constraint__Group_1_3__1 ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1_3__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); } ',' { after(grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1_3__1 @init { int stackSize = keepStackSize(); } : rule__Constraint__Group_1_3__1__Impl ; finally { restoreStackSize(stackSize); } rule__Constraint__Group_1_3__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); } (rule__Constraint__ParamsAssignment_1_3_1) { after(grammarAccess.getConstraintAccess().getParamsAssignment_1_3_1()); } ) ; finally { restoreStackSize(stackSize); } rule__ClosureType__Group_0__0 @init { int stackSize = keepStackSize(); } : rule__ClosureType__Group_0__0__Impl rule__ClosureType__Group_0__1 ; finally { restoreStackSize(stackSize); } rule__ClosureType__Group_0__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); } () { after(grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ClosureType__Group_0__1 @init { int stackSize = keepStackSize(); } : rule__ClosureType__Group_0__1__Impl ; finally { restoreStackSize(stackSize); } rule__ClosureType__Group_0__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); } '*' { after(grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); } ) ; finally { restoreStackSize(stackSize); } rule__ClosureType__Group_1__0 @init { int stackSize = keepStackSize(); } : rule__ClosureType__Group_1__0__Impl rule__ClosureType__Group_1__1 ; finally { restoreStackSize(stackSize); } rule__ClosureType__Group_1__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); } () { after(grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ClosureType__Group_1__1 @init { int stackSize = keepStackSize(); } : rule__ClosureType__Group_1__1__Impl ; finally { restoreStackSize(stackSize); } rule__ClosureType__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); } '+' { after(grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); } ) ; finally { restoreStackSize(stackSize); } rule__AllInstances__Group__0 @init { int stackSize = keepStackSize(); } : rule__AllInstances__Group__0__Impl rule__AllInstances__Group__1 ; finally { restoreStackSize(stackSize); } rule__AllInstances__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); } ':' { after(grammarAccess.getAllInstancesAccess().getColonKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__AllInstances__Group__1 @init { int stackSize = keepStackSize(); } : rule__AllInstances__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__AllInstances__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); } (rule__AllInstances__SymbolAssignment_1) { after(grammarAccess.getAllInstancesAccess().getSymbolAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } rule__AllObjects__Group__0 @init { int stackSize = keepStackSize(); } : rule__AllObjects__Group__0__Impl rule__AllObjects__Group__1 ; finally { restoreStackSize(stackSize); } rule__AllObjects__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); } () { after(grammarAccess.getAllObjectsAccess().getAllObjectsAction_0()); } ) ; finally { restoreStackSize(stackSize); } rule__AllObjects__Group__1 @init { int stackSize = keepStackSize(); } : rule__AllObjects__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__AllObjects__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); } '*' { after(grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } rule__DefaultInterpretation__Group__0 @init { int stackSize = keepStackSize(); } : rule__DefaultInterpretation__Group__0__Impl rule__DefaultInterpretation__Group__1 ; finally { restoreStackSize(stackSize); } rule__DefaultInterpretation__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); } 'default' { after(grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__DefaultInterpretation__Group__1 @init { int stackSize = keepStackSize(); } : rule__DefaultInterpretation__Group__1__Impl ; finally { restoreStackSize(stackSize); } rule__DefaultInterpretation__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); } (rule__DefaultInterpretation__InterpretationAssignment_1) { after(grammarAccess.getDefaultInterpretationAccess().getInterpretationAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__0 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group__0__Impl rule__ClassInterpretation__Group__1 ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); } (rule__ClassInterpretation__AbstractAssignment_0)? { after(grammarAccess.getClassInterpretationAccess().getAbstractAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__1 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group__1__Impl rule__ClassInterpretation__Group__2 ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); } 'class' { after(grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__2 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group__2__Impl rule__ClassInterpretation__Group__3 ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); } (rule__ClassInterpretation__SymbolAssignment_2) { after(grammarAccess.getClassInterpretationAccess().getSymbolAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__3 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group__3__Impl rule__ClassInterpretation__Group__4 ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getGroup_3()); } (rule__ClassInterpretation__Group_3__0)? { after(grammarAccess.getClassInterpretationAccess().getGroup_3()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__4 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group__4__Impl rule__ClassInterpretation__Group__5 ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); } '{' { after(grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__5 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group__5__Impl rule__ClassInterpretation__Group__6 ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); } (rule__ClassInterpretation__FieltAssignment_5)* { after(grammarAccess.getClassInterpretationAccess().getFieltAssignment_5()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__6 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group__6__Impl ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); } '}' { after(grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group_3__0 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group_3__0__Impl rule__ClassInterpretation__Group_3__1 ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group_3__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); } 'extends' { after(grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group_3__1 @init { int stackSize = keepStackSize(); } : rule__ClassInterpretation__Group_3__1__Impl ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__Group_3__1__Impl @init { int stackSize = keepStackSize(); } : ( ( { before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } (rule__ClassInterpretation__SupertypesAssignment_3_1) { after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } ) ( { before(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } (rule__ClassInterpretation__SupertypesAssignment_3_1)* { after(grammarAccess.getClassInterpretationAccess().getSupertypesAssignment_3_1()); } ) ) ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__0 @init { int stackSize = keepStackSize(); } : rule__EnumInterpretation__Group__0__Impl rule__EnumInterpretation__Group__1 ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); } 'enum' { after(grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); } ) ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__1 @init { int stackSize = keepStackSize(); } : rule__EnumInterpretation__Group__1__Impl rule__EnumInterpretation__Group__2 ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); } (rule__EnumInterpretation__SymbolAssignment_1) { after(grammarAccess.getEnumInterpretationAccess().getSymbolAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__2 @init { int stackSize = keepStackSize(); } : rule__EnumInterpretation__Group__2__Impl rule__EnumInterpretation__Group__3 ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); } '{' { after(grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__3 @init { int stackSize = keepStackSize(); } : rule__EnumInterpretation__Group__3__Impl rule__EnumInterpretation__Group__4 ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( ( { before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } (rule__EnumInterpretation__ObjectsAssignment_3) { after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } ) ( { before(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } (rule__EnumInterpretation__ObjectsAssignment_3)* { after(grammarAccess.getEnumInterpretationAccess().getObjectsAssignment_3()); } ) ) ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__4 @init { int stackSize = keepStackSize(); } : rule__EnumInterpretation__Group__4__Impl ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); } '}' { after(grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__0 @init { int stackSize = keepStackSize(); } : rule__FieldRelationInterpretation__Group__0__Impl rule__FieldRelationInterpretation__Group__1 ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); } (rule__FieldRelationInterpretation__ContainmentAssignment_0)? { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__1 @init { int stackSize = keepStackSize(); } : rule__FieldRelationInterpretation__Group__1__Impl rule__FieldRelationInterpretation__Group__2 ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); } (rule__FieldRelationInterpretation__SymbolAssignment_1) { after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolAssignment_1()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__2 @init { int stackSize = keepStackSize(); } : rule__FieldRelationInterpretation__Group__2__Impl rule__FieldRelationInterpretation__Group__3 ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); } ':' { after(grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__3 @init { int stackSize = keepStackSize(); } : rule__FieldRelationInterpretation__Group__3__Impl rule__FieldRelationInterpretation__Group__4 ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); } (rule__FieldRelationInterpretation__MultiplicityAssignment_3)? { after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityAssignment_3()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__4 @init { int stackSize = keepStackSize(); } : rule__FieldRelationInterpretation__Group__4__Impl ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); } (rule__FieldRelationInterpretation__TargetAssignment_4) { after(grammarAccess.getFieldRelationInterpretationAccess().getTargetAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__0 @init { int stackSize = keepStackSize(); } : rule__GlobalRelationInterpretation__Group__0__Impl rule__GlobalRelationInterpretation__Group__1 ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); } (rule__GlobalRelationInterpretation__ContainmentAssignment_0)? { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__1 @init { int stackSize = keepStackSize(); } : rule__GlobalRelationInterpretation__Group__1__Impl rule__GlobalRelationInterpretation__Group__2 ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); } 'relation' { after(grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__2 @init { int stackSize = keepStackSize(); } : rule__GlobalRelationInterpretation__Group__2__Impl rule__GlobalRelationInterpretation__Group__3 ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); } (rule__GlobalRelationInterpretation__SymbolAssignment_2) { after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolAssignment_2()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__3 @init { int stackSize = keepStackSize(); } : rule__GlobalRelationInterpretation__Group__3__Impl rule__GlobalRelationInterpretation__Group__4 ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); } ':' { after(grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__4 @init { int stackSize = keepStackSize(); } : rule__GlobalRelationInterpretation__Group__4__Impl rule__GlobalRelationInterpretation__Group__5 ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); } (rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4)? { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityAssignment_4()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__5 @init { int stackSize = keepStackSize(); } : rule__GlobalRelationInterpretation__Group__5__Impl rule__GlobalRelationInterpretation__Group__6 ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); } (rule__GlobalRelationInterpretation__SourceAssignment_5) { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceAssignment_5()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__6 @init { int stackSize = keepStackSize(); } : rule__GlobalRelationInterpretation__Group__6__Impl rule__GlobalRelationInterpretation__Group__7 ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); } (rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6)? { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityAssignment_6()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__7 @init { int stackSize = keepStackSize(); } : rule__GlobalRelationInterpretation__Group__7__Impl ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__Group__7__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); } (rule__GlobalRelationInterpretation__TargetAssignment_7) { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetAssignment_7()); } ) ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__Group__0 @init { int stackSize = keepStackSize(); } : rule__MultiplicityDefinition__Group__0__Impl rule__MultiplicityDefinition__Group__1 ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); } (rule__MultiplicityDefinition__LowerAssignment_0) { after(grammarAccess.getMultiplicityDefinitionAccess().getLowerAssignment_0()); } ) ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__Group__1 @init { int stackSize = keepStackSize(); } : rule__MultiplicityDefinition__Group__1__Impl rule__MultiplicityDefinition__Group__2 ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); } '..' { after(grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); } ) ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__Group__2 @init { int stackSize = keepStackSize(); } : rule__MultiplicityDefinition__Group__2__Impl ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); } (rule__MultiplicityDefinition__Alternatives_2) { after(grammarAccess.getMultiplicityDefinitionAccess().getAlternatives_2()); } ) ; finally { restoreStackSize(stackSize); } rule__Problem__StatementsAssignment @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); } ruleStatement { after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__SymbolAssignment_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); } ruleSymbol { after(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__ObjectsAssignment_1_1_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); } ruleComplexObject { after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__ObjectsAssignment_1_1_1_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); } ruleComplexObject { after(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BasicInterpretation__ValueAssignment_3 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); } ruleTruthValue { after(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ModelSymbol__NameAssignment @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); } RULE_ID { after(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } rule__NamedObject__NameAssignment_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); } RULE_ID { after(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__UnnamedObject__NameAssignment @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); } RULE_ID { after(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } rule__BooleanObject__ValueAssignment @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); } ruleBooleanValue { after(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } rule__IntObject__ValueAssignment @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); } ruleINTLiteral { after(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } rule__RealObject__ValueAssignment @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); } ruleREALLiteral { after(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } rule__StringObject__ValueAssignment @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); } RULE_STRING { after(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__IsErrorAssignment_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } ( { before(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } 'error' { after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } ) { after(grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__SymbolAssignment_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); } ruleModelSymbol { after(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__ParametersAssignment_2_1_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); } ruleParameter { after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__ParametersAssignment_2_1_1_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); } ruleParameter { after(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__BodiesAssignment_4_1_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); } rulePatternBody { after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Predicate__BodiesAssignment_4_1_1_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); } rulePatternBody { after(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Parameter__VariableAssignment_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); } ruleVariable { after(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Parameter__TypeAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); } ruleSymbol { after(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__PatternBody__ConstraintsAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); } ruleConstraint { after(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__PolarityAssignment_0_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); } rulePolarity { after(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__SymbolAssignment_0_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); } ruleModelSymbol { after(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__ParamsAssignment_0_2_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); } ruleLiteral { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__ParamsAssignment_0_2_2_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); } ruleLiteral { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__ClosureTypeAssignment_1_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); } ruleClosureType { after(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__ParamsAssignment_1_2 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); } ruleLiteral { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Constraint__ParamsAssignment_1_3_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); } ruleLiteral { after(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__Variable__NameAssignment @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); } RULE_ID { after(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } rule__AllInstances__SymbolAssignment_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); } ruleSymbol { after(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__DefaultInterpretation__InterpretationAssignment_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); } ruleBasicInterpretation { after(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__AbstractAssignment_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } ( { before(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } 'abstract' { after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } ) { after(grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__SymbolAssignment_2 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } ruleModelSymbol { after(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__SupertypesAssignment_3_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); } ruleModelSymbol { after(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__ClassInterpretation__FieltAssignment_5 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); } ruleFieldRelationInterpretation { after(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__SymbolAssignment_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } ruleModelSymbol { after(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__EnumInterpretation__ObjectsAssignment_3 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); } ruleNamedObject { after(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__ContainmentAssignment_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } ( { before(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 'containment' { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } ) { after(grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__SymbolAssignment_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } ruleModelSymbol { after(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__MultiplicityAssignment_3 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); } ruleMultiplicityDefinition { after(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); } ) ; finally { restoreStackSize(stackSize); } rule__FieldRelationInterpretation__TargetAssignment_4 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); } ruleSymbol { after(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__ContainmentAssignment_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } 'containment' { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } ) { after(grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__SymbolAssignment_2 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } ruleModelSymbol { after(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__SourceMultiplicityAssignment_4 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); } ruleMultiplicityDefinition { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__SourceAssignment_5 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); } ruleSymbol { after(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__TargetMultiplicityAssignment_6 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); } ruleMultiplicityDefinition { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); } ) ; finally { restoreStackSize(stackSize); } rule__GlobalRelationInterpretation__TargetAssignment_7 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); } ruleSymbol { after(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); } ) ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__LowerAssignment_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); } RULE_INT { after(grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__UpperAssignment_2_0 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); } RULE_INT { after(grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); } ) ; finally { restoreStackSize(stackSize); } rule__MultiplicityDefinition__UnlimitedUpperAssignment_2_1 @init { int stackSize = keepStackSize(); } : ( { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } ( { before(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } '*' { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } ) { after(grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); } ) ; finally { restoreStackSize(stackSize); } RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; RULE_INT : ('0'..'9')+; RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; RULE_WS : (' '|'\t'|'\r'|'\n')+; RULE_ANY_OTHER : .;