diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslProposalProvider.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslProposalProvider.java index 7bde4ddead5561d0cfaa33f96e532738b0758d2b..2d3705f796aaafb8de61d1da5e2c8a0514d87a0a 100644 --- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslProposalProvider.java +++ b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslProposalProvider.java @@ -20,41 +20,131 @@ public class AbstractMyDslProposalProvider extends TerminalsProposalProvider { public void completeModel_Terms(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeTerm_Operations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeIfElseExpression_TrueExp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeIfElseExpression_FalseExp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBinaryBooleanExpression_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBinaryBooleanExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComparison_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComparison_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTerm_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeTerm_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } - public void completeOperations_TermOperations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void completeProduct_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProduct_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePower_Exponent(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunction_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunction_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFormalParameter_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBooleanLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeIntLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeDoubleLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void complete_Model(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } + public void complete_Double(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Integer(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EString(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EBoolean(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ProductOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TermOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_CompareOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BooleanOperation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RootExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_IfElseExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BinaryBooleanExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UnaryBooleanExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Comparison(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } public void complete_Term(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Types(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_Product(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Power(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Atom(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Function(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Arithmetics(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_Literal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Strings(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_FormalParameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_DECIMAL(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_BooleanLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_E_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_NumberLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_Operations(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_IntLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } - public void complete_OperationsType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + public void complete_DoubleLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } } diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslParser.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslParser.java index 310563264d1740cdf0ce5799856ec985b665171b..608e9a745f8a488c1e6aa5196785a4fe76ec4be0 100644 --- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslParser.java +++ b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslParser.java @@ -37,20 +37,54 @@ public class MyDslParser extends AbstractContentAssistParser { nameMappings = new HashMap<AbstractElement, String>() { private static final long serialVersionUID = 1L; { - put(grammarAccess.getTypesAccess().getAlternatives(), "rule__Types__Alternatives"); - put(grammarAccess.getE_STRINGAccess().getAlternatives(), "rule__E_STRING__Alternatives"); - put(grammarAccess.getOperationsTypeAccess().getAlternatives(), "rule__OperationsType__Alternatives"); + put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives"); + put(grammarAccess.getEBooleanAccess().getAlternatives(), "rule__EBoolean__Alternatives"); + put(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives(), "rule__UnaryBooleanExpression__Alternatives"); + put(grammarAccess.getAtomAccess().getAlternatives(), "rule__Atom__Alternatives"); + put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives"); + put(grammarAccess.getNumberLiteralAccess().getAlternatives(), "rule__NumberLiteral__Alternatives"); + put(grammarAccess.getProductOperationAccess().getAlternatives(), "rule__ProductOperation__Alternatives"); + put(grammarAccess.getTermOperationAccess().getAlternatives(), "rule__TermOperation__Alternatives"); + put(grammarAccess.getCompareOperationAccess().getAlternatives(), "rule__CompareOperation__Alternatives"); + put(grammarAccess.getBooleanOperationAccess().getAlternatives(), "rule__BooleanOperation__Alternatives"); + put(grammarAccess.getDoubleAccess().getGroup(), "rule__Double__Group__0"); + put(grammarAccess.getIntegerAccess().getGroup(), "rule__Integer__Group__0"); + put(grammarAccess.getIfElseExpressionAccess().getGroup(), "rule__IfElseExpression__Group__0"); + put(grammarAccess.getIfElseExpressionAccess().getGroup_1(), "rule__IfElseExpression__Group_1__0"); + put(grammarAccess.getBinaryBooleanExpressionAccess().getGroup(), "rule__BinaryBooleanExpression__Group__0"); + put(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1(), "rule__BinaryBooleanExpression__Group_1__0"); + put(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0(), "rule__UnaryBooleanExpression__Group_0__0"); + put(grammarAccess.getComparisonAccess().getGroup(), "rule__Comparison__Group__0"); + put(grammarAccess.getComparisonAccess().getGroup_1(), "rule__Comparison__Group_1__0"); put(grammarAccess.getTermAccess().getGroup(), "rule__Term__Group__0"); put(grammarAccess.getTermAccess().getGroup_1(), "rule__Term__Group_1__0"); - put(grammarAccess.getTypesAccess().getGroup_2(), "rule__Types__Group_2__0"); - put(grammarAccess.getArithmeticsAccess().getGroup(), "rule__Arithmetics__Group__0"); - put(grammarAccess.getStringsAccess().getGroup(), "rule__Strings__Group__0"); - put(grammarAccess.getDECIMALAccess().getGroup(), "rule__DECIMAL__Group__0"); - put(grammarAccess.getDECIMALAccess().getGroup_2(), "rule__DECIMAL__Group_2__0"); + put(grammarAccess.getProductAccess().getGroup(), "rule__Product__Group__0"); + put(grammarAccess.getProductAccess().getGroup_1(), "rule__Product__Group_1__0"); + put(grammarAccess.getPowerAccess().getGroup(), "rule__Power__Group__0"); + put(grammarAccess.getPowerAccess().getGroup_1(), "rule__Power__Group_1__0"); + put(grammarAccess.getAtomAccess().getGroup_1(), "rule__Atom__Group_1__0"); + put(grammarAccess.getFunctionAccess().getGroup(), "rule__Function__Group__0"); + put(grammarAccess.getFunctionAccess().getGroup_2(), "rule__Function__Group_2__0"); + put(grammarAccess.getFunctionAccess().getGroup_2_1(), "rule__Function__Group_2_1__0"); put(grammarAccess.getModelAccess().getTermsAssignment(), "rule__Model__TermsAssignment"); - put(grammarAccess.getTermAccess().getOperationsAssignment_1_1(), "rule__Term__OperationsAssignment_1_1"); + put(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2(), "rule__IfElseExpression__TrueExpAssignment_1_2"); + put(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4(), "rule__IfElseExpression__FalseExpAssignment_1_4"); + put(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1(), "rule__BinaryBooleanExpression__OperationAssignment_1_1"); + put(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2(), "rule__BinaryBooleanExpression__RightAssignment_1_2"); + put(grammarAccess.getComparisonAccess().getOperationAssignment_1_1(), "rule__Comparison__OperationAssignment_1_1"); + put(grammarAccess.getComparisonAccess().getRightAssignment_1_2(), "rule__Comparison__RightAssignment_1_2"); + put(grammarAccess.getTermAccess().getOperationAssignment_1_1(), "rule__Term__OperationAssignment_1_1"); put(grammarAccess.getTermAccess().getRightAssignment_1_2(), "rule__Term__RightAssignment_1_2"); - put(grammarAccess.getOperationsAccess().getTermOperationsAssignment(), "rule__Operations__TermOperationsAssignment"); + put(grammarAccess.getProductAccess().getOperationAssignment_1_1(), "rule__Product__OperationAssignment_1_1"); + put(grammarAccess.getProductAccess().getRightAssignment_1_2(), "rule__Product__RightAssignment_1_2"); + put(grammarAccess.getPowerAccess().getExponentAssignment_1_2(), "rule__Power__ExponentAssignment_1_2"); + put(grammarAccess.getFunctionAccess().getNameAssignment_0(), "rule__Function__NameAssignment_0"); + put(grammarAccess.getFunctionAccess().getParametersAssignment_2_0(), "rule__Function__ParametersAssignment_2_0"); + put(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1(), "rule__Function__ParametersAssignment_2_1_1"); + put(grammarAccess.getFormalParameterAccess().getValueAssignment(), "rule__FormalParameter__ValueAssignment"); + put(grammarAccess.getBooleanLiteralAccess().getValueAssignment(), "rule__BooleanLiteral__ValueAssignment"); + put(grammarAccess.getIntLiteralAccess().getValueAssignment(), "rule__IntLiteral__ValueAssignment"); + put(grammarAccess.getDoubleLiteralAccess().getValueAssignment(), "rule__DoubleLiteral__ValueAssignment"); } }; } diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g index fc95b5bdf60f577a56fea7eeb6fa0ace270ba05f..12722cf3bdb8c9a92d69500f91e2883a51008dc5 100644 --- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g +++ b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g @@ -84,6 +84,258 @@ finally { +// Entry rule entryRuleDouble +entryRuleDouble +: +{ before(grammarAccess.getDoubleRule()); } + ruleDouble +{ after(grammarAccess.getDoubleRule()); } + EOF +; + +// Rule Double +ruleDouble + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getDoubleAccess().getGroup()); } +(rule__Double__Group__0) +{ after(grammarAccess.getDoubleAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleInteger +entryRuleInteger +: +{ before(grammarAccess.getIntegerRule()); } + ruleInteger +{ after(grammarAccess.getIntegerRule()); } + EOF +; + +// Rule Integer +ruleInteger + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getIntegerAccess().getGroup()); } +(rule__Integer__Group__0) +{ after(grammarAccess.getIntegerAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleEString +entryRuleEString +: +{ before(grammarAccess.getEStringRule()); } + ruleEString +{ after(grammarAccess.getEStringRule()); } + EOF +; + +// Rule EString +ruleEString + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getEStringAccess().getAlternatives()); } +(rule__EString__Alternatives) +{ after(grammarAccess.getEStringAccess().getAlternatives()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleEBoolean +entryRuleEBoolean +: +{ before(grammarAccess.getEBooleanRule()); } + ruleEBoolean +{ after(grammarAccess.getEBooleanRule()); } + EOF +; + +// Rule EBoolean +ruleEBoolean + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getEBooleanAccess().getAlternatives()); } +(rule__EBoolean__Alternatives) +{ after(grammarAccess.getEBooleanAccess().getAlternatives()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleRootExpression +entryRuleRootExpression +: +{ before(grammarAccess.getRootExpressionRule()); } + ruleRootExpression +{ after(grammarAccess.getRootExpressionRule()); } + EOF +; + +// Rule RootExpression +ruleRootExpression + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); } + ruleIfElseExpression +{ after(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleIfElseExpression +entryRuleIfElseExpression +: +{ before(grammarAccess.getIfElseExpressionRule()); } + ruleIfElseExpression +{ after(grammarAccess.getIfElseExpressionRule()); } + EOF +; + +// Rule IfElseExpression +ruleIfElseExpression + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getIfElseExpressionAccess().getGroup()); } +(rule__IfElseExpression__Group__0) +{ after(grammarAccess.getIfElseExpressionAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleBinaryBooleanExpression +entryRuleBinaryBooleanExpression +: +{ before(grammarAccess.getBinaryBooleanExpressionRule()); } + ruleBinaryBooleanExpression +{ after(grammarAccess.getBinaryBooleanExpressionRule()); } + EOF +; + +// Rule BinaryBooleanExpression +ruleBinaryBooleanExpression + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getBinaryBooleanExpressionAccess().getGroup()); } +(rule__BinaryBooleanExpression__Group__0) +{ after(grammarAccess.getBinaryBooleanExpressionAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleUnaryBooleanExpression +entryRuleUnaryBooleanExpression +: +{ before(grammarAccess.getUnaryBooleanExpressionRule()); } + ruleUnaryBooleanExpression +{ after(grammarAccess.getUnaryBooleanExpressionRule()); } + EOF +; + +// Rule UnaryBooleanExpression +ruleUnaryBooleanExpression + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives()); } +(rule__UnaryBooleanExpression__Alternatives) +{ after(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleComparison +entryRuleComparison +: +{ before(grammarAccess.getComparisonRule()); } + ruleComparison +{ after(grammarAccess.getComparisonRule()); } + EOF +; + +// Rule Comparison +ruleComparison + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getComparisonAccess().getGroup()); } +(rule__Comparison__Group__0) +{ after(grammarAccess.getComparisonAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + // Entry rule entryRuleTerm entryRuleTerm : @@ -112,25 +364,165 @@ finally { -// Entry rule entryRuleTypes -entryRuleTypes +// Entry rule entryRuleProduct +entryRuleProduct +: +{ before(grammarAccess.getProductRule()); } + ruleProduct +{ after(grammarAccess.getProductRule()); } + EOF +; + +// Rule Product +ruleProduct + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getProductAccess().getGroup()); } +(rule__Product__Group__0) +{ after(grammarAccess.getProductAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRulePower +entryRulePower +: +{ before(grammarAccess.getPowerRule()); } + rulePower +{ after(grammarAccess.getPowerRule()); } + EOF +; + +// Rule Power +rulePower + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getPowerAccess().getGroup()); } +(rule__Power__Group__0) +{ after(grammarAccess.getPowerAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleAtom +entryRuleAtom +: +{ before(grammarAccess.getAtomRule()); } + ruleAtom +{ after(grammarAccess.getAtomRule()); } + EOF +; + +// Rule Atom +ruleAtom + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getAtomAccess().getAlternatives()); } +(rule__Atom__Alternatives) +{ after(grammarAccess.getAtomAccess().getAlternatives()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleFunction +entryRuleFunction +: +{ before(grammarAccess.getFunctionRule()); } + ruleFunction +{ after(grammarAccess.getFunctionRule()); } + EOF +; + +// Rule Function +ruleFunction + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getFunctionAccess().getGroup()); } +(rule__Function__Group__0) +{ after(grammarAccess.getFunctionAccess().getGroup()); } +) + +; +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 entryRuleFormalParameter +entryRuleFormalParameter : -{ before(grammarAccess.getTypesRule()); } - ruleTypes -{ after(grammarAccess.getTypesRule()); } +{ before(grammarAccess.getFormalParameterRule()); } + ruleFormalParameter +{ after(grammarAccess.getFormalParameterRule()); } EOF ; -// Rule Types -ruleTypes +// Rule FormalParameter +ruleFormalParameter @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTypesAccess().getAlternatives()); } -(rule__Types__Alternatives) -{ after(grammarAccess.getTypesAccess().getAlternatives()); } +{ before(grammarAccess.getFormalParameterAccess().getValueAssignment()); } +(rule__FormalParameter__ValueAssignment) +{ after(grammarAccess.getFormalParameterAccess().getValueAssignment()); } ) ; @@ -140,25 +532,25 @@ finally { -// Entry rule entryRuleArithmetics -entryRuleArithmetics +// Entry rule entryRuleBooleanLiteral +entryRuleBooleanLiteral : -{ before(grammarAccess.getArithmeticsRule()); } - ruleArithmetics -{ after(grammarAccess.getArithmeticsRule()); } +{ before(grammarAccess.getBooleanLiteralRule()); } + ruleBooleanLiteral +{ after(grammarAccess.getBooleanLiteralRule()); } EOF ; -// Rule Arithmetics -ruleArithmetics +// Rule BooleanLiteral +ruleBooleanLiteral @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getArithmeticsAccess().getGroup()); } -(rule__Arithmetics__Group__0) -{ after(grammarAccess.getArithmeticsAccess().getGroup()); } +{ before(grammarAccess.getBooleanLiteralAccess().getValueAssignment()); } +(rule__BooleanLiteral__ValueAssignment) +{ after(grammarAccess.getBooleanLiteralAccess().getValueAssignment()); } ) ; @@ -168,25 +560,1603 @@ finally { -// Entry rule entryRuleStrings -entryRuleStrings +// Entry rule entryRuleNumberLiteral +entryRuleNumberLiteral : -{ before(grammarAccess.getStringsRule()); } - ruleStrings -{ after(grammarAccess.getStringsRule()); } +{ before(grammarAccess.getNumberLiteralRule()); } + ruleNumberLiteral +{ after(grammarAccess.getNumberLiteralRule()); } EOF ; -// Rule Strings -ruleStrings +// Rule NumberLiteral +ruleNumberLiteral + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getNumberLiteralAccess().getAlternatives()); } +(rule__NumberLiteral__Alternatives) +{ after(grammarAccess.getNumberLiteralAccess().getAlternatives()); } +) + +; +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().getValueAssignment()); } +(rule__IntLiteral__ValueAssignment) +{ after(grammarAccess.getIntLiteralAccess().getValueAssignment()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleDoubleLiteral +entryRuleDoubleLiteral +: +{ before(grammarAccess.getDoubleLiteralRule()); } + ruleDoubleLiteral +{ after(grammarAccess.getDoubleLiteralRule()); } + EOF +; + +// Rule DoubleLiteral +ruleDoubleLiteral + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getDoubleLiteralAccess().getValueAssignment()); } +(rule__DoubleLiteral__ValueAssignment) +{ after(grammarAccess.getDoubleLiteralAccess().getValueAssignment()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + +// Rule ProductOperation +ruleProductOperation + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getProductOperationAccess().getAlternatives()); } +(rule__ProductOperation__Alternatives) +{ after(grammarAccess.getProductOperationAccess().getAlternatives()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Rule TermOperation +ruleTermOperation + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTermOperationAccess().getAlternatives()); } +(rule__TermOperation__Alternatives) +{ after(grammarAccess.getTermOperationAccess().getAlternatives()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Rule CompareOperation +ruleCompareOperation + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getCompareOperationAccess().getAlternatives()); } +(rule__CompareOperation__Alternatives) +{ after(grammarAccess.getCompareOperationAccess().getAlternatives()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Rule BooleanOperation +ruleBooleanOperation + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getBooleanOperationAccess().getAlternatives()); } +(rule__BooleanOperation__Alternatives) +{ after(grammarAccess.getBooleanOperationAccess().getAlternatives()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +rule__EString__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); } + RULE_STRING +{ after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); } +) + + |( +{ before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); } + RULE_ID +{ after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__EBoolean__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getEBooleanAccess().getTrueKeyword_0()); } + + 'true' + +{ after(grammarAccess.getEBooleanAccess().getTrueKeyword_0()); } +) + + |( +{ before(grammarAccess.getEBooleanAccess().getFalseKeyword_1()); } + + 'false' + +{ after(grammarAccess.getEBooleanAccess().getFalseKeyword_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryBooleanExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0()); } +(rule__UnaryBooleanExpression__Group_0__0) +{ after(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0()); } +) + + |( +{ before(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); } + ruleComparison +{ after(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__Atom__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); } + ruleLiteral +{ after(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); } +) + + |( +{ before(grammarAccess.getAtomAccess().getGroup_1()); } +(rule__Atom__Group_1__0) +{ after(grammarAccess.getAtomAccess().getGroup_1()); } +) + + |( +{ before(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); } + ruleFunction +{ after(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__Literal__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); } + ruleNumberLiteral +{ after(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); } +) + + |( +{ before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); } + ruleBooleanLiteral +{ after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); } +) + + |( +{ before(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); } + ruleFormalParameter +{ after(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__NumberLiteral__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); } + ruleIntLiteral +{ after(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); } +) + + |( +{ before(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); } + ruleDoubleLiteral +{ after(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__ProductOperation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); } +( '*' +) +{ after(grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); } +) + + |( +{ before(grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); } +( '/' +) +{ after(grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); } +) + + |( +{ before(grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); } +( '%' +) +{ after(grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__TermOperation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); } +( '+' +) +{ after(grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); } +) + + |( +{ before(grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); } +( '-' +) +{ after(grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__CompareOperation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); } +( '>' +) +{ after(grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); } +) + + |( +{ before(grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); } +( '<' +) +{ after(grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); } +) + + |( +{ before(grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); } +( '=' +) +{ after(grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); } +) + + |( +{ before(grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); } +( '!=' +) +{ after(grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); } +) + + |( +{ before(grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); } +( '<=' +) +{ after(grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); } +) + + |( +{ before(grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); } +( '>=' +) +{ after(grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanOperation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); } +( 'AND' +) +{ after(grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); } +) + + |( +{ before(grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); } +( 'OR' +) +{ after(grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); } +) + + |( +{ before(grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); } +( 'XOR' +) +{ after(grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +rule__Double__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Double__Group__0__Impl + rule__Double__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Double__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); } +( + '-' +)? +{ after(grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Double__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Double__Group__1__Impl + rule__Double__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Double__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); } + RULE_INT +{ after(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Double__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Double__Group__2__Impl + rule__Double__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Double__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getDoubleAccess().getFullStopKeyword_2()); } + + '.' + +{ after(grammarAccess.getDoubleAccess().getFullStopKeyword_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Double__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Double__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Double__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); } + RULE_INT +{ after(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + + + +rule__Integer__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Integer__Group__0__Impl + rule__Integer__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Integer__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); } +( + '-' +)? +{ after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Integer__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Integer__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Integer__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); } + RULE_INT +{ after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__IfElseExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElseExpression__Group__0__Impl + rule__IfElseExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElseExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); } + ruleBinaryBooleanExpression +{ after(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfElseExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElseExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElseExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIfElseExpressionAccess().getGroup_1()); } +(rule__IfElseExpression__Group_1__0)? +{ after(grammarAccess.getIfElseExpressionAccess().getGroup_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__IfElseExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElseExpression__Group_1__0__Impl + rule__IfElseExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElseExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0()); } +( + +) +{ after(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfElseExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElseExpression__Group_1__1__Impl + rule__IfElseExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElseExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); } + + '?' + +{ after(grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfElseExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElseExpression__Group_1__2__Impl + rule__IfElseExpression__Group_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElseExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2()); } +(rule__IfElseExpression__TrueExpAssignment_1_2) +{ after(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfElseExpression__Group_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElseExpression__Group_1__3__Impl + rule__IfElseExpression__Group_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElseExpression__Group_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); } + + ':' + +{ after(grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__IfElseExpression__Group_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IfElseExpression__Group_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IfElseExpression__Group_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4()); } +(rule__IfElseExpression__FalseExpAssignment_1_4) +{ after(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + + + + + +rule__BinaryBooleanExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BinaryBooleanExpression__Group__0__Impl + rule__BinaryBooleanExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BinaryBooleanExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); } + ruleUnaryBooleanExpression +{ after(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__BinaryBooleanExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BinaryBooleanExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BinaryBooleanExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1()); } +(rule__BinaryBooleanExpression__Group_1__0)* +{ after(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__BinaryBooleanExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BinaryBooleanExpression__Group_1__0__Impl + rule__BinaryBooleanExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BinaryBooleanExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0()); } +( + +) +{ after(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__BinaryBooleanExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BinaryBooleanExpression__Group_1__1__Impl + rule__BinaryBooleanExpression__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__BinaryBooleanExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1()); } +(rule__BinaryBooleanExpression__OperationAssignment_1_1) +{ after(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__BinaryBooleanExpression__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__BinaryBooleanExpression__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BinaryBooleanExpression__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2()); } +(rule__BinaryBooleanExpression__RightAssignment_1_2) +{ after(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + +rule__UnaryBooleanExpression__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryBooleanExpression__Group_0__0__Impl + rule__UnaryBooleanExpression__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryBooleanExpression__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); } + + 'NOT' + +{ after(grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryBooleanExpression__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryBooleanExpression__Group_0__1__Impl + rule__UnaryBooleanExpression__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryBooleanExpression__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); } + ruleComparison +{ after(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryBooleanExpression__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryBooleanExpression__Group_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryBooleanExpression__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()); } +( + +) +{ after(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + +rule__Comparison__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group__0__Impl + rule__Comparison__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); } + ruleTerm +{ after(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getComparisonAccess().getGroup_1()); } +(rule__Comparison__Group_1__0)* +{ after(grammarAccess.getComparisonAccess().getGroup_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__Comparison__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1__0__Impl + rule__Comparison__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0()); } +( + +) +{ after(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1__1__Impl + rule__Comparison__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getComparisonAccess().getOperationAssignment_1_1()); } +(rule__Comparison__OperationAssignment_1_1) +{ after(grammarAccess.getComparisonAccess().getOperationAssignment_1_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getComparisonAccess().getRightAssignment_1_2()); } +(rule__Comparison__RightAssignment_1_2) +{ after(grammarAccess.getComparisonAccess().getRightAssignment_1_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + +rule__Term__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Term__Group__0__Impl + rule__Term__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Term__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTermAccess().getProductParserRuleCall_0()); } + ruleProduct +{ after(grammarAccess.getTermAccess().getProductParserRuleCall_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Term__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Term__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Term__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTermAccess().getGroup_1()); } +(rule__Term__Group_1__0)* +{ after(grammarAccess.getTermAccess().getGroup_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__Term__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Term__Group_1__0__Impl + rule__Term__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Term__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTermAccess().getTermLeftAction_1_0()); } +( + +) +{ after(grammarAccess.getTermAccess().getTermLeftAction_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Term__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Term__Group_1__1__Impl + rule__Term__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Term__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTermAccess().getOperationAssignment_1_1()); } +(rule__Term__OperationAssignment_1_1) +{ after(grammarAccess.getTermAccess().getOperationAssignment_1_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Term__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Term__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Term__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTermAccess().getRightAssignment_1_2()); } +(rule__Term__RightAssignment_1_2) +{ after(grammarAccess.getTermAccess().getRightAssignment_1_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + +rule__Product__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Product__Group__0__Impl + rule__Product__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Product__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); } + rulePower +{ after(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Product__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Product__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Product__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getProductAccess().getGroup_1()); } +(rule__Product__Group_1__0)* +{ after(grammarAccess.getProductAccess().getGroup_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__Product__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Product__Group_1__0__Impl + rule__Product__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Product__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getProductAccess().getProductLeftAction_1_0()); } +( + +) +{ after(grammarAccess.getProductAccess().getProductLeftAction_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Product__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Product__Group_1__1__Impl + rule__Product__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Product__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getProductAccess().getOperationAssignment_1_1()); } +(rule__Product__OperationAssignment_1_1) +{ after(grammarAccess.getProductAccess().getOperationAssignment_1_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Product__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Product__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Product__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getProductAccess().getRightAssignment_1_2()); } +(rule__Product__RightAssignment_1_2) +{ after(grammarAccess.getProductAccess().getRightAssignment_1_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + +rule__Power__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Power__Group__0__Impl + rule__Power__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Power__Group__0__Impl @init { int stackSize = keepStackSize(); } - : +: ( -{ before(grammarAccess.getStringsAccess().getGroup()); } -(rule__Strings__Group__0) -{ after(grammarAccess.getStringsAccess().getGroup()); } +{ before(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); } + ruleAtom +{ after(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); } ) ; @@ -195,26 +2165,26 @@ finally { } - -// Entry rule entryRuleDECIMAL -entryRuleDECIMAL +rule__Power__Group__1 + @init { + int stackSize = keepStackSize(); + } : -{ before(grammarAccess.getDECIMALRule()); } - ruleDECIMAL -{ after(grammarAccess.getDECIMALRule()); } - EOF + rule__Power__Group__1__Impl ; +finally { + restoreStackSize(stackSize); +} -// Rule DECIMAL -ruleDECIMAL +rule__Power__Group__1__Impl @init { int stackSize = keepStackSize(); } - : +: ( -{ before(grammarAccess.getDECIMALAccess().getGroup()); } -(rule__DECIMAL__Group__0) -{ after(grammarAccess.getDECIMALAccess().getGroup()); } +{ before(grammarAccess.getPowerAccess().getGroup_1()); } +(rule__Power__Group_1__0)* +{ after(grammarAccess.getPowerAccess().getGroup_1()); } ) ; @@ -224,53 +2194,32 @@ finally { -// Entry rule entryRuleE_STRING -entryRuleE_STRING -: -{ before(grammarAccess.getE_STRINGRule()); } - ruleE_STRING -{ after(grammarAccess.getE_STRINGRule()); } - EOF -; -// Rule E_STRING -ruleE_STRING + + +rule__Power__Group_1__0 @init { int stackSize = keepStackSize(); } - : -( -{ before(grammarAccess.getE_STRINGAccess().getAlternatives()); } -(rule__E_STRING__Alternatives) -{ after(grammarAccess.getE_STRINGAccess().getAlternatives()); } -) - +: + rule__Power__Group_1__0__Impl + rule__Power__Group_1__1 ; finally { restoreStackSize(stackSize); } - - -// Entry rule entryRuleOperations -entryRuleOperations -: -{ before(grammarAccess.getOperationsRule()); } - ruleOperations -{ after(grammarAccess.getOperationsRule()); } - EOF -; - -// Rule Operations -ruleOperations +rule__Power__Group_1__0__Impl @init { int stackSize = keepStackSize(); } - : +: +( +{ before(grammarAccess.getPowerAccess().getPowerBaseAction_1_0()); } ( -{ before(grammarAccess.getOperationsAccess().getTermOperationsAssignment()); } -(rule__Operations__TermOperationsAssignment) -{ after(grammarAccess.getOperationsAccess().getTermOperationsAssignment()); } + +) +{ after(grammarAccess.getPowerAccess().getPowerBaseAction_1_0()); } ) ; @@ -279,48 +2228,29 @@ finally { } - - -// Rule OperationsType -ruleOperationsType +rule__Power__Group_1__1 @init { int stackSize = keepStackSize(); } : -( -{ before(grammarAccess.getOperationsTypeAccess().getAlternatives()); } -(rule__OperationsType__Alternatives) -{ after(grammarAccess.getOperationsTypeAccess().getAlternatives()); } -) - + rule__Power__Group_1__1__Impl + rule__Power__Group_1__2 ; finally { restoreStackSize(stackSize); } - - -rule__Types__Alternatives +rule__Power__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTypesAccess().getArithmeticsParserRuleCall_0()); } - ruleArithmetics -{ after(grammarAccess.getTypesAccess().getArithmeticsParserRuleCall_0()); } -) +{ before(grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); } - |( -{ before(grammarAccess.getTypesAccess().getStringsParserRuleCall_1()); } - ruleStrings -{ after(grammarAccess.getTypesAccess().getStringsParserRuleCall_1()); } -) + '^' - |( -{ before(grammarAccess.getTypesAccess().getGroup_2()); } -(rule__Types__Group_2__0) -{ after(grammarAccess.getTypesAccess().getGroup_2()); } +{ after(grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); } ) ; @@ -328,129 +2258,64 @@ finally { restoreStackSize(stackSize); } -rule__E_STRING__Alternatives + +rule__Power__Group_1__2 @init { int stackSize = keepStackSize(); } : -( -{ before(grammarAccess.getE_STRINGAccess().getSTRINGTerminalRuleCall_0()); } - RULE_STRING -{ after(grammarAccess.getE_STRINGAccess().getSTRINGTerminalRuleCall_0()); } -) - - |( -{ before(grammarAccess.getE_STRINGAccess().getIDTerminalRuleCall_1()); } - RULE_ID -{ after(grammarAccess.getE_STRINGAccess().getIDTerminalRuleCall_1()); } -) - + rule__Power__Group_1__2__Impl ; finally { restoreStackSize(stackSize); } -rule__OperationsType__Alternatives +rule__Power__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getOperationsTypeAccess().getADDEnumLiteralDeclaration_0()); } -( '+' -) -{ after(grammarAccess.getOperationsTypeAccess().getADDEnumLiteralDeclaration_0()); } +{ before(grammarAccess.getPowerAccess().getExponentAssignment_1_2()); } +(rule__Power__ExponentAssignment_1_2) +{ after(grammarAccess.getPowerAccess().getExponentAssignment_1_2()); } ) - |( -{ before(grammarAccess.getOperationsTypeAccess().getSUBEnumLiteralDeclaration_1()); } -( '-' -) -{ after(grammarAccess.getOperationsTypeAccess().getSUBEnumLiteralDeclaration_1()); } -) - - |( -{ before(grammarAccess.getOperationsTypeAccess().getMULTEnumLiteralDeclaration_2()); } -( '*' -) -{ after(grammarAccess.getOperationsTypeAccess().getMULTEnumLiteralDeclaration_2()); } -) +; +finally { + restoreStackSize(stackSize); +} - |( -{ before(grammarAccess.getOperationsTypeAccess().getDIVEnumLiteralDeclaration_3()); } -( '/' -) -{ after(grammarAccess.getOperationsTypeAccess().getDIVEnumLiteralDeclaration_3()); } -) - |( -{ before(grammarAccess.getOperationsTypeAccess().getMODEnumLiteralDeclaration_4()); } -( '%' -) -{ after(grammarAccess.getOperationsTypeAccess().getMODEnumLiteralDeclaration_4()); } -) - |( -{ before(grammarAccess.getOperationsTypeAccess().getGREATEREnumLiteralDeclaration_5()); } -( '>' -) -{ after(grammarAccess.getOperationsTypeAccess().getGREATEREnumLiteralDeclaration_5()); } -) - |( -{ before(grammarAccess.getOperationsTypeAccess().getLESSEnumLiteralDeclaration_6()); } -( '<' -) -{ after(grammarAccess.getOperationsTypeAccess().getLESSEnumLiteralDeclaration_6()); } -) - |( -{ before(grammarAccess.getOperationsTypeAccess().getEQUALSEnumLiteralDeclaration_7()); } -( '=' -) -{ after(grammarAccess.getOperationsTypeAccess().getEQUALSEnumLiteralDeclaration_7()); } -) - |( -{ before(grammarAccess.getOperationsTypeAccess().getNOTEQUALEnumLiteralDeclaration_8()); } -( '!=' -) -{ after(grammarAccess.getOperationsTypeAccess().getNOTEQUALEnumLiteralDeclaration_8()); } -) - |( -{ before(grammarAccess.getOperationsTypeAccess().getLESSEQUALEnumLiteralDeclaration_9()); } -( '<=' -) -{ after(grammarAccess.getOperationsTypeAccess().getLESSEQUALEnumLiteralDeclaration_9()); } -) - |( -{ before(grammarAccess.getOperationsTypeAccess().getGREATEREQUALEnumLiteralDeclaration_10()); } -( '>=' -) -{ after(grammarAccess.getOperationsTypeAccess().getGREATEREQUALEnumLiteralDeclaration_10()); } -) +rule__Atom__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Atom__Group_1__0__Impl + rule__Atom__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} - |( -{ before(grammarAccess.getOperationsTypeAccess().getANDEnumLiteralDeclaration_11()); } -( 'AND' -) -{ after(grammarAccess.getOperationsTypeAccess().getANDEnumLiteralDeclaration_11()); } -) +rule__Atom__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); } - |( -{ before(grammarAccess.getOperationsTypeAccess().getOREnumLiteralDeclaration_12()); } -( 'OR' -) -{ after(grammarAccess.getOperationsTypeAccess().getOREnumLiteralDeclaration_12()); } -) + '(' - |( -{ before(grammarAccess.getOperationsTypeAccess().getXOREnumLiteralDeclaration_13()); } -( 'XOR' -) -{ after(grammarAccess.getOperationsTypeAccess().getXOREnumLiteralDeclaration_13()); } +{ after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); } ) ; @@ -459,28 +2324,27 @@ finally { } - -rule__Term__Group__0 +rule__Atom__Group_1__1 @init { int stackSize = keepStackSize(); } : - rule__Term__Group__0__Impl - rule__Term__Group__1 + rule__Atom__Group_1__1__Impl + rule__Atom__Group_1__2 ; finally { restoreStackSize(stackSize); } -rule__Term__Group__0__Impl +rule__Atom__Group_1__1__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTermAccess().getTypesParserRuleCall_0()); } - ruleTypes -{ after(grammarAccess.getTermAccess().getTypesParserRuleCall_0()); } +{ before(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); } + ruleRootExpression +{ after(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); } ) ; @@ -489,26 +2353,28 @@ finally { } -rule__Term__Group__1 +rule__Atom__Group_1__2 @init { int stackSize = keepStackSize(); } : - rule__Term__Group__1__Impl + rule__Atom__Group_1__2__Impl ; finally { restoreStackSize(stackSize); } -rule__Term__Group__1__Impl +rule__Atom__Group_1__2__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTermAccess().getGroup_1()); } -(rule__Term__Group_1__0)* -{ after(grammarAccess.getTermAccess().getGroup_1()); } +{ before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); } + + ')' + +{ after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); } ) ; @@ -521,29 +2387,29 @@ finally { -rule__Term__Group_1__0 + + +rule__Function__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Term__Group_1__0__Impl - rule__Term__Group_1__1 + rule__Function__Group__0__Impl + rule__Function__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Term__Group_1__0__Impl +rule__Function__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTermAccess().getTermLeftAction_1_0()); } -( - -) -{ after(grammarAccess.getTermAccess().getTermLeftAction_1_0()); } +{ before(grammarAccess.getFunctionAccess().getNameAssignment_0()); } +(rule__Function__NameAssignment_0) +{ after(grammarAccess.getFunctionAccess().getNameAssignment_0()); } ) ; @@ -552,27 +2418,29 @@ finally { } -rule__Term__Group_1__1 +rule__Function__Group__1 @init { int stackSize = keepStackSize(); } : - rule__Term__Group_1__1__Impl - rule__Term__Group_1__2 + rule__Function__Group__1__Impl + rule__Function__Group__2 ; finally { restoreStackSize(stackSize); } -rule__Term__Group_1__1__Impl +rule__Function__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTermAccess().getOperationsAssignment_1_1()); } -(rule__Term__OperationsAssignment_1_1) -{ after(grammarAccess.getTermAccess().getOperationsAssignment_1_1()); } +{ before(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); } + + '(' + +{ after(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); } ) ; @@ -581,26 +2449,27 @@ finally { } -rule__Term__Group_1__2 +rule__Function__Group__2 @init { int stackSize = keepStackSize(); } : - rule__Term__Group_1__2__Impl + rule__Function__Group__2__Impl + rule__Function__Group__3 ; finally { restoreStackSize(stackSize); } -rule__Term__Group_1__2__Impl +rule__Function__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTermAccess().getRightAssignment_1_2()); } -(rule__Term__RightAssignment_1_2) -{ after(grammarAccess.getTermAccess().getRightAssignment_1_2()); } +{ before(grammarAccess.getFunctionAccess().getGroup_2()); } +(rule__Function__Group_2__0)? +{ after(grammarAccess.getFunctionAccess().getGroup_2()); } ) ; @@ -609,35 +2478,28 @@ finally { } - - - - - - -rule__Types__Group_2__0 +rule__Function__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Types__Group_2__0__Impl - rule__Types__Group_2__1 + rule__Function__Group__3__Impl ; finally { restoreStackSize(stackSize); } -rule__Types__Group_2__0__Impl +rule__Function__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTypesAccess().getLeftParenthesisKeyword_2_0()); } +{ before(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); } - '(' + ')' -{ after(grammarAccess.getTypesAccess().getLeftParenthesisKeyword_2_0()); } +{ after(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); } ) ; @@ -646,27 +2508,35 @@ finally { } -rule__Types__Group_2__1 + + + + + + + + +rule__Function__Group_2__0 @init { int stackSize = keepStackSize(); } : - rule__Types__Group_2__1__Impl - rule__Types__Group_2__2 + rule__Function__Group_2__0__Impl + rule__Function__Group_2__1 ; finally { restoreStackSize(stackSize); } -rule__Types__Group_2__1__Impl +rule__Function__Group_2__0__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTypesAccess().getTermParserRuleCall_2_1()); } - ruleTerm -{ after(grammarAccess.getTypesAccess().getTermParserRuleCall_2_1()); } +{ before(grammarAccess.getFunctionAccess().getParametersAssignment_2_0()); } +(rule__Function__ParametersAssignment_2_0) +{ after(grammarAccess.getFunctionAccess().getParametersAssignment_2_0()); } ) ; @@ -675,28 +2545,26 @@ finally { } -rule__Types__Group_2__2 +rule__Function__Group_2__1 @init { int stackSize = keepStackSize(); } : - rule__Types__Group_2__2__Impl + rule__Function__Group_2__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Types__Group_2__2__Impl +rule__Function__Group_2__1__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTypesAccess().getRightParenthesisKeyword_2_2()); } - - ')' - -{ after(grammarAccess.getTypesAccess().getRightParenthesisKeyword_2_2()); } +{ before(grammarAccess.getFunctionAccess().getGroup_2_1()); } +(rule__Function__Group_2_1__0)* +{ after(grammarAccess.getFunctionAccess().getGroup_2_1()); } ) ; @@ -709,31 +2577,29 @@ finally { - - -rule__Arithmetics__Group__0 +rule__Function__Group_2_1__0 @init { int stackSize = keepStackSize(); } : - rule__Arithmetics__Group__0__Impl - rule__Arithmetics__Group__1 + rule__Function__Group_2_1__0__Impl + rule__Function__Group_2_1__1 ; finally { restoreStackSize(stackSize); } -rule__Arithmetics__Group__0__Impl +rule__Function__Group_2_1__0__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getArithmeticsAccess().getExpressionAction_0()); } -( +{ before(grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); } -) -{ after(grammarAccess.getArithmeticsAccess().getExpressionAction_0()); } + ',' + +{ after(grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); } ) ; @@ -742,26 +2608,26 @@ finally { } -rule__Arithmetics__Group__1 +rule__Function__Group_2_1__1 @init { int stackSize = keepStackSize(); } : - rule__Arithmetics__Group__1__Impl + rule__Function__Group_2_1__1__Impl ; finally { restoreStackSize(stackSize); } -rule__Arithmetics__Group__1__Impl +rule__Function__Group_2_1__1__Impl @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getArithmeticsAccess().getDECIMALParserRuleCall_1()); } - ruleDECIMAL -{ after(grammarAccess.getArithmeticsAccess().getDECIMALParserRuleCall_1()); } +{ before(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1()); } +(rule__Function__ParametersAssignment_2_1_1) +{ after(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1()); } ) ; @@ -774,29 +2640,30 @@ finally { -rule__Strings__Group__0 + +rule__Model__TermsAssignment @init { int stackSize = keepStackSize(); } : - rule__Strings__Group__0__Impl - rule__Strings__Group__1 +( +{ before(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); } + ruleIfElseExpression{ after(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); } +) + ; finally { restoreStackSize(stackSize); } -rule__Strings__Group__0__Impl +rule__IfElseExpression__TrueExpAssignment_1_2 @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getStringsAccess().getExpressionAction_0()); } -( - -) -{ after(grammarAccess.getStringsAccess().getExpressionAction_0()); } +{ before(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); } + ruleIfElseExpression{ after(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); } ) ; @@ -804,27 +2671,29 @@ finally { restoreStackSize(stackSize); } - -rule__Strings__Group__1 +rule__IfElseExpression__FalseExpAssignment_1_4 @init { int stackSize = keepStackSize(); } : - rule__Strings__Group__1__Impl +( +{ before(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); } + ruleIfElseExpression{ after(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); } +) + ; finally { restoreStackSize(stackSize); } -rule__Strings__Group__1__Impl +rule__BinaryBooleanExpression__OperationAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getStringsAccess().getE_STRINGParserRuleCall_1()); } - ruleE_STRING -{ after(grammarAccess.getStringsAccess().getE_STRINGParserRuleCall_1()); } +{ before(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); } + ruleBooleanOperation{ after(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); } ) ; @@ -832,34 +2701,29 @@ finally { restoreStackSize(stackSize); } - - - - - -rule__DECIMAL__Group__0 +rule__BinaryBooleanExpression__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__DECIMAL__Group__0__Impl - rule__DECIMAL__Group__1 +( +{ before(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); } + ruleUnaryBooleanExpression{ after(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); } +) + ; finally { restoreStackSize(stackSize); } -rule__DECIMAL__Group__0__Impl +rule__Comparison__OperationAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getDECIMALAccess().getHyphenMinusKeyword_0()); } -( - '-' -)? -{ after(grammarAccess.getDECIMALAccess().getHyphenMinusKeyword_0()); } +{ before(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); } + ruleCompareOperation{ after(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); } ) ; @@ -867,28 +2731,29 @@ finally { restoreStackSize(stackSize); } - -rule__DECIMAL__Group__1 +rule__Comparison__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__DECIMAL__Group__1__Impl - rule__DECIMAL__Group__2 +( +{ before(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); } + ruleTerm{ after(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); } +) + ; finally { restoreStackSize(stackSize); } -rule__DECIMAL__Group__1__Impl +rule__Term__OperationAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_1()); } - RULE_INT -{ after(grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_1()); } +{ before(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); } + ruleTermOperation{ after(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); } ) ; @@ -896,27 +2761,29 @@ finally { restoreStackSize(stackSize); } - -rule__DECIMAL__Group__2 +rule__Term__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__DECIMAL__Group__2__Impl +( +{ before(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); } + ruleProduct{ after(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); } +) + ; finally { restoreStackSize(stackSize); } -rule__DECIMAL__Group__2__Impl +rule__Product__OperationAssignment_1_1 @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getDECIMALAccess().getGroup_2()); } -(rule__DECIMAL__Group_2__0)? -{ after(grammarAccess.getDECIMALAccess().getGroup_2()); } +{ before(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); } + ruleProductOperation{ after(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); } ) ; @@ -924,36 +2791,29 @@ finally { restoreStackSize(stackSize); } - - - - - - - -rule__DECIMAL__Group_2__0 +rule__Product__RightAssignment_1_2 @init { int stackSize = keepStackSize(); } : - rule__DECIMAL__Group_2__0__Impl - rule__DECIMAL__Group_2__1 +( +{ before(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); } + rulePower{ after(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); } +) + ; finally { restoreStackSize(stackSize); } -rule__DECIMAL__Group_2__0__Impl +rule__Power__ExponentAssignment_1_2 @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getDECIMALAccess().getFullStopKeyword_2_0()); } - - '.' - -{ after(grammarAccess.getDECIMALAccess().getFullStopKeyword_2_0()); } +{ before(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); } + ruleAtom{ after(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); } ) ; @@ -961,27 +2821,29 @@ finally { restoreStackSize(stackSize); } - -rule__DECIMAL__Group_2__1 +rule__Function__NameAssignment_0 @init { int stackSize = keepStackSize(); } : - rule__DECIMAL__Group_2__1__Impl +( +{ before(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); } + RULE_ID{ after(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); } +) + ; finally { restoreStackSize(stackSize); } -rule__DECIMAL__Group_2__1__Impl +rule__Function__ParametersAssignment_2_0 @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_2_1()); } - RULE_INT -{ after(grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_2_1()); } +{ before(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); } + ruleRootExpression{ after(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); } ) ; @@ -989,20 +2851,29 @@ finally { restoreStackSize(stackSize); } +rule__Function__ParametersAssignment_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); } + ruleRootExpression{ after(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} - - - - -rule__Model__TermsAssignment +rule__FormalParameter__ValueAssignment @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getModelAccess().getTermsTermParserRuleCall_0()); } - ruleTerm{ after(grammarAccess.getModelAccess().getTermsTermParserRuleCall_0()); } +{ before(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); } + ruleEString{ after(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); } ) ; @@ -1010,14 +2881,14 @@ finally { restoreStackSize(stackSize); } -rule__Term__OperationsAssignment_1_1 +rule__BooleanLiteral__ValueAssignment @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTermAccess().getOperationsOperationsParserRuleCall_1_1_0()); } - ruleOperations{ after(grammarAccess.getTermAccess().getOperationsOperationsParserRuleCall_1_1_0()); } +{ before(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); } + ruleEBoolean{ after(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); } ) ; @@ -1025,14 +2896,14 @@ finally { restoreStackSize(stackSize); } -rule__Term__RightAssignment_1_2 +rule__IntLiteral__ValueAssignment @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getTermAccess().getRightTypesParserRuleCall_1_2_0()); } - ruleTypes{ after(grammarAccess.getTermAccess().getRightTypesParserRuleCall_1_2_0()); } +{ before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); } + ruleInteger{ after(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); } ) ; @@ -1040,14 +2911,14 @@ finally { restoreStackSize(stackSize); } -rule__Operations__TermOperationsAssignment +rule__DoubleLiteral__ValueAssignment @init { int stackSize = keepStackSize(); } : ( -{ before(grammarAccess.getOperationsAccess().getTermOperationsOperationsTypeEnumRuleCall_0()); } - ruleOperationsType{ after(grammarAccess.getOperationsAccess().getTermOperationsOperationsTypeEnumRuleCall_0()); } +{ before(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); } + ruleDouble{ after(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); } ) ; diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.tokens b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.tokens index b04f893a6257cd4972d3b213f5d2662a3f5018f7..3397e917a6e9f619f0d98e12dfb3538a02b88e09 100644 --- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.tokens +++ b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.tokens @@ -1,41 +1,55 @@ -RULE_ID=5 -T__27=27 -T__26=26 -T__25=25 -T__24=24 -T__23=23 -T__22=22 -RULE_ANY_OTHER=10 -T__21=21 -T__20=20 -RULE_SL_COMMENT=8 -RULE_ML_COMMENT=7 -T__19=19 -RULE_STRING=4 -T__16=16 -T__15=15 -T__18=18 -T__17=17 -T__12=12 -T__11=11 -T__14=14 -T__13=13 -RULE_INT=6 -RULE_WS=9 -'>='=21 -'/'=14 -'OR'=23 -'>'=16 -'XOR'=24 -'<='=20 -'!='=19 -'='=18 -'<'=17 -'('=25 -'-'=12 -'*'=13 -'+'=11 -'.'=27 -')'=26 -'AND'=22 -'%'=15 +RULE_ID=5 +T__29=29 +T__28=28 +T__27=27 +T__26=26 +T__25=25 +T__24=24 +T__23=23 +T__22=22 +RULE_ANY_OTHER=10 +T__21=21 +T__20=20 +RULE_SL_COMMENT=8 +RULE_ML_COMMENT=7 +T__30=30 +T__19=19 +T__31=31 +RULE_STRING=4 +T__32=32 +T__33=33 +T__16=16 +T__34=34 +T__15=15 +T__18=18 +T__17=17 +T__12=12 +T__11=11 +T__14=14 +T__13=13 +RULE_INT=6 +RULE_WS=9 +'NOT'=30 +'true'=11 +'>='=23 +'/'=14 +'OR'=25 +'>'=18 +'XOR'=26 +'?'=28 +'<='=22 +'!='=21 +'false'=12 +'='=20 +'<'=19 +'('=32 +':'=29 +'*'=13 +'-'=17 +'+'=16 +','=34 +')'=33 +'.'=27 +'^'=31 +'AND'=24 +'%'=15 diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslLexer.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslLexer.java index 67db6336f341709c1e2455c410b934b7af70b42f..71b73e1dfa411fa74b0c97ac74d57adc335e79cf 100644 --- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslLexer.java +++ b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslLexer.java @@ -1,1287 +1,1525 @@ -package org.xtext.example.mydsl.ui.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.ui.editor.contentassist.antlr.internal.Lexer; - - -import org.antlr.runtime.*; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; - +package org.xtext.example.mydsl.ui.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.ui.editor.contentassist.antlr.internal.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + @SuppressWarnings("all") -public class InternalMyDslLexer extends Lexer { - public static final int RULE_ID=5; - public static final int T__27=27; - public static final int T__26=26; - public static final int T__25=25; - public static final int T__24=24; - public static final int T__23=23; - public static final int T__22=22; - public static final int RULE_ANY_OTHER=10; - public static final int T__21=21; - public static final int T__20=20; - public static final int EOF=-1; - public static final int RULE_SL_COMMENT=8; - public static final int RULE_ML_COMMENT=7; - public static final int T__19=19; - public static final int RULE_STRING=4; - public static final int T__16=16; - public static final int T__15=15; - public static final int T__18=18; - public static final int T__17=17; - public static final int T__12=12; - public static final int T__11=11; - public static final int T__14=14; - public static final int T__13=13; - public static final int RULE_INT=6; - public static final int RULE_WS=9; - - // delegates - // delegators - - public InternalMyDslLexer() {;} - public InternalMyDslLexer(CharStream input) { - this(input, new RecognizerSharedState()); - } - public InternalMyDslLexer(CharStream input, RecognizerSharedState state) { - super(input,state); - - } - public String getGrammarFileName() { return "../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; } - - // $ANTLR start "T__11" - public final void mT__11() throws RecognitionException { - try { - int _type = T__11; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:11:7: ( '+' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:11:9: '+' - { - match('+'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__11" - - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:12:7: ( '-' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:12:9: '-' - { - match('-'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__12" - - // $ANTLR start "T__13" - public final void mT__13() throws RecognitionException { - try { - int _type = T__13; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:13:7: ( '*' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:13:9: '*' - { - match('*'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - - // $ANTLR start "T__14" - public final void mT__14() throws RecognitionException { - try { - int _type = T__14; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:14:7: ( '/' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:14:9: '/' - { - match('/'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__14" - - // $ANTLR start "T__15" - public final void mT__15() throws RecognitionException { - try { - int _type = T__15; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:15:7: ( '%' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:15:9: '%' - { - match('%'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__15" - - // $ANTLR start "T__16" - public final void mT__16() throws RecognitionException { - try { - int _type = T__16; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:16:7: ( '>' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:16:9: '>' - { - match('>'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__16" - - // $ANTLR start "T__17" - public final void mT__17() throws RecognitionException { - try { - int _type = T__17; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:17:7: ( '<' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:17:9: '<' - { - match('<'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__17" - - // $ANTLR start "T__18" - public final void mT__18() throws RecognitionException { - try { - int _type = T__18; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:18:7: ( '=' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:18:9: '=' - { - match('='); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__18" - - // $ANTLR start "T__19" - public final void mT__19() throws RecognitionException { - try { - int _type = T__19; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:19:7: ( '!=' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:19:9: '!=' - { - match("!="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__19" - - // $ANTLR start "T__20" - public final void mT__20() throws RecognitionException { - try { - int _type = T__20; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:20:7: ( '<=' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:20:9: '<=' - { - match("<="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__20" - - // $ANTLR start "T__21" - public final void mT__21() throws RecognitionException { - try { - int _type = T__21; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:21:7: ( '>=' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:21:9: '>=' - { - match(">="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__21" - - // $ANTLR start "T__22" - public final void mT__22() throws RecognitionException { - try { - int _type = T__22; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:22:7: ( 'AND' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:22:9: 'AND' - { - match("AND"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__22" - - // $ANTLR start "T__23" - public final void mT__23() throws RecognitionException { - try { - int _type = T__23; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:23:7: ( 'OR' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:23:9: 'OR' - { - match("OR"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__23" - - // $ANTLR start "T__24" - public final void mT__24() throws RecognitionException { - try { - int _type = T__24; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:24:7: ( 'XOR' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:24:9: 'XOR' - { - match("XOR"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__24" - - // $ANTLR start "T__25" - public final void mT__25() throws RecognitionException { - try { - int _type = T__25; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:25:7: ( '(' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:25:9: '(' - { - match('('); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__25" - - // $ANTLR start "T__26" - public final void mT__26() throws RecognitionException { - try { - int _type = T__26; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:26:7: ( ')' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:26:9: ')' - { - match(')'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__26" - - // $ANTLR start "T__27" - public final void mT__27() throws RecognitionException { - try { - int _type = T__27; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:27:7: ( '.' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:27:9: '.' - { - match('.'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__27" - - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { - try { - int _type = RULE_ID; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1059:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1059:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1059:11: ( '^' )? - int alt1=2; - int LA1_0 = input.LA(1); - - if ( (LA1_0=='^') ) { - alt1=1; - } - switch (alt1) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1059:11: '^' - { - match('^'); - - } - break; - - } - - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1059:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop2: - do { - int alt2=2; - int LA2_0 = input.LA(1); - - if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { - alt2=1; - } - - - switch (alt2) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g: - { - if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop2; - } - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ID" - - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { - try { - int _type = RULE_INT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1061:10: ( ( '0' .. '9' )+ ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1061:12: ( '0' .. '9' )+ - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1061:12: ( '0' .. '9' )+ - int cnt3=0; - loop3: - do { - int alt3=2; - int LA3_0 = input.LA(1); - - if ( ((LA3_0>='0' && LA3_0<='9')) ) { - alt3=1; - } - - - switch (alt3) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1061:13: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - if ( cnt3 >= 1 ) break loop3; - EarlyExitException eee = - new EarlyExitException(3, input); - throw eee; - } - cnt3++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_INT" - - // $ANTLR start "RULE_STRING" - public final void mRULE_STRING() throws RecognitionException { - try { - int _type = RULE_STRING; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - int alt6=2; - int LA6_0 = input.LA(1); - - if ( (LA6_0=='\"') ) { - alt6=1; - } - else if ( (LA6_0=='\'') ) { - alt6=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); - - throw nvae; - } - switch (alt6) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' - { - match('\"'); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* - loop4: - do { - int alt4=3; - int LA4_0 = input.LA(1); - - if ( (LA4_0=='\\') ) { - alt4=1; - } - else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) { - alt4=2; - } - - - switch (alt4) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) - { - match('\\'); - if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - case 2 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:66: ~ ( ( '\\\\' | '\"' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop4; - } - } while (true); - - match('\"'); - - } - break; - case 2 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' - { - match('\''); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* - loop5: - do { - int alt5=3; - int LA5_0 = input.LA(1); - - if ( (LA5_0=='\\') ) { - alt5=1; - } - else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) { - alt5=2; - } - - - switch (alt5) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) - { - match('\\'); - if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - case 2 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:137: ~ ( ( '\\\\' | '\\'' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop5; - } - } while (true); - - match('\''); - - } - break; - - } - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_STRING" - - // $ANTLR start "RULE_ML_COMMENT" - public final void mRULE_ML_COMMENT() throws RecognitionException { - try { - int _type = RULE_ML_COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1065:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1065:19: '/*' ( options {greedy=false; } : . )* '*/' - { - match("/*"); - - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1065:24: ( options {greedy=false; } : . )* - loop7: - do { - int alt7=2; - int LA7_0 = input.LA(1); - - if ( (LA7_0=='*') ) { - int LA7_1 = input.LA(2); - - if ( (LA7_1=='/') ) { - alt7=2; - } - else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) { - alt7=1; - } - - - } - else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) { - alt7=1; - } - - - switch (alt7) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1065:52: . - { - matchAny(); - - } - break; - - default : - break loop7; - } - } while (true); - - match("*/"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ML_COMMENT" - - // $ANTLR start "RULE_SL_COMMENT" - public final void mRULE_SL_COMMENT() throws RecognitionException { - try { - int _type = RULE_SL_COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? - { - match("//"); - - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop8: - do { - int alt8=2; - int LA8_0 = input.LA(1); - - if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) { - alt8=1; - } - - - switch (alt8) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:24: ~ ( ( '\\n' | '\\r' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop8; - } - } while (true); - - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:40: ( ( '\\r' )? '\\n' )? - int alt10=2; - int LA10_0 = input.LA(1); - - if ( (LA10_0=='\n'||LA10_0=='\r') ) { - alt10=1; - } - switch (alt10) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:41: ( '\\r' )? '\\n' - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:41: ( '\\r' )? - int alt9=2; - int LA9_0 = input.LA(1); - - if ( (LA9_0=='\r') ) { - alt9=1; - } - switch (alt9) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1067:41: '\\r' - { - match('\r'); - - } - break; - - } - - match('\n'); - - } - break; - - } - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_SL_COMMENT" - - // $ANTLR start "RULE_WS" - public final void mRULE_WS() throws RecognitionException { - try { - int _type = RULE_WS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1069:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1069:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1069:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt11=0; - loop11: - do { - int alt11=2; - int LA11_0 = input.LA(1); - - if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { - alt11=1; - } - - - switch (alt11) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - if ( cnt11 >= 1 ) break loop11; - EarlyExitException eee = - new EarlyExitException(11, input); - throw eee; - } - cnt11++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" - - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1071:16: ( . ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1071:18: . - { - matchAny(); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" - - public void mTokens() throws RecognitionException { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt12=24; - alt12 = dfa12.predict(input); - switch (alt12) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:10: T__11 - { - mT__11(); - - } - break; - case 2 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:16: T__12 - { - mT__12(); - - } - break; - case 3 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:22: T__13 - { - mT__13(); - - } - break; - case 4 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:28: T__14 - { - mT__14(); - - } - break; - case 5 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:34: T__15 - { - mT__15(); - - } - break; - case 6 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:40: T__16 - { - mT__16(); - - } - break; - case 7 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:46: T__17 - { - mT__17(); - - } - break; - case 8 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:52: T__18 - { - mT__18(); - - } - break; - case 9 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:58: T__19 - { - mT__19(); - - } - break; - case 10 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:64: T__20 - { - mT__20(); - - } - break; - case 11 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:70: T__21 - { - mT__21(); - - } - break; - case 12 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:76: T__22 - { - mT__22(); - - } - break; - case 13 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:82: T__23 - { - mT__23(); - - } - break; - case 14 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:88: T__24 - { - mT__24(); - - } - break; - case 15 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:94: T__25 - { - mT__25(); - - } - break; - case 16 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:100: T__26 - { - mT__26(); - - } - break; - case 17 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:106: T__27 - { - mT__27(); - - } - break; - case 18 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:112: RULE_ID - { - mRULE_ID(); - - } - break; - case 19 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:120: RULE_INT - { - mRULE_INT(); - - } - break; - case 20 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:129: RULE_STRING - { - mRULE_STRING(); - - } - break; - case 21 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:141: RULE_ML_COMMENT - { - mRULE_ML_COMMENT(); - - } - break; - case 22 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:157: RULE_SL_COMMENT - { - mRULE_SL_COMMENT(); - - } - break; - case 23 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:173: RULE_WS - { - mRULE_WS(); - - } - break; - case 24 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:181: RULE_ANY_OTHER - { - mRULE_ANY_OTHER(); - - } - break; - - } - - } - - - protected DFA12 dfa12 = new DFA12(this); - static final String DFA12_eotS = - "\4\uffff\1\34\1\uffff\1\37\1\41\1\uffff\1\26\3\45\3\uffff\1\26"+ - "\2\uffff\2\26\17\uffff\1\45\1\uffff\1\57\1\45\6\uffff\1\61\1\uffff"+ - "\1\62\2\uffff"; - static final String DFA12_eofS = - "\63\uffff"; - static final String DFA12_minS = - "\1\0\3\uffff\1\52\1\uffff\2\75\1\uffff\1\75\1\116\1\122\1\117\3"+ - "\uffff\1\101\2\uffff\2\0\17\uffff\1\104\1\uffff\1\60\1\122\6\uffff"+ - "\1\60\1\uffff\1\60\2\uffff"; - static final String DFA12_maxS = - "\1\uffff\3\uffff\1\57\1\uffff\2\75\1\uffff\1\75\1\116\1\122\1\117"+ - "\3\uffff\1\172\2\uffff\2\uffff\17\uffff\1\104\1\uffff\1\172\1\122"+ - "\6\uffff\1\172\1\uffff\1\172\2\uffff"; - static final String DFA12_acceptS = - "\1\uffff\1\1\1\2\1\3\1\uffff\1\5\2\uffff\1\10\4\uffff\1\17\1\20"+ - "\1\21\1\uffff\1\22\1\23\2\uffff\1\27\1\30\1\1\1\2\1\3\1\25\1\26"+ - "\1\4\1\5\1\13\1\6\1\12\1\7\1\10\1\11\1\uffff\1\22\2\uffff\1\17\1"+ - "\20\1\21\1\23\1\24\1\27\1\uffff\1\15\1\uffff\1\14\1\16"; - static final String DFA12_specialS = - "\1\0\22\uffff\1\1\1\2\36\uffff}>"; - static final String[] DFA12_transitionS = { - "\11\26\2\25\2\26\1\25\22\26\1\25\1\11\1\23\2\26\1\5\1\26\1"+ - "\24\1\15\1\16\1\3\1\1\1\26\1\2\1\17\1\4\12\22\2\26\1\7\1\10"+ - "\1\6\2\26\1\12\15\21\1\13\10\21\1\14\2\21\3\26\1\20\1\21\1\26"+ - "\32\21\uff85\26", - "", - "", - "", - "\1\32\4\uffff\1\33", - "", - "\1\36", - "\1\40", - "", - "\1\43", - "\1\44", - "\1\46", - "\1\47", - "", - "", - "", - "\32\45\4\uffff\1\45\1\uffff\32\45", - "", - "", - "\0\54", - "\0\54", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\56", - "", - "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", - "\1\60", - "", - "", - "", - "", - "", - "", - "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", - "", - "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", - "", - "" - }; - - static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS); - static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS); - static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS); - static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS); - static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS); - static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS); - static final short[][] DFA12_transition; - - static { - int numStates = DFA12_transitionS.length; - DFA12_transition = new short[numStates][]; - for (int i=0; i<numStates; i++) { - DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]); - } - } - - class DFA12 extends DFA { - - public DFA12(BaseRecognizer recognizer) { - this.recognizer = recognizer; - this.decisionNumber = 12; - this.eot = DFA12_eot; - this.eof = DFA12_eof; - this.min = DFA12_min; - this.max = DFA12_max; - this.accept = DFA12_accept; - this.special = DFA12_special; - this.transition = DFA12_transition; - } - public String getDescription() { - return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; - } - public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { - IntStream input = _input; - int _s = s; - switch ( s ) { - case 0 : - int LA12_0 = input.LA(1); - - s = -1; - if ( (LA12_0=='+') ) {s = 1;} - - else if ( (LA12_0=='-') ) {s = 2;} - - else if ( (LA12_0=='*') ) {s = 3;} - - else if ( (LA12_0=='/') ) {s = 4;} - - else if ( (LA12_0=='%') ) {s = 5;} - - else if ( (LA12_0=='>') ) {s = 6;} - - else if ( (LA12_0=='<') ) {s = 7;} - - else if ( (LA12_0=='=') ) {s = 8;} - - else if ( (LA12_0=='!') ) {s = 9;} - - else if ( (LA12_0=='A') ) {s = 10;} - - else if ( (LA12_0=='O') ) {s = 11;} - - else if ( (LA12_0=='X') ) {s = 12;} - - else if ( (LA12_0=='(') ) {s = 13;} - - else if ( (LA12_0==')') ) {s = 14;} - - else if ( (LA12_0=='.') ) {s = 15;} - - else if ( (LA12_0=='^') ) {s = 16;} - - else if ( ((LA12_0>='B' && LA12_0<='N')||(LA12_0>='P' && LA12_0<='W')||(LA12_0>='Y' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) {s = 17;} - - else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 18;} - - else if ( (LA12_0=='\"') ) {s = 19;} - - else if ( (LA12_0=='\'') ) {s = 20;} - - else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 21;} - - else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||LA12_0==','||(LA12_0>=':' && LA12_0<=';')||(LA12_0>='?' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 22;} - - if ( s>=0 ) return s; - break; - case 1 : - int LA12_19 = input.LA(1); - - s = -1; - if ( ((LA12_19>='\u0000' && LA12_19<='\uFFFF')) ) {s = 44;} - - else s = 22; - - if ( s>=0 ) return s; - break; - case 2 : - int LA12_20 = input.LA(1); - - s = -1; - if ( ((LA12_20>='\u0000' && LA12_20<='\uFFFF')) ) {s = 44;} - - else s = 22; - - if ( s>=0 ) return s; - break; - } - NoViableAltException nvae = - new NoViableAltException(getDescription(), 12, _s, input); - error(nvae); - throw nvae; - } - } - - +public class InternalMyDslLexer extends Lexer { + public static final int RULE_ID=5; + public static final int T__29=29; + public static final int T__28=28; + public static final int T__27=27; + public static final int T__26=26; + public static final int T__25=25; + public static final int T__24=24; + public static final int T__23=23; + public static final int T__22=22; + public static final int RULE_ANY_OTHER=10; + public static final int T__21=21; + public static final int T__20=20; + public static final int EOF=-1; + public static final int RULE_SL_COMMENT=8; + public static final int RULE_ML_COMMENT=7; + public static final int T__30=30; + public static final int T__19=19; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_STRING=4; + public static final int T__16=16; + public static final int T__33=33; + public static final int T__15=15; + public static final int T__34=34; + public static final int T__18=18; + public static final int T__17=17; + public static final int T__12=12; + public static final int T__11=11; + public static final int T__14=14; + public static final int T__13=13; + public static final int RULE_INT=6; + public static final int RULE_WS=9; + + // delegates + // delegators + + public InternalMyDslLexer() {;} + public InternalMyDslLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalMyDslLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; } + + // $ANTLR start "T__11" + public final void mT__11() throws RecognitionException { + try { + int _type = T__11; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:11:7: ( 'true' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:11:9: 'true' + { + match("true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__11" + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:12:7: ( 'false' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:12:9: 'false' + { + match("false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__12" + + // $ANTLR start "T__13" + public final void mT__13() throws RecognitionException { + try { + int _type = T__13; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:13:7: ( '*' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:13:9: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__13" + + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { + try { + int _type = T__14; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:14:7: ( '/' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:14:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__14" + + // $ANTLR start "T__15" + public final void mT__15() throws RecognitionException { + try { + int _type = T__15; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:15:7: ( '%' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:15:9: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__15" + + // $ANTLR start "T__16" + public final void mT__16() throws RecognitionException { + try { + int _type = T__16; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:16:7: ( '+' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:16:9: '+' + { + match('+'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__16" + + // $ANTLR start "T__17" + public final void mT__17() throws RecognitionException { + try { + int _type = T__17; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:17:7: ( '-' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:17:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__17" + + // $ANTLR start "T__18" + public final void mT__18() throws RecognitionException { + try { + int _type = T__18; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:18:7: ( '>' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:18:9: '>' + { + match('>'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__18" + + // $ANTLR start "T__19" + public final void mT__19() throws RecognitionException { + try { + int _type = T__19; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:19:7: ( '<' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:19:9: '<' + { + match('<'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__19" + + // $ANTLR start "T__20" + public final void mT__20() throws RecognitionException { + try { + int _type = T__20; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:20:7: ( '=' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:20:9: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__20" + + // $ANTLR start "T__21" + public final void mT__21() throws RecognitionException { + try { + int _type = T__21; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:21:7: ( '!=' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:21:9: '!=' + { + match("!="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__21" + + // $ANTLR start "T__22" + public final void mT__22() throws RecognitionException { + try { + int _type = T__22; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:22:7: ( '<=' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:22:9: '<=' + { + match("<="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__22" + + // $ANTLR start "T__23" + public final void mT__23() throws RecognitionException { + try { + int _type = T__23; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:23:7: ( '>=' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:23:9: '>=' + { + match(">="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__23" + + // $ANTLR start "T__24" + public final void mT__24() throws RecognitionException { + try { + int _type = T__24; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:24:7: ( 'AND' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:24:9: 'AND' + { + match("AND"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__24" + + // $ANTLR start "T__25" + public final void mT__25() throws RecognitionException { + try { + int _type = T__25; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:25:7: ( 'OR' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:25:9: 'OR' + { + match("OR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__25" + + // $ANTLR start "T__26" + public final void mT__26() throws RecognitionException { + try { + int _type = T__26; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:26:7: ( 'XOR' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:26:9: 'XOR' + { + match("XOR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__26" + + // $ANTLR start "T__27" + public final void mT__27() throws RecognitionException { + try { + int _type = T__27; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:27:7: ( '.' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:27:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__27" + + // $ANTLR start "T__28" + public final void mT__28() throws RecognitionException { + try { + int _type = T__28; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:28:7: ( '?' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:28:9: '?' + { + match('?'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__28" + + // $ANTLR start "T__29" + public final void mT__29() throws RecognitionException { + try { + int _type = T__29; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:29:7: ( ':' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:29:9: ':' + { + match(':'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__29" + + // $ANTLR start "T__30" + public final void mT__30() throws RecognitionException { + try { + int _type = T__30; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:30:7: ( 'NOT' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:30:9: 'NOT' + { + match("NOT"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__30" + + // $ANTLR start "T__31" + public final void mT__31() throws RecognitionException { + try { + int _type = T__31; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:31:7: ( '^' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:31:9: '^' + { + match('^'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__31" + + // $ANTLR start "T__32" + public final void mT__32() throws RecognitionException { + try { + int _type = T__32; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:32:7: ( '(' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:32:9: '(' + { + match('('); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__32" + + // $ANTLR start "T__33" + public final void mT__33() throws RecognitionException { + try { + int _type = T__33; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:33:7: ( ')' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:33:9: ')' + { + match(')'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__33" + + // $ANTLR start "T__34" + public final void mT__34() throws RecognitionException { + try { + int _type = T__34; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:34:7: ( ',' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:34:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__34" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:11: ( '^' )? + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='^') ) { + alt1=1; + } + switch (alt1) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2930:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop2; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:10: ( ( '0' .. '9' )+ ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:12: ( '0' .. '9' )+ + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:12: ( '0' .. '9' )+ + int cnt3=0; + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( ((LA3_0>='0' && LA3_0<='9')) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2932:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt3 >= 1 ) break loop3; + EarlyExitException eee = + new EarlyExitException(3, input); + throw eee; + } + cnt3++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='\"') ) { + alt6=1; + } + else if ( (LA6_0=='\'') ) { + alt6=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* + loop4: + do { + int alt4=3; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='\\') ) { + alt4=1; + } + else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) { + alt4=2; + } + + + switch (alt4) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:66: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop4; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* + loop5: + do { + int alt5=3; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='\\') ) { + alt5=1; + } + else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) { + alt5=2; + } + + + switch (alt5) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2934:137: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop5; + } + } while (true); + + match('\''); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:24: ( options {greedy=false; } : . )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='*') ) { + int LA7_1 = input.LA(2); + + if ( (LA7_1=='/') ) { + alt7=2; + } + else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) { + alt7=1; + } + + + } + else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2936:52: . + { + matchAny(); + + } + break; + + default : + break loop7; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); + + if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:24: ~ ( ( '\\n' | '\\r' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop8; + } + } while (true); + + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:40: ( ( '\\r' )? '\\n' )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='\n'||LA10_0=='\r') ) { + alt10=1; + } + switch (alt10) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:41: ( '\\r' )? '\\n' + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:41: ( '\\r' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='\r') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2938:41: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2940:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2940:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2940:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt11=0; + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt11 >= 1 ) break loop11; + EarlyExitException eee = + new EarlyExitException(11, input); + throw eee; + } + cnt11++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2942:16: ( . ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2942:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt12=31; + alt12 = dfa12.predict(input); + switch (alt12) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:10: T__11 + { + mT__11(); + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:16: T__12 + { + mT__12(); + + } + break; + case 3 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:22: T__13 + { + mT__13(); + + } + break; + case 4 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:28: T__14 + { + mT__14(); + + } + break; + case 5 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:34: T__15 + { + mT__15(); + + } + break; + case 6 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:40: T__16 + { + mT__16(); + + } + break; + case 7 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:46: T__17 + { + mT__17(); + + } + break; + case 8 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:52: T__18 + { + mT__18(); + + } + break; + case 9 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:58: T__19 + { + mT__19(); + + } + break; + case 10 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:64: T__20 + { + mT__20(); + + } + break; + case 11 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:70: T__21 + { + mT__21(); + + } + break; + case 12 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:76: T__22 + { + mT__22(); + + } + break; + case 13 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:82: T__23 + { + mT__23(); + + } + break; + case 14 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:88: T__24 + { + mT__24(); + + } + break; + case 15 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:94: T__25 + { + mT__25(); + + } + break; + case 16 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:100: T__26 + { + mT__26(); + + } + break; + case 17 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:106: T__27 + { + mT__27(); + + } + break; + case 18 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:112: T__28 + { + mT__28(); + + } + break; + case 19 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:118: T__29 + { + mT__29(); + + } + break; + case 20 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:124: T__30 + { + mT__30(); + + } + break; + case 21 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:130: T__31 + { + mT__31(); + + } + break; + case 22 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:136: T__32 + { + mT__32(); + + } + break; + case 23 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:142: T__33 + { + mT__33(); + + } + break; + case 24 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:148: T__34 + { + mT__34(); + + } + break; + case 25 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:154: RULE_ID + { + mRULE_ID(); + + } + break; + case 26 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:162: RULE_INT + { + mRULE_INT(); + + } + break; + case 27 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:171: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 28 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:183: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 29 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:199: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 30 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:215: RULE_WS + { + mRULE_WS(); + + } + break; + case 31 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1:223: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA12 dfa12 = new DFA12(this); + static final String DFA12_eotS = + "\1\uffff\2\36\1\uffff\1\43\3\uffff\1\50\1\52\1\uffff\1\34\3\36\3"+ + "\uffff\1\36\1\64\5\uffff\2\34\2\uffff\1\36\1\uffff\1\36\15\uffff"+ + "\1\36\1\76\1\36\3\uffff\1\36\7\uffff\2\36\1\103\1\uffff\1\104\1"+ + "\105\1\106\1\36\4\uffff\1\110\1\uffff"; + static final String DFA12_eofS = + "\111\uffff"; + static final String DFA12_minS = + "\1\0\1\162\1\141\1\uffff\1\52\3\uffff\2\75\1\uffff\1\75\1\116\1"+ + "\122\1\117\3\uffff\1\117\1\101\5\uffff\2\0\2\uffff\1\165\1\uffff"+ + "\1\154\15\uffff\1\104\1\60\1\122\3\uffff\1\124\7\uffff\1\145\1\163"+ + "\1\60\1\uffff\3\60\1\145\4\uffff\1\60\1\uffff"; + static final String DFA12_maxS = + "\1\uffff\1\162\1\141\1\uffff\1\57\3\uffff\2\75\1\uffff\1\75\1\116"+ + "\1\122\1\117\3\uffff\1\117\1\172\5\uffff\2\uffff\2\uffff\1\165\1"+ + "\uffff\1\154\15\uffff\1\104\1\172\1\122\3\uffff\1\124\7\uffff\1"+ + "\145\1\163\1\172\1\uffff\3\172\1\145\4\uffff\1\172\1\uffff"; + static final String DFA12_acceptS = + "\3\uffff\1\3\1\uffff\1\5\1\6\1\7\2\uffff\1\12\4\uffff\1\21\1\22"+ + "\1\23\2\uffff\1\26\1\27\1\30\1\31\1\32\2\uffff\1\36\1\37\1\uffff"+ + "\1\31\1\uffff\1\3\1\34\1\35\1\4\1\5\1\6\1\7\1\15\1\10\1\14\1\11"+ + "\1\12\1\13\3\uffff\1\21\1\22\1\23\1\uffff\1\25\1\26\1\27\1\30\1"+ + "\32\1\33\1\36\3\uffff\1\17\4\uffff\1\16\1\20\1\24\1\1\1\uffff\1"+ + "\2"; + static final String DFA12_specialS = + "\1\1\30\uffff\1\0\1\2\56\uffff}>"; + static final String[] DFA12_transitionS = { + "\11\34\2\33\2\34\1\33\22\34\1\33\1\13\1\31\2\34\1\5\1\34\1\32"+ + "\1\24\1\25\1\3\1\6\1\26\1\7\1\17\1\4\12\30\1\21\1\34\1\11\1"+ + "\12\1\10\1\20\1\34\1\14\14\27\1\22\1\15\10\27\1\16\2\27\3\34"+ + "\1\23\1\27\1\34\5\27\1\2\15\27\1\1\6\27\uff85\34", + "\1\35", + "\1\37", + "", + "\1\41\4\uffff\1\42", + "", + "", + "", + "\1\47", + "\1\51", + "", + "\1\54", + "\1\55", + "\1\56", + "\1\57", + "", + "", + "", + "\1\63", + "\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "", + "", + "", + "", + "\0\71", + "\0\71", + "", + "", + "\1\73", + "", + "\1\74", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\75", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\1\77", + "", + "", + "", + "\1\100", + "", + "", + "", + "", + "", + "", + "", + "\1\101", + "\1\102", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\1\107", + "", + "", + "", + "", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "" + }; + + static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS); + static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS); + static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS); + static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS); + static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS); + static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS); + static final short[][] DFA12_transition; + + static { + int numStates = DFA12_transitionS.length; + DFA12_transition = new short[numStates][]; + for (int i=0; i<numStates; i++) { + DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]); + } + } + + class DFA12 extends DFA { + + public DFA12(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 12; + this.eot = DFA12_eot; + this.eof = DFA12_eof; + this.min = DFA12_min; + this.max = DFA12_max; + this.accept = DFA12_accept; + this.special = DFA12_special; + this.transition = DFA12_transition; + } + public String getDescription() { + return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + IntStream input = _input; + int _s = s; + switch ( s ) { + case 0 : + int LA12_25 = input.LA(1); + + s = -1; + if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 57;} + + else s = 28; + + if ( s>=0 ) return s; + break; + case 1 : + int LA12_0 = input.LA(1); + + s = -1; + if ( (LA12_0=='t') ) {s = 1;} + + else if ( (LA12_0=='f') ) {s = 2;} + + else if ( (LA12_0=='*') ) {s = 3;} + + else if ( (LA12_0=='/') ) {s = 4;} + + else if ( (LA12_0=='%') ) {s = 5;} + + else if ( (LA12_0=='+') ) {s = 6;} + + else if ( (LA12_0=='-') ) {s = 7;} + + else if ( (LA12_0=='>') ) {s = 8;} + + else if ( (LA12_0=='<') ) {s = 9;} + + else if ( (LA12_0=='=') ) {s = 10;} + + else if ( (LA12_0=='!') ) {s = 11;} + + else if ( (LA12_0=='A') ) {s = 12;} + + else if ( (LA12_0=='O') ) {s = 13;} + + else if ( (LA12_0=='X') ) {s = 14;} + + else if ( (LA12_0=='.') ) {s = 15;} + + else if ( (LA12_0=='?') ) {s = 16;} + + else if ( (LA12_0==':') ) {s = 17;} + + else if ( (LA12_0=='N') ) {s = 18;} + + else if ( (LA12_0=='^') ) {s = 19;} + + else if ( (LA12_0=='(') ) {s = 20;} + + else if ( (LA12_0==')') ) {s = 21;} + + else if ( (LA12_0==',') ) {s = 22;} + + else if ( ((LA12_0>='B' && LA12_0<='M')||(LA12_0>='P' && LA12_0<='W')||(LA12_0>='Y' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='e')||(LA12_0>='g' && LA12_0<='s')||(LA12_0>='u' && LA12_0<='z')) ) {s = 23;} + + else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;} + + else if ( (LA12_0=='\"') ) {s = 25;} + + else if ( (LA12_0=='\'') ) {s = 26;} + + else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 27;} + + else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||LA12_0==';'||LA12_0=='@'||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 28;} + + if ( s>=0 ) return s; + break; + case 2 : + int LA12_26 = input.LA(1); + + s = -1; + if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 57;} + + else s = 28; + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 12, _s, input); + error(nvae); + throw nvae; + } + } + + } \ No newline at end of file diff --git a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslParser.java b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslParser.java index 7e8f3bf055d0c7da85733a55d3fdd39efbb624cf..62e09bbadb42b4e746e549848ea7d5777aef1ccc 100644 --- a/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslParser.java +++ b/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslParser.java @@ -1,2938 +1,8223 @@ -package org.xtext.example.mydsl.ui.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.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; -import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA; -import org.xtext.example.mydsl.services.MyDslGrammarAccess; - - - -import org.antlr.runtime.*; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; - +package org.xtext.example.mydsl.ui.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.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA; +import org.xtext.example.mydsl.services.MyDslGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + @SuppressWarnings("all") -public class InternalMyDslParser extends AbstractInternalContentAssistParser { - public static final String[] tokenNames = new String[] { - "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'+'", "'-'", "'*'", "'/'", "'%'", "'>'", "'<'", "'='", "'!='", "'<='", "'>='", "'AND'", "'OR'", "'XOR'", "'('", "')'", "'.'" - }; - public static final int RULE_ID=5; - public static final int T__27=27; - public static final int T__26=26; - public static final int T__25=25; - public static final int T__24=24; - public static final int T__23=23; - public static final int T__22=22; - public static final int RULE_ANY_OTHER=10; - public static final int T__21=21; - public static final int T__20=20; - public static final int RULE_SL_COMMENT=8; - public static final int EOF=-1; - public static final int RULE_ML_COMMENT=7; - public static final int T__19=19; - public static final int RULE_STRING=4; - public static final int T__16=16; - public static final int T__15=15; - public static final int T__18=18; - public static final int T__17=17; - public static final int T__12=12; - public static final int T__11=11; - public static final int T__14=14; - public static final int T__13=13; - public static final int RULE_INT=6; - public static final int RULE_WS=9; - - // delegates - // delegators - - - public InternalMyDslParser(TokenStream input) { - this(input, new RecognizerSharedState()); - } - public InternalMyDslParser(TokenStream input, RecognizerSharedState state) { - super(input, state); - - } - - - public String[] getTokenNames() { return InternalMyDslParser.tokenNames; } - public String getGrammarFileName() { return "../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; } - - - - private MyDslGrammarAccess grammarAccess; - - public void setGrammarAccess(MyDslGrammarAccess grammarAccess) { - this.grammarAccess = grammarAccess; - } - - @Override - protected Grammar getGrammar() { - return grammarAccess.getGrammar(); - } - - @Override - protected String getValueForTokenName(String tokenName) { - return tokenName; - } - - - - - // $ANTLR start "entryRuleModel" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:60:1: entryRuleModel : ruleModel EOF ; - public final void entryRuleModel() throws RecognitionException { - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:61:1: ( ruleModel EOF ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:62:1: ruleModel EOF - { - before(grammarAccess.getModelRule()); - pushFollow(FOLLOW_ruleModel_in_entryRuleModel61); - ruleModel(); - - state._fsp--; - - after(grammarAccess.getModelRule()); - match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - } - return ; - } - // $ANTLR end "entryRuleModel" - - - // $ANTLR start "ruleModel" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:69:1: ruleModel : ( ( rule__Model__TermsAssignment ) ) ; - public final void ruleModel() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:73:2: ( ( ( rule__Model__TermsAssignment ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__TermsAssignment ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__TermsAssignment ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( rule__Model__TermsAssignment ) - { - before(grammarAccess.getModelAccess().getTermsAssignment()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:1: ( rule__Model__TermsAssignment ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:2: rule__Model__TermsAssignment - { - pushFollow(FOLLOW_rule__Model__TermsAssignment_in_ruleModel94); - rule__Model__TermsAssignment(); - - state._fsp--; - - - } - - after(grammarAccess.getModelAccess().getTermsAssignment()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleModel" - - - // $ANTLR start "entryRuleTerm" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:88:1: entryRuleTerm : ruleTerm EOF ; - public final void entryRuleTerm() throws RecognitionException { - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:89:1: ( ruleTerm EOF ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:90:1: ruleTerm EOF - { - before(grammarAccess.getTermRule()); - pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm121); - ruleTerm(); - - state._fsp--; - - after(grammarAccess.getTermRule()); - match(input,EOF,FOLLOW_EOF_in_entryRuleTerm128); - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - } - return ; - } - // $ANTLR end "entryRuleTerm" - - - // $ANTLR start "ruleTerm" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:97:1: ruleTerm : ( ( rule__Term__Group__0 ) ) ; - public final void ruleTerm() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:101:2: ( ( ( rule__Term__Group__0 ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Term__Group__0 ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Term__Group__0 ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( rule__Term__Group__0 ) - { - before(grammarAccess.getTermAccess().getGroup()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( rule__Term__Group__0 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:2: rule__Term__Group__0 - { - pushFollow(FOLLOW_rule__Term__Group__0_in_ruleTerm154); - rule__Term__Group__0(); - - state._fsp--; - - - } - - after(grammarAccess.getTermAccess().getGroup()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleTerm" - - - // $ANTLR start "entryRuleTypes" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:116:1: entryRuleTypes : ruleTypes EOF ; - public final void entryRuleTypes() throws RecognitionException { - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:117:1: ( ruleTypes EOF ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:118:1: ruleTypes EOF - { - before(grammarAccess.getTypesRule()); - pushFollow(FOLLOW_ruleTypes_in_entryRuleTypes181); - ruleTypes(); - - state._fsp--; - - after(grammarAccess.getTypesRule()); - match(input,EOF,FOLLOW_EOF_in_entryRuleTypes188); - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - } - return ; - } - // $ANTLR end "entryRuleTypes" - - - // $ANTLR start "ruleTypes" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:125:1: ruleTypes : ( ( rule__Types__Alternatives ) ) ; - public final void ruleTypes() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:129:2: ( ( ( rule__Types__Alternatives ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Types__Alternatives ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Types__Alternatives ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( rule__Types__Alternatives ) - { - before(grammarAccess.getTypesAccess().getAlternatives()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( rule__Types__Alternatives ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:2: rule__Types__Alternatives - { - pushFollow(FOLLOW_rule__Types__Alternatives_in_ruleTypes214); - rule__Types__Alternatives(); - - state._fsp--; - - - } - - after(grammarAccess.getTypesAccess().getAlternatives()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleTypes" - - - // $ANTLR start "entryRuleArithmetics" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:144:1: entryRuleArithmetics : ruleArithmetics EOF ; - public final void entryRuleArithmetics() throws RecognitionException { - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:145:1: ( ruleArithmetics EOF ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:146:1: ruleArithmetics EOF - { - before(grammarAccess.getArithmeticsRule()); - pushFollow(FOLLOW_ruleArithmetics_in_entryRuleArithmetics241); - ruleArithmetics(); - - state._fsp--; - - after(grammarAccess.getArithmeticsRule()); - match(input,EOF,FOLLOW_EOF_in_entryRuleArithmetics248); - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - } - return ; - } - // $ANTLR end "entryRuleArithmetics" - - - // $ANTLR start "ruleArithmetics" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:153:1: ruleArithmetics : ( ( rule__Arithmetics__Group__0 ) ) ; - public final void ruleArithmetics() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:157:2: ( ( ( rule__Arithmetics__Group__0 ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__Arithmetics__Group__0 ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__Arithmetics__Group__0 ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( rule__Arithmetics__Group__0 ) - { - before(grammarAccess.getArithmeticsAccess().getGroup()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:1: ( rule__Arithmetics__Group__0 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:2: rule__Arithmetics__Group__0 - { - pushFollow(FOLLOW_rule__Arithmetics__Group__0_in_ruleArithmetics274); - rule__Arithmetics__Group__0(); - - state._fsp--; - - - } - - after(grammarAccess.getArithmeticsAccess().getGroup()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleArithmetics" - - - // $ANTLR start "entryRuleStrings" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:172:1: entryRuleStrings : ruleStrings EOF ; - public final void entryRuleStrings() throws RecognitionException { - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:173:1: ( ruleStrings EOF ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:174:1: ruleStrings EOF - { - before(grammarAccess.getStringsRule()); - pushFollow(FOLLOW_ruleStrings_in_entryRuleStrings301); - ruleStrings(); - - state._fsp--; - - after(grammarAccess.getStringsRule()); - match(input,EOF,FOLLOW_EOF_in_entryRuleStrings308); - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - } - return ; - } - // $ANTLR end "entryRuleStrings" - - - // $ANTLR start "ruleStrings" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:181:1: ruleStrings : ( ( rule__Strings__Group__0 ) ) ; - public final void ruleStrings() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:185:2: ( ( ( rule__Strings__Group__0 ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__Strings__Group__0 ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__Strings__Group__0 ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( rule__Strings__Group__0 ) - { - before(grammarAccess.getStringsAccess().getGroup()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:1: ( rule__Strings__Group__0 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:2: rule__Strings__Group__0 - { - pushFollow(FOLLOW_rule__Strings__Group__0_in_ruleStrings334); - rule__Strings__Group__0(); - - state._fsp--; - - - } - - after(grammarAccess.getStringsAccess().getGroup()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleStrings" - - - // $ANTLR start "entryRuleDECIMAL" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:200:1: entryRuleDECIMAL : ruleDECIMAL EOF ; - public final void entryRuleDECIMAL() throws RecognitionException { - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:201:1: ( ruleDECIMAL EOF ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:202:1: ruleDECIMAL EOF - { - before(grammarAccess.getDECIMALRule()); - pushFollow(FOLLOW_ruleDECIMAL_in_entryRuleDECIMAL361); - ruleDECIMAL(); - - state._fsp--; - - after(grammarAccess.getDECIMALRule()); - match(input,EOF,FOLLOW_EOF_in_entryRuleDECIMAL368); - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - } - return ; - } - // $ANTLR end "entryRuleDECIMAL" - - - // $ANTLR start "ruleDECIMAL" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:209:1: ruleDECIMAL : ( ( rule__DECIMAL__Group__0 ) ) ; - public final void ruleDECIMAL() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:213:2: ( ( ( rule__DECIMAL__Group__0 ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:1: ( ( rule__DECIMAL__Group__0 ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:1: ( ( rule__DECIMAL__Group__0 ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:215:1: ( rule__DECIMAL__Group__0 ) - { - before(grammarAccess.getDECIMALAccess().getGroup()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:216:1: ( rule__DECIMAL__Group__0 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:216:2: rule__DECIMAL__Group__0 - { - pushFollow(FOLLOW_rule__DECIMAL__Group__0_in_ruleDECIMAL394); - rule__DECIMAL__Group__0(); - - state._fsp--; - - - } - - after(grammarAccess.getDECIMALAccess().getGroup()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleDECIMAL" - - - // $ANTLR start "entryRuleE_STRING" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:228:1: entryRuleE_STRING : ruleE_STRING EOF ; - public final void entryRuleE_STRING() throws RecognitionException { - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:229:1: ( ruleE_STRING EOF ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:230:1: ruleE_STRING EOF - { - before(grammarAccess.getE_STRINGRule()); - pushFollow(FOLLOW_ruleE_STRING_in_entryRuleE_STRING421); - ruleE_STRING(); - - state._fsp--; - - after(grammarAccess.getE_STRINGRule()); - match(input,EOF,FOLLOW_EOF_in_entryRuleE_STRING428); - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - } - return ; - } - // $ANTLR end "entryRuleE_STRING" - - - // $ANTLR start "ruleE_STRING" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:237:1: ruleE_STRING : ( ( rule__E_STRING__Alternatives ) ) ; - public final void ruleE_STRING() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:241:2: ( ( ( rule__E_STRING__Alternatives ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: ( ( rule__E_STRING__Alternatives ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: ( ( rule__E_STRING__Alternatives ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:243:1: ( rule__E_STRING__Alternatives ) - { - before(grammarAccess.getE_STRINGAccess().getAlternatives()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:1: ( rule__E_STRING__Alternatives ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:2: rule__E_STRING__Alternatives - { - pushFollow(FOLLOW_rule__E_STRING__Alternatives_in_ruleE_STRING454); - rule__E_STRING__Alternatives(); - - state._fsp--; - - - } - - after(grammarAccess.getE_STRINGAccess().getAlternatives()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleE_STRING" - - - // $ANTLR start "entryRuleOperations" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:256:1: entryRuleOperations : ruleOperations EOF ; - public final void entryRuleOperations() throws RecognitionException { - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:257:1: ( ruleOperations EOF ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:258:1: ruleOperations EOF - { - before(grammarAccess.getOperationsRule()); - pushFollow(FOLLOW_ruleOperations_in_entryRuleOperations481); - ruleOperations(); - - state._fsp--; - - after(grammarAccess.getOperationsRule()); - match(input,EOF,FOLLOW_EOF_in_entryRuleOperations488); - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - } - return ; - } - // $ANTLR end "entryRuleOperations" - - - // $ANTLR start "ruleOperations" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:265:1: ruleOperations : ( ( rule__Operations__TermOperationsAssignment ) ) ; - public final void ruleOperations() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:269:2: ( ( ( rule__Operations__TermOperationsAssignment ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:1: ( ( rule__Operations__TermOperationsAssignment ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:1: ( ( rule__Operations__TermOperationsAssignment ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( rule__Operations__TermOperationsAssignment ) - { - before(grammarAccess.getOperationsAccess().getTermOperationsAssignment()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:1: ( rule__Operations__TermOperationsAssignment ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:2: rule__Operations__TermOperationsAssignment - { - pushFollow(FOLLOW_rule__Operations__TermOperationsAssignment_in_ruleOperations514); - rule__Operations__TermOperationsAssignment(); - - state._fsp--; - - - } - - after(grammarAccess.getOperationsAccess().getTermOperationsAssignment()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleOperations" - - - // $ANTLR start "ruleOperationsType" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:285:1: ruleOperationsType : ( ( rule__OperationsType__Alternatives ) ) ; - public final void ruleOperationsType() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:289:1: ( ( ( rule__OperationsType__Alternatives ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:290:1: ( ( rule__OperationsType__Alternatives ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:290:1: ( ( rule__OperationsType__Alternatives ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:291:1: ( rule__OperationsType__Alternatives ) - { - before(grammarAccess.getOperationsTypeAccess().getAlternatives()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:292:1: ( rule__OperationsType__Alternatives ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:292:2: rule__OperationsType__Alternatives - { - pushFollow(FOLLOW_rule__OperationsType__Alternatives_in_ruleOperationsType551); - rule__OperationsType__Alternatives(); - - state._fsp--; - - - } - - after(grammarAccess.getOperationsTypeAccess().getAlternatives()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "ruleOperationsType" - - - // $ANTLR start "rule__Types__Alternatives" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:303:1: rule__Types__Alternatives : ( ( ruleArithmetics ) | ( ruleStrings ) | ( ( rule__Types__Group_2__0 ) ) ); - public final void rule__Types__Alternatives() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:307:1: ( ( ruleArithmetics ) | ( ruleStrings ) | ( ( rule__Types__Group_2__0 ) ) ) - int alt1=3; - switch ( input.LA(1) ) { - case RULE_INT: - case 12: - { - alt1=1; - } - break; - case RULE_STRING: - case RULE_ID: - { - alt1=2; - } - break; - case 25: - { - alt1=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 1, 0, input); - - throw nvae; - } - - switch (alt1) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:308:1: ( ruleArithmetics ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:308:1: ( ruleArithmetics ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:309:1: ruleArithmetics - { - before(grammarAccess.getTypesAccess().getArithmeticsParserRuleCall_0()); - pushFollow(FOLLOW_ruleArithmetics_in_rule__Types__Alternatives586); - ruleArithmetics(); - - state._fsp--; - - after(grammarAccess.getTypesAccess().getArithmeticsParserRuleCall_0()); - - } - - - } - break; - case 2 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:314:6: ( ruleStrings ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:314:6: ( ruleStrings ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:315:1: ruleStrings - { - before(grammarAccess.getTypesAccess().getStringsParserRuleCall_1()); - pushFollow(FOLLOW_ruleStrings_in_rule__Types__Alternatives603); - ruleStrings(); - - state._fsp--; - - after(grammarAccess.getTypesAccess().getStringsParserRuleCall_1()); - - } - - - } - break; - case 3 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:320:6: ( ( rule__Types__Group_2__0 ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:320:6: ( ( rule__Types__Group_2__0 ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:321:1: ( rule__Types__Group_2__0 ) - { - before(grammarAccess.getTypesAccess().getGroup_2()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:322:1: ( rule__Types__Group_2__0 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:322:2: rule__Types__Group_2__0 - { - pushFollow(FOLLOW_rule__Types__Group_2__0_in_rule__Types__Alternatives620); - rule__Types__Group_2__0(); - - state._fsp--; - - - } - - after(grammarAccess.getTypesAccess().getGroup_2()); - - } - - - } - break; - - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Types__Alternatives" - - - // $ANTLR start "rule__E_STRING__Alternatives" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:331:1: rule__E_STRING__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) ); - public final void rule__E_STRING__Alternatives() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:335:1: ( ( RULE_STRING ) | ( RULE_ID ) ) - int alt2=2; - int LA2_0 = input.LA(1); - - if ( (LA2_0==RULE_STRING) ) { - alt2=1; - } - else if ( (LA2_0==RULE_ID) ) { - alt2=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 2, 0, input); - - throw nvae; - } - switch (alt2) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:336:1: ( RULE_STRING ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:336:1: ( RULE_STRING ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:337:1: RULE_STRING - { - before(grammarAccess.getE_STRINGAccess().getSTRINGTerminalRuleCall_0()); - match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__E_STRING__Alternatives653); - after(grammarAccess.getE_STRINGAccess().getSTRINGTerminalRuleCall_0()); - - } - - - } - break; - case 2 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:342:6: ( RULE_ID ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:342:6: ( RULE_ID ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:343:1: RULE_ID - { - before(grammarAccess.getE_STRINGAccess().getIDTerminalRuleCall_1()); - match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__E_STRING__Alternatives670); - after(grammarAccess.getE_STRINGAccess().getIDTerminalRuleCall_1()); - - } - - - } - break; - - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__E_STRING__Alternatives" - - - // $ANTLR start "rule__OperationsType__Alternatives" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:353:1: rule__OperationsType__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) | ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) | ( ( '>' ) ) | ( ( '<' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<=' ) ) | ( ( '>=' ) ) | ( ( 'AND' ) ) | ( ( 'OR' ) ) | ( ( 'XOR' ) ) ); - public final void rule__OperationsType__Alternatives() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:357:1: ( ( ( '+' ) ) | ( ( '-' ) ) | ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) | ( ( '>' ) ) | ( ( '<' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<=' ) ) | ( ( '>=' ) ) | ( ( 'AND' ) ) | ( ( 'OR' ) ) | ( ( 'XOR' ) ) ) - int alt3=14; - switch ( input.LA(1) ) { - case 11: - { - alt3=1; - } - break; - case 12: - { - alt3=2; - } - break; - case 13: - { - alt3=3; - } - break; - case 14: - { - alt3=4; - } - break; - case 15: - { - alt3=5; - } - break; - case 16: - { - alt3=6; - } - break; - case 17: - { - alt3=7; - } - break; - case 18: - { - alt3=8; - } - break; - case 19: - { - alt3=9; - } - break; - case 20: - { - alt3=10; - } - break; - case 21: - { - alt3=11; - } - break; - case 22: - { - alt3=12; - } - break; - case 23: - { - alt3=13; - } - break; - case 24: - { - alt3=14; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 3, 0, input); - - throw nvae; - } - - switch (alt3) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:358:1: ( ( '+' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:358:1: ( ( '+' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:359:1: ( '+' ) - { - before(grammarAccess.getOperationsTypeAccess().getADDEnumLiteralDeclaration_0()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:360:1: ( '+' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:360:3: '+' - { - match(input,11,FOLLOW_11_in_rule__OperationsType__Alternatives703); - - } - - after(grammarAccess.getOperationsTypeAccess().getADDEnumLiteralDeclaration_0()); - - } - - - } - break; - case 2 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:365:6: ( ( '-' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:365:6: ( ( '-' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:366:1: ( '-' ) - { - before(grammarAccess.getOperationsTypeAccess().getSUBEnumLiteralDeclaration_1()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:367:1: ( '-' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:367:3: '-' - { - match(input,12,FOLLOW_12_in_rule__OperationsType__Alternatives724); - - } - - after(grammarAccess.getOperationsTypeAccess().getSUBEnumLiteralDeclaration_1()); - - } - - - } - break; - case 3 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:372:6: ( ( '*' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:372:6: ( ( '*' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:373:1: ( '*' ) - { - before(grammarAccess.getOperationsTypeAccess().getMULTEnumLiteralDeclaration_2()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:374:1: ( '*' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:374:3: '*' - { - match(input,13,FOLLOW_13_in_rule__OperationsType__Alternatives745); - - } - - after(grammarAccess.getOperationsTypeAccess().getMULTEnumLiteralDeclaration_2()); - - } - - - } - break; - case 4 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:379:6: ( ( '/' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:379:6: ( ( '/' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:380:1: ( '/' ) - { - before(grammarAccess.getOperationsTypeAccess().getDIVEnumLiteralDeclaration_3()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:381:1: ( '/' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:381:3: '/' - { - match(input,14,FOLLOW_14_in_rule__OperationsType__Alternatives766); - - } - - after(grammarAccess.getOperationsTypeAccess().getDIVEnumLiteralDeclaration_3()); - - } - - - } - break; - case 5 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:386:6: ( ( '%' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:386:6: ( ( '%' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:387:1: ( '%' ) - { - before(grammarAccess.getOperationsTypeAccess().getMODEnumLiteralDeclaration_4()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:388:1: ( '%' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:388:3: '%' - { - match(input,15,FOLLOW_15_in_rule__OperationsType__Alternatives787); - - } - - after(grammarAccess.getOperationsTypeAccess().getMODEnumLiteralDeclaration_4()); - - } - - - } - break; - case 6 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:393:6: ( ( '>' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:393:6: ( ( '>' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:394:1: ( '>' ) - { - before(grammarAccess.getOperationsTypeAccess().getGREATEREnumLiteralDeclaration_5()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:395:1: ( '>' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:395:3: '>' - { - match(input,16,FOLLOW_16_in_rule__OperationsType__Alternatives808); - - } - - after(grammarAccess.getOperationsTypeAccess().getGREATEREnumLiteralDeclaration_5()); - - } - - - } - break; - case 7 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:400:6: ( ( '<' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:400:6: ( ( '<' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:401:1: ( '<' ) - { - before(grammarAccess.getOperationsTypeAccess().getLESSEnumLiteralDeclaration_6()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:402:1: ( '<' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:402:3: '<' - { - match(input,17,FOLLOW_17_in_rule__OperationsType__Alternatives829); - - } - - after(grammarAccess.getOperationsTypeAccess().getLESSEnumLiteralDeclaration_6()); - - } - - - } - break; - case 8 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:407:6: ( ( '=' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:407:6: ( ( '=' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:408:1: ( '=' ) - { - before(grammarAccess.getOperationsTypeAccess().getEQUALSEnumLiteralDeclaration_7()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:409:1: ( '=' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:409:3: '=' - { - match(input,18,FOLLOW_18_in_rule__OperationsType__Alternatives850); - - } - - after(grammarAccess.getOperationsTypeAccess().getEQUALSEnumLiteralDeclaration_7()); - - } - - - } - break; - case 9 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:414:6: ( ( '!=' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:414:6: ( ( '!=' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:415:1: ( '!=' ) - { - before(grammarAccess.getOperationsTypeAccess().getNOTEQUALEnumLiteralDeclaration_8()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:416:1: ( '!=' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:416:3: '!=' - { - match(input,19,FOLLOW_19_in_rule__OperationsType__Alternatives871); - - } - - after(grammarAccess.getOperationsTypeAccess().getNOTEQUALEnumLiteralDeclaration_8()); - - } - - - } - break; - case 10 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:421:6: ( ( '<=' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:421:6: ( ( '<=' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:422:1: ( '<=' ) - { - before(grammarAccess.getOperationsTypeAccess().getLESSEQUALEnumLiteralDeclaration_9()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:423:1: ( '<=' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:423:3: '<=' - { - match(input,20,FOLLOW_20_in_rule__OperationsType__Alternatives892); - - } - - after(grammarAccess.getOperationsTypeAccess().getLESSEQUALEnumLiteralDeclaration_9()); - - } - - - } - break; - case 11 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:428:6: ( ( '>=' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:428:6: ( ( '>=' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:429:1: ( '>=' ) - { - before(grammarAccess.getOperationsTypeAccess().getGREATEREQUALEnumLiteralDeclaration_10()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:430:1: ( '>=' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:430:3: '>=' - { - match(input,21,FOLLOW_21_in_rule__OperationsType__Alternatives913); - - } - - after(grammarAccess.getOperationsTypeAccess().getGREATEREQUALEnumLiteralDeclaration_10()); - - } - - - } - break; - case 12 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:435:6: ( ( 'AND' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:435:6: ( ( 'AND' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:436:1: ( 'AND' ) - { - before(grammarAccess.getOperationsTypeAccess().getANDEnumLiteralDeclaration_11()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:437:1: ( 'AND' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:437:3: 'AND' - { - match(input,22,FOLLOW_22_in_rule__OperationsType__Alternatives934); - - } - - after(grammarAccess.getOperationsTypeAccess().getANDEnumLiteralDeclaration_11()); - - } - - - } - break; - case 13 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:442:6: ( ( 'OR' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:442:6: ( ( 'OR' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:443:1: ( 'OR' ) - { - before(grammarAccess.getOperationsTypeAccess().getOREnumLiteralDeclaration_12()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:444:1: ( 'OR' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:444:3: 'OR' - { - match(input,23,FOLLOW_23_in_rule__OperationsType__Alternatives955); - - } - - after(grammarAccess.getOperationsTypeAccess().getOREnumLiteralDeclaration_12()); - - } - - - } - break; - case 14 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:449:6: ( ( 'XOR' ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:449:6: ( ( 'XOR' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:450:1: ( 'XOR' ) - { - before(grammarAccess.getOperationsTypeAccess().getXOREnumLiteralDeclaration_13()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:451:1: ( 'XOR' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:451:3: 'XOR' - { - match(input,24,FOLLOW_24_in_rule__OperationsType__Alternatives976); - - } - - after(grammarAccess.getOperationsTypeAccess().getXOREnumLiteralDeclaration_13()); - - } - - - } - break; - - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__OperationsType__Alternatives" - - - // $ANTLR start "rule__Term__Group__0" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:463:1: rule__Term__Group__0 : rule__Term__Group__0__Impl rule__Term__Group__1 ; - public final void rule__Term__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:467:1: ( rule__Term__Group__0__Impl rule__Term__Group__1 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:2: rule__Term__Group__0__Impl rule__Term__Group__1 - { - pushFollow(FOLLOW_rule__Term__Group__0__Impl_in_rule__Term__Group__01009); - rule__Term__Group__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__Term__Group__1_in_rule__Term__Group__01012); - rule__Term__Group__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group__0" - - - // $ANTLR start "rule__Term__Group__0__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:475:1: rule__Term__Group__0__Impl : ( ruleTypes ) ; - public final void rule__Term__Group__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:479:1: ( ( ruleTypes ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:480:1: ( ruleTypes ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:480:1: ( ruleTypes ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:481:1: ruleTypes - { - before(grammarAccess.getTermAccess().getTypesParserRuleCall_0()); - pushFollow(FOLLOW_ruleTypes_in_rule__Term__Group__0__Impl1039); - ruleTypes(); - - state._fsp--; - - after(grammarAccess.getTermAccess().getTypesParserRuleCall_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group__0__Impl" - - - // $ANTLR start "rule__Term__Group__1" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:492:1: rule__Term__Group__1 : rule__Term__Group__1__Impl ; - public final void rule__Term__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:496:1: ( rule__Term__Group__1__Impl ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:497:2: rule__Term__Group__1__Impl - { - pushFollow(FOLLOW_rule__Term__Group__1__Impl_in_rule__Term__Group__11068); - rule__Term__Group__1__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group__1" - - - // $ANTLR start "rule__Term__Group__1__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:503:1: rule__Term__Group__1__Impl : ( ( rule__Term__Group_1__0 )* ) ; - public final void rule__Term__Group__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:507:1: ( ( ( rule__Term__Group_1__0 )* ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:508:1: ( ( rule__Term__Group_1__0 )* ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:508:1: ( ( rule__Term__Group_1__0 )* ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:509:1: ( rule__Term__Group_1__0 )* - { - before(grammarAccess.getTermAccess().getGroup_1()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:510:1: ( rule__Term__Group_1__0 )* - loop4: - do { - int alt4=2; - int LA4_0 = input.LA(1); - - if ( ((LA4_0>=11 && LA4_0<=24)) ) { - alt4=1; - } - - - switch (alt4) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:510:2: rule__Term__Group_1__0 - { - pushFollow(FOLLOW_rule__Term__Group_1__0_in_rule__Term__Group__1__Impl1095); - rule__Term__Group_1__0(); - - state._fsp--; - - - } - break; - - default : - break loop4; - } - } while (true); - - after(grammarAccess.getTermAccess().getGroup_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group__1__Impl" - - - // $ANTLR start "rule__Term__Group_1__0" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:1: rule__Term__Group_1__0 : rule__Term__Group_1__0__Impl rule__Term__Group_1__1 ; - public final void rule__Term__Group_1__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:528:1: ( rule__Term__Group_1__0__Impl rule__Term__Group_1__1 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:529:2: rule__Term__Group_1__0__Impl rule__Term__Group_1__1 - { - pushFollow(FOLLOW_rule__Term__Group_1__0__Impl_in_rule__Term__Group_1__01130); - rule__Term__Group_1__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__Term__Group_1__1_in_rule__Term__Group_1__01133); - rule__Term__Group_1__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group_1__0" - - - // $ANTLR start "rule__Term__Group_1__0__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:536:1: rule__Term__Group_1__0__Impl : ( () ) ; - public final void rule__Term__Group_1__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:540:1: ( ( () ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:541:1: ( () ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:541:1: ( () ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:542:1: () - { - before(grammarAccess.getTermAccess().getTermLeftAction_1_0()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:543:1: () - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:545:1: - { - } - - after(grammarAccess.getTermAccess().getTermLeftAction_1_0()); - - } - - - } - - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group_1__0__Impl" - - - // $ANTLR start "rule__Term__Group_1__1" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:555:1: rule__Term__Group_1__1 : rule__Term__Group_1__1__Impl rule__Term__Group_1__2 ; - public final void rule__Term__Group_1__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:559:1: ( rule__Term__Group_1__1__Impl rule__Term__Group_1__2 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:560:2: rule__Term__Group_1__1__Impl rule__Term__Group_1__2 - { - pushFollow(FOLLOW_rule__Term__Group_1__1__Impl_in_rule__Term__Group_1__11191); - rule__Term__Group_1__1__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__Term__Group_1__2_in_rule__Term__Group_1__11194); - rule__Term__Group_1__2(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group_1__1" - - - // $ANTLR start "rule__Term__Group_1__1__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:567:1: rule__Term__Group_1__1__Impl : ( ( rule__Term__OperationsAssignment_1_1 ) ) ; - public final void rule__Term__Group_1__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:571:1: ( ( ( rule__Term__OperationsAssignment_1_1 ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:572:1: ( ( rule__Term__OperationsAssignment_1_1 ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:572:1: ( ( rule__Term__OperationsAssignment_1_1 ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:573:1: ( rule__Term__OperationsAssignment_1_1 ) - { - before(grammarAccess.getTermAccess().getOperationsAssignment_1_1()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:574:1: ( rule__Term__OperationsAssignment_1_1 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:574:2: rule__Term__OperationsAssignment_1_1 - { - pushFollow(FOLLOW_rule__Term__OperationsAssignment_1_1_in_rule__Term__Group_1__1__Impl1221); - rule__Term__OperationsAssignment_1_1(); - - state._fsp--; - - - } - - after(grammarAccess.getTermAccess().getOperationsAssignment_1_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group_1__1__Impl" - - - // $ANTLR start "rule__Term__Group_1__2" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:584:1: rule__Term__Group_1__2 : rule__Term__Group_1__2__Impl ; - public final void rule__Term__Group_1__2() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:588:1: ( rule__Term__Group_1__2__Impl ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:589:2: rule__Term__Group_1__2__Impl - { - pushFollow(FOLLOW_rule__Term__Group_1__2__Impl_in_rule__Term__Group_1__21251); - rule__Term__Group_1__2__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group_1__2" - - - // $ANTLR start "rule__Term__Group_1__2__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:595:1: rule__Term__Group_1__2__Impl : ( ( rule__Term__RightAssignment_1_2 ) ) ; - public final void rule__Term__Group_1__2__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:599:1: ( ( ( rule__Term__RightAssignment_1_2 ) ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:600:1: ( ( rule__Term__RightAssignment_1_2 ) ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:600:1: ( ( rule__Term__RightAssignment_1_2 ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:601:1: ( rule__Term__RightAssignment_1_2 ) - { - before(grammarAccess.getTermAccess().getRightAssignment_1_2()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:602:1: ( rule__Term__RightAssignment_1_2 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:602:2: rule__Term__RightAssignment_1_2 - { - pushFollow(FOLLOW_rule__Term__RightAssignment_1_2_in_rule__Term__Group_1__2__Impl1278); - rule__Term__RightAssignment_1_2(); - - state._fsp--; - - - } - - after(grammarAccess.getTermAccess().getRightAssignment_1_2()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__Group_1__2__Impl" - - - // $ANTLR start "rule__Types__Group_2__0" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:618:1: rule__Types__Group_2__0 : rule__Types__Group_2__0__Impl rule__Types__Group_2__1 ; - public final void rule__Types__Group_2__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:622:1: ( rule__Types__Group_2__0__Impl rule__Types__Group_2__1 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:623:2: rule__Types__Group_2__0__Impl rule__Types__Group_2__1 - { - pushFollow(FOLLOW_rule__Types__Group_2__0__Impl_in_rule__Types__Group_2__01314); - rule__Types__Group_2__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__Types__Group_2__1_in_rule__Types__Group_2__01317); - rule__Types__Group_2__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Types__Group_2__0" - - - // $ANTLR start "rule__Types__Group_2__0__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:630:1: rule__Types__Group_2__0__Impl : ( '(' ) ; - public final void rule__Types__Group_2__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:634:1: ( ( '(' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:635:1: ( '(' ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:635:1: ( '(' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:636:1: '(' - { - before(grammarAccess.getTypesAccess().getLeftParenthesisKeyword_2_0()); - match(input,25,FOLLOW_25_in_rule__Types__Group_2__0__Impl1345); - after(grammarAccess.getTypesAccess().getLeftParenthesisKeyword_2_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Types__Group_2__0__Impl" - - - // $ANTLR start "rule__Types__Group_2__1" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:649:1: rule__Types__Group_2__1 : rule__Types__Group_2__1__Impl rule__Types__Group_2__2 ; - public final void rule__Types__Group_2__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:653:1: ( rule__Types__Group_2__1__Impl rule__Types__Group_2__2 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:654:2: rule__Types__Group_2__1__Impl rule__Types__Group_2__2 - { - pushFollow(FOLLOW_rule__Types__Group_2__1__Impl_in_rule__Types__Group_2__11376); - rule__Types__Group_2__1__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__Types__Group_2__2_in_rule__Types__Group_2__11379); - rule__Types__Group_2__2(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Types__Group_2__1" - - - // $ANTLR start "rule__Types__Group_2__1__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:661:1: rule__Types__Group_2__1__Impl : ( ruleTerm ) ; - public final void rule__Types__Group_2__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:665:1: ( ( ruleTerm ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:666:1: ( ruleTerm ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:666:1: ( ruleTerm ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:667:1: ruleTerm - { - before(grammarAccess.getTypesAccess().getTermParserRuleCall_2_1()); - pushFollow(FOLLOW_ruleTerm_in_rule__Types__Group_2__1__Impl1406); - ruleTerm(); - - state._fsp--; - - after(grammarAccess.getTypesAccess().getTermParserRuleCall_2_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Types__Group_2__1__Impl" - - - // $ANTLR start "rule__Types__Group_2__2" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:678:1: rule__Types__Group_2__2 : rule__Types__Group_2__2__Impl ; - public final void rule__Types__Group_2__2() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:682:1: ( rule__Types__Group_2__2__Impl ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:683:2: rule__Types__Group_2__2__Impl - { - pushFollow(FOLLOW_rule__Types__Group_2__2__Impl_in_rule__Types__Group_2__21435); - rule__Types__Group_2__2__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Types__Group_2__2" - - - // $ANTLR start "rule__Types__Group_2__2__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:689:1: rule__Types__Group_2__2__Impl : ( ')' ) ; - public final void rule__Types__Group_2__2__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:693:1: ( ( ')' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:694:1: ( ')' ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:694:1: ( ')' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:695:1: ')' - { - before(grammarAccess.getTypesAccess().getRightParenthesisKeyword_2_2()); - match(input,26,FOLLOW_26_in_rule__Types__Group_2__2__Impl1463); - after(grammarAccess.getTypesAccess().getRightParenthesisKeyword_2_2()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Types__Group_2__2__Impl" - - - // $ANTLR start "rule__Arithmetics__Group__0" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:714:1: rule__Arithmetics__Group__0 : rule__Arithmetics__Group__0__Impl rule__Arithmetics__Group__1 ; - public final void rule__Arithmetics__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:718:1: ( rule__Arithmetics__Group__0__Impl rule__Arithmetics__Group__1 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:719:2: rule__Arithmetics__Group__0__Impl rule__Arithmetics__Group__1 - { - pushFollow(FOLLOW_rule__Arithmetics__Group__0__Impl_in_rule__Arithmetics__Group__01500); - rule__Arithmetics__Group__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__Arithmetics__Group__1_in_rule__Arithmetics__Group__01503); - rule__Arithmetics__Group__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Arithmetics__Group__0" - - - // $ANTLR start "rule__Arithmetics__Group__0__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:726:1: rule__Arithmetics__Group__0__Impl : ( () ) ; - public final void rule__Arithmetics__Group__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:730:1: ( ( () ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:731:1: ( () ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:731:1: ( () ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:732:1: () - { - before(grammarAccess.getArithmeticsAccess().getExpressionAction_0()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:733:1: () - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:735:1: - { - } - - after(grammarAccess.getArithmeticsAccess().getExpressionAction_0()); - - } - - - } - - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Arithmetics__Group__0__Impl" - - - // $ANTLR start "rule__Arithmetics__Group__1" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:745:1: rule__Arithmetics__Group__1 : rule__Arithmetics__Group__1__Impl ; - public final void rule__Arithmetics__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:749:1: ( rule__Arithmetics__Group__1__Impl ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:750:2: rule__Arithmetics__Group__1__Impl - { - pushFollow(FOLLOW_rule__Arithmetics__Group__1__Impl_in_rule__Arithmetics__Group__11561); - rule__Arithmetics__Group__1__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Arithmetics__Group__1" - - - // $ANTLR start "rule__Arithmetics__Group__1__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:756:1: rule__Arithmetics__Group__1__Impl : ( ruleDECIMAL ) ; - public final void rule__Arithmetics__Group__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:760:1: ( ( ruleDECIMAL ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:761:1: ( ruleDECIMAL ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:761:1: ( ruleDECIMAL ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:762:1: ruleDECIMAL - { - before(grammarAccess.getArithmeticsAccess().getDECIMALParserRuleCall_1()); - pushFollow(FOLLOW_ruleDECIMAL_in_rule__Arithmetics__Group__1__Impl1588); - ruleDECIMAL(); - - state._fsp--; - - after(grammarAccess.getArithmeticsAccess().getDECIMALParserRuleCall_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Arithmetics__Group__1__Impl" - - - // $ANTLR start "rule__Strings__Group__0" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:777:1: rule__Strings__Group__0 : rule__Strings__Group__0__Impl rule__Strings__Group__1 ; - public final void rule__Strings__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:781:1: ( rule__Strings__Group__0__Impl rule__Strings__Group__1 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:782:2: rule__Strings__Group__0__Impl rule__Strings__Group__1 - { - pushFollow(FOLLOW_rule__Strings__Group__0__Impl_in_rule__Strings__Group__01621); - rule__Strings__Group__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__Strings__Group__1_in_rule__Strings__Group__01624); - rule__Strings__Group__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Strings__Group__0" - - - // $ANTLR start "rule__Strings__Group__0__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:789:1: rule__Strings__Group__0__Impl : ( () ) ; - public final void rule__Strings__Group__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:793:1: ( ( () ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: ( () ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: ( () ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:795:1: () - { - before(grammarAccess.getStringsAccess().getExpressionAction_0()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:796:1: () - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:798:1: - { - } - - after(grammarAccess.getStringsAccess().getExpressionAction_0()); - - } - - - } - - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Strings__Group__0__Impl" - - - // $ANTLR start "rule__Strings__Group__1" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:808:1: rule__Strings__Group__1 : rule__Strings__Group__1__Impl ; - public final void rule__Strings__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:812:1: ( rule__Strings__Group__1__Impl ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:813:2: rule__Strings__Group__1__Impl - { - pushFollow(FOLLOW_rule__Strings__Group__1__Impl_in_rule__Strings__Group__11682); - rule__Strings__Group__1__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Strings__Group__1" - - - // $ANTLR start "rule__Strings__Group__1__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:819:1: rule__Strings__Group__1__Impl : ( ruleE_STRING ) ; - public final void rule__Strings__Group__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:823:1: ( ( ruleE_STRING ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:824:1: ( ruleE_STRING ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:824:1: ( ruleE_STRING ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:825:1: ruleE_STRING - { - before(grammarAccess.getStringsAccess().getE_STRINGParserRuleCall_1()); - pushFollow(FOLLOW_ruleE_STRING_in_rule__Strings__Group__1__Impl1709); - ruleE_STRING(); - - state._fsp--; - - after(grammarAccess.getStringsAccess().getE_STRINGParserRuleCall_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Strings__Group__1__Impl" - - - // $ANTLR start "rule__DECIMAL__Group__0" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:840:1: rule__DECIMAL__Group__0 : rule__DECIMAL__Group__0__Impl rule__DECIMAL__Group__1 ; - public final void rule__DECIMAL__Group__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:844:1: ( rule__DECIMAL__Group__0__Impl rule__DECIMAL__Group__1 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:845:2: rule__DECIMAL__Group__0__Impl rule__DECIMAL__Group__1 - { - pushFollow(FOLLOW_rule__DECIMAL__Group__0__Impl_in_rule__DECIMAL__Group__01742); - rule__DECIMAL__Group__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__DECIMAL__Group__1_in_rule__DECIMAL__Group__01745); - rule__DECIMAL__Group__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group__0" - - - // $ANTLR start "rule__DECIMAL__Group__0__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:852:1: rule__DECIMAL__Group__0__Impl : ( ( '-' )? ) ; - public final void rule__DECIMAL__Group__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:856:1: ( ( ( '-' )? ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:857:1: ( ( '-' )? ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:857:1: ( ( '-' )? ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:858:1: ( '-' )? - { - before(grammarAccess.getDECIMALAccess().getHyphenMinusKeyword_0()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:859:1: ( '-' )? - int alt5=2; - int LA5_0 = input.LA(1); - - if ( (LA5_0==12) ) { - alt5=1; - } - switch (alt5) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:860:2: '-' - { - match(input,12,FOLLOW_12_in_rule__DECIMAL__Group__0__Impl1774); - - } - break; - - } - - after(grammarAccess.getDECIMALAccess().getHyphenMinusKeyword_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group__0__Impl" - - - // $ANTLR start "rule__DECIMAL__Group__1" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:871:1: rule__DECIMAL__Group__1 : rule__DECIMAL__Group__1__Impl rule__DECIMAL__Group__2 ; - public final void rule__DECIMAL__Group__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:875:1: ( rule__DECIMAL__Group__1__Impl rule__DECIMAL__Group__2 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:876:2: rule__DECIMAL__Group__1__Impl rule__DECIMAL__Group__2 - { - pushFollow(FOLLOW_rule__DECIMAL__Group__1__Impl_in_rule__DECIMAL__Group__11807); - rule__DECIMAL__Group__1__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__DECIMAL__Group__2_in_rule__DECIMAL__Group__11810); - rule__DECIMAL__Group__2(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group__1" - - - // $ANTLR start "rule__DECIMAL__Group__1__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:883:1: rule__DECIMAL__Group__1__Impl : ( RULE_INT ) ; - public final void rule__DECIMAL__Group__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:887:1: ( ( RULE_INT ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:888:1: ( RULE_INT ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:888:1: ( RULE_INT ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:889:1: RULE_INT - { - before(grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_1()); - match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DECIMAL__Group__1__Impl1837); - after(grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group__1__Impl" - - - // $ANTLR start "rule__DECIMAL__Group__2" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:900:1: rule__DECIMAL__Group__2 : rule__DECIMAL__Group__2__Impl ; - public final void rule__DECIMAL__Group__2() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:904:1: ( rule__DECIMAL__Group__2__Impl ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:905:2: rule__DECIMAL__Group__2__Impl - { - pushFollow(FOLLOW_rule__DECIMAL__Group__2__Impl_in_rule__DECIMAL__Group__21866); - rule__DECIMAL__Group__2__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group__2" - - - // $ANTLR start "rule__DECIMAL__Group__2__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:911:1: rule__DECIMAL__Group__2__Impl : ( ( rule__DECIMAL__Group_2__0 )? ) ; - public final void rule__DECIMAL__Group__2__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:915:1: ( ( ( rule__DECIMAL__Group_2__0 )? ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:916:1: ( ( rule__DECIMAL__Group_2__0 )? ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:916:1: ( ( rule__DECIMAL__Group_2__0 )? ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:917:1: ( rule__DECIMAL__Group_2__0 )? - { - before(grammarAccess.getDECIMALAccess().getGroup_2()); - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:918:1: ( rule__DECIMAL__Group_2__0 )? - int alt6=2; - int LA6_0 = input.LA(1); - - if ( (LA6_0==27) ) { - alt6=1; - } - switch (alt6) { - case 1 : - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:918:2: rule__DECIMAL__Group_2__0 - { - pushFollow(FOLLOW_rule__DECIMAL__Group_2__0_in_rule__DECIMAL__Group__2__Impl1893); - rule__DECIMAL__Group_2__0(); - - state._fsp--; - - - } - break; - - } - - after(grammarAccess.getDECIMALAccess().getGroup_2()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group__2__Impl" - - - // $ANTLR start "rule__DECIMAL__Group_2__0" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:934:1: rule__DECIMAL__Group_2__0 : rule__DECIMAL__Group_2__0__Impl rule__DECIMAL__Group_2__1 ; - public final void rule__DECIMAL__Group_2__0() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:938:1: ( rule__DECIMAL__Group_2__0__Impl rule__DECIMAL__Group_2__1 ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:939:2: rule__DECIMAL__Group_2__0__Impl rule__DECIMAL__Group_2__1 - { - pushFollow(FOLLOW_rule__DECIMAL__Group_2__0__Impl_in_rule__DECIMAL__Group_2__01930); - rule__DECIMAL__Group_2__0__Impl(); - - state._fsp--; - - pushFollow(FOLLOW_rule__DECIMAL__Group_2__1_in_rule__DECIMAL__Group_2__01933); - rule__DECIMAL__Group_2__1(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group_2__0" - - - // $ANTLR start "rule__DECIMAL__Group_2__0__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:946:1: rule__DECIMAL__Group_2__0__Impl : ( '.' ) ; - public final void rule__DECIMAL__Group_2__0__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:950:1: ( ( '.' ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:951:1: ( '.' ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:951:1: ( '.' ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:952:1: '.' - { - before(grammarAccess.getDECIMALAccess().getFullStopKeyword_2_0()); - match(input,27,FOLLOW_27_in_rule__DECIMAL__Group_2__0__Impl1961); - after(grammarAccess.getDECIMALAccess().getFullStopKeyword_2_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group_2__0__Impl" - - - // $ANTLR start "rule__DECIMAL__Group_2__1" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:965:1: rule__DECIMAL__Group_2__1 : rule__DECIMAL__Group_2__1__Impl ; - public final void rule__DECIMAL__Group_2__1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:969:1: ( rule__DECIMAL__Group_2__1__Impl ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:970:2: rule__DECIMAL__Group_2__1__Impl - { - pushFollow(FOLLOW_rule__DECIMAL__Group_2__1__Impl_in_rule__DECIMAL__Group_2__11992); - rule__DECIMAL__Group_2__1__Impl(); - - state._fsp--; - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group_2__1" - - - // $ANTLR start "rule__DECIMAL__Group_2__1__Impl" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:976:1: rule__DECIMAL__Group_2__1__Impl : ( RULE_INT ) ; - public final void rule__DECIMAL__Group_2__1__Impl() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:980:1: ( ( RULE_INT ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:981:1: ( RULE_INT ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:981:1: ( RULE_INT ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:982:1: RULE_INT - { - before(grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_2_1()); - match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DECIMAL__Group_2__1__Impl2019); - after(grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_2_1()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__DECIMAL__Group_2__1__Impl" - - - // $ANTLR start "rule__Model__TermsAssignment" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:998:1: rule__Model__TermsAssignment : ( ruleTerm ) ; - public final void rule__Model__TermsAssignment() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1002:1: ( ( ruleTerm ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1003:1: ( ruleTerm ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1003:1: ( ruleTerm ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1004:1: ruleTerm - { - before(grammarAccess.getModelAccess().getTermsTermParserRuleCall_0()); - pushFollow(FOLLOW_ruleTerm_in_rule__Model__TermsAssignment2057); - ruleTerm(); - - state._fsp--; - - after(grammarAccess.getModelAccess().getTermsTermParserRuleCall_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Model__TermsAssignment" - - - // $ANTLR start "rule__Term__OperationsAssignment_1_1" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1013:1: rule__Term__OperationsAssignment_1_1 : ( ruleOperations ) ; - public final void rule__Term__OperationsAssignment_1_1() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1017:1: ( ( ruleOperations ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1018:1: ( ruleOperations ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1018:1: ( ruleOperations ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1019:1: ruleOperations - { - before(grammarAccess.getTermAccess().getOperationsOperationsParserRuleCall_1_1_0()); - pushFollow(FOLLOW_ruleOperations_in_rule__Term__OperationsAssignment_1_12088); - ruleOperations(); - - state._fsp--; - - after(grammarAccess.getTermAccess().getOperationsOperationsParserRuleCall_1_1_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__OperationsAssignment_1_1" - - - // $ANTLR start "rule__Term__RightAssignment_1_2" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1028:1: rule__Term__RightAssignment_1_2 : ( ruleTypes ) ; - public final void rule__Term__RightAssignment_1_2() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1032:1: ( ( ruleTypes ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1033:1: ( ruleTypes ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1033:1: ( ruleTypes ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1034:1: ruleTypes - { - before(grammarAccess.getTermAccess().getRightTypesParserRuleCall_1_2_0()); - pushFollow(FOLLOW_ruleTypes_in_rule__Term__RightAssignment_1_22119); - ruleTypes(); - - state._fsp--; - - after(grammarAccess.getTermAccess().getRightTypesParserRuleCall_1_2_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Term__RightAssignment_1_2" - - - // $ANTLR start "rule__Operations__TermOperationsAssignment" - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1043:1: rule__Operations__TermOperationsAssignment : ( ruleOperationsType ) ; - public final void rule__Operations__TermOperationsAssignment() throws RecognitionException { - - int stackSize = keepStackSize(); - - try { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1047:1: ( ( ruleOperationsType ) ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1048:1: ( ruleOperationsType ) - { - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1048:1: ( ruleOperationsType ) - // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1049:1: ruleOperationsType - { - before(grammarAccess.getOperationsAccess().getTermOperationsOperationsTypeEnumRuleCall_0()); - pushFollow(FOLLOW_ruleOperationsType_in_rule__Operations__TermOperationsAssignment2150); - ruleOperationsType(); - - state._fsp--; - - after(grammarAccess.getOperationsAccess().getTermOperationsOperationsTypeEnumRuleCall_0()); - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - - restoreStackSize(stackSize); - - } - return ; - } - // $ANTLR end "rule__Operations__TermOperationsAssignment" - - // Delegated rules - - - - - public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Model__TermsAssignment_in_ruleModel94 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm121 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleTerm128 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Term__Group__0_in_ruleTerm154 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTypes_in_entryRuleTypes181 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleTypes188 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Types__Alternatives_in_ruleTypes214 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleArithmetics_in_entryRuleArithmetics241 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleArithmetics248 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Arithmetics__Group__0_in_ruleArithmetics274 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleStrings_in_entryRuleStrings301 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleStrings308 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Strings__Group__0_in_ruleStrings334 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleDECIMAL_in_entryRuleDECIMAL361 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleDECIMAL368 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group__0_in_ruleDECIMAL394 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleE_STRING_in_entryRuleE_STRING421 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleE_STRING428 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__E_STRING__Alternatives_in_ruleE_STRING454 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleOperations_in_entryRuleOperations481 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleOperations488 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Operations__TermOperationsAssignment_in_ruleOperations514 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__OperationsType__Alternatives_in_ruleOperationsType551 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleArithmetics_in_rule__Types__Alternatives586 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleStrings_in_rule__Types__Alternatives603 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Types__Group_2__0_in_rule__Types__Alternatives620 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_rule__E_STRING__Alternatives653 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_rule__E_STRING__Alternatives670 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_11_in_rule__OperationsType__Alternatives703 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_12_in_rule__OperationsType__Alternatives724 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_13_in_rule__OperationsType__Alternatives745 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_14_in_rule__OperationsType__Alternatives766 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_15_in_rule__OperationsType__Alternatives787 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_16_in_rule__OperationsType__Alternatives808 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_17_in_rule__OperationsType__Alternatives829 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_18_in_rule__OperationsType__Alternatives850 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_19_in_rule__OperationsType__Alternatives871 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_20_in_rule__OperationsType__Alternatives892 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_21_in_rule__OperationsType__Alternatives913 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_22_in_rule__OperationsType__Alternatives934 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_23_in_rule__OperationsType__Alternatives955 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_24_in_rule__OperationsType__Alternatives976 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Term__Group__0__Impl_in_rule__Term__Group__01009 = new BitSet(new long[]{0x0000000001FFF800L}); - public static final BitSet FOLLOW_rule__Term__Group__1_in_rule__Term__Group__01012 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTypes_in_rule__Term__Group__0__Impl1039 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Term__Group__1__Impl_in_rule__Term__Group__11068 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Term__Group_1__0_in_rule__Term__Group__1__Impl1095 = new BitSet(new long[]{0x0000000001FFF802L}); - public static final BitSet FOLLOW_rule__Term__Group_1__0__Impl_in_rule__Term__Group_1__01130 = new BitSet(new long[]{0x0000000001FFF800L}); - public static final BitSet FOLLOW_rule__Term__Group_1__1_in_rule__Term__Group_1__01133 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Term__Group_1__1__Impl_in_rule__Term__Group_1__11191 = new BitSet(new long[]{0x0000000002001070L}); - public static final BitSet FOLLOW_rule__Term__Group_1__2_in_rule__Term__Group_1__11194 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Term__OperationsAssignment_1_1_in_rule__Term__Group_1__1__Impl1221 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Term__Group_1__2__Impl_in_rule__Term__Group_1__21251 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Term__RightAssignment_1_2_in_rule__Term__Group_1__2__Impl1278 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Types__Group_2__0__Impl_in_rule__Types__Group_2__01314 = new BitSet(new long[]{0x0000000002001070L}); - public static final BitSet FOLLOW_rule__Types__Group_2__1_in_rule__Types__Group_2__01317 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_25_in_rule__Types__Group_2__0__Impl1345 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Types__Group_2__1__Impl_in_rule__Types__Group_2__11376 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_rule__Types__Group_2__2_in_rule__Types__Group_2__11379 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTerm_in_rule__Types__Group_2__1__Impl1406 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Types__Group_2__2__Impl_in_rule__Types__Group_2__21435 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_26_in_rule__Types__Group_2__2__Impl1463 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Arithmetics__Group__0__Impl_in_rule__Arithmetics__Group__01500 = new BitSet(new long[]{0x0000000000001040L}); - public static final BitSet FOLLOW_rule__Arithmetics__Group__1_in_rule__Arithmetics__Group__01503 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Arithmetics__Group__1__Impl_in_rule__Arithmetics__Group__11561 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleDECIMAL_in_rule__Arithmetics__Group__1__Impl1588 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Strings__Group__0__Impl_in_rule__Strings__Group__01621 = new BitSet(new long[]{0x0000000000000030L}); - public static final BitSet FOLLOW_rule__Strings__Group__1_in_rule__Strings__Group__01624 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__Strings__Group__1__Impl_in_rule__Strings__Group__11682 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleE_STRING_in_rule__Strings__Group__1__Impl1709 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group__0__Impl_in_rule__DECIMAL__Group__01742 = new BitSet(new long[]{0x0000000000001040L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group__1_in_rule__DECIMAL__Group__01745 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_12_in_rule__DECIMAL__Group__0__Impl1774 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group__1__Impl_in_rule__DECIMAL__Group__11807 = new BitSet(new long[]{0x0000000008000000L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group__2_in_rule__DECIMAL__Group__11810 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_INT_in_rule__DECIMAL__Group__1__Impl1837 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group__2__Impl_in_rule__DECIMAL__Group__21866 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group_2__0_in_rule__DECIMAL__Group__2__Impl1893 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group_2__0__Impl_in_rule__DECIMAL__Group_2__01930 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group_2__1_in_rule__DECIMAL__Group_2__01933 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_27_in_rule__DECIMAL__Group_2__0__Impl1961 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_rule__DECIMAL__Group_2__1__Impl_in_rule__DECIMAL__Group_2__11992 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_INT_in_rule__DECIMAL__Group_2__1__Impl2019 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTerm_in_rule__Model__TermsAssignment2057 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleOperations_in_rule__Term__OperationsAssignment_1_12088 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTypes_in_rule__Term__RightAssignment_1_22119 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleOperationsType_in_rule__Operations__TermOperationsAssignment2150 = new BitSet(new long[]{0x0000000000000002L}); - +public class InternalMyDslParser extends AbstractInternalContentAssistParser { + public static final String[] tokenNames = new String[] { + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'true'", "'false'", "'*'", "'/'", "'%'", "'+'", "'-'", "'>'", "'<'", "'='", "'!='", "'<='", "'>='", "'AND'", "'OR'", "'XOR'", "'.'", "'?'", "':'", "'NOT'", "'^'", "'('", "')'", "','" + }; + public static final int RULE_ID=5; + public static final int T__29=29; + public static final int T__28=28; + public static final int T__27=27; + public static final int T__26=26; + public static final int T__25=25; + public static final int T__24=24; + public static final int T__23=23; + public static final int T__22=22; + public static final int RULE_ANY_OTHER=10; + public static final int T__21=21; + public static final int T__20=20; + public static final int RULE_SL_COMMENT=8; + public static final int EOF=-1; + public static final int RULE_ML_COMMENT=7; + public static final int T__30=30; + public static final int T__19=19; + public static final int T__31=31; + public static final int RULE_STRING=4; + public static final int T__32=32; + public static final int T__33=33; + public static final int T__16=16; + public static final int T__34=34; + public static final int T__15=15; + public static final int T__18=18; + public static final int T__17=17; + public static final int T__12=12; + public static final int T__11=11; + public static final int T__14=14; + public static final int T__13=13; + public static final int RULE_INT=6; + public static final int RULE_WS=9; + + // delegates + // delegators + + + public InternalMyDslParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalMyDslParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalMyDslParser.tokenNames; } + public String getGrammarFileName() { return "../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; } + + + + private MyDslGrammarAccess grammarAccess; + + public void setGrammarAccess(MyDslGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } + + + + + // $ANTLR start "entryRuleModel" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:60:1: entryRuleModel : ruleModel EOF ; + public final void entryRuleModel() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:61:1: ( ruleModel EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:62:1: ruleModel EOF + { + before(grammarAccess.getModelRule()); + pushFollow(FOLLOW_ruleModel_in_entryRuleModel61); + ruleModel(); + + state._fsp--; + + after(grammarAccess.getModelRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleModel" + + + // $ANTLR start "ruleModel" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:69:1: ruleModel : ( ( rule__Model__TermsAssignment ) ) ; + public final void ruleModel() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:73:2: ( ( ( rule__Model__TermsAssignment ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__TermsAssignment ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__TermsAssignment ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( rule__Model__TermsAssignment ) + { + before(grammarAccess.getModelAccess().getTermsAssignment()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:1: ( rule__Model__TermsAssignment ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:2: rule__Model__TermsAssignment + { + pushFollow(FOLLOW_rule__Model__TermsAssignment_in_ruleModel94); + rule__Model__TermsAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getModelAccess().getTermsAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleModel" + + + // $ANTLR start "entryRuleDouble" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:88:1: entryRuleDouble : ruleDouble EOF ; + public final void entryRuleDouble() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:89:1: ( ruleDouble EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:90:1: ruleDouble EOF + { + before(grammarAccess.getDoubleRule()); + pushFollow(FOLLOW_ruleDouble_in_entryRuleDouble121); + ruleDouble(); + + state._fsp--; + + after(grammarAccess.getDoubleRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleDouble128); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDouble" + + + // $ANTLR start "ruleDouble" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:97:1: ruleDouble : ( ( rule__Double__Group__0 ) ) ; + public final void ruleDouble() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:101:2: ( ( ( rule__Double__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Double__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Double__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( rule__Double__Group__0 ) + { + before(grammarAccess.getDoubleAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( rule__Double__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:2: rule__Double__Group__0 + { + pushFollow(FOLLOW_rule__Double__Group__0_in_ruleDouble154); + rule__Double__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getDoubleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDouble" + + + // $ANTLR start "entryRuleInteger" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:116:1: entryRuleInteger : ruleInteger EOF ; + public final void entryRuleInteger() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:117:1: ( ruleInteger EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:118:1: ruleInteger EOF + { + before(grammarAccess.getIntegerRule()); + pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger181); + ruleInteger(); + + state._fsp--; + + after(grammarAccess.getIntegerRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleInteger188); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleInteger" + + + // $ANTLR start "ruleInteger" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:125:1: ruleInteger : ( ( rule__Integer__Group__0 ) ) ; + public final void ruleInteger() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:129:2: ( ( ( rule__Integer__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Integer__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Integer__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( rule__Integer__Group__0 ) + { + before(grammarAccess.getIntegerAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( rule__Integer__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:2: rule__Integer__Group__0 + { + pushFollow(FOLLOW_rule__Integer__Group__0_in_ruleInteger214); + rule__Integer__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getIntegerAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleInteger" + + + // $ANTLR start "entryRuleEString" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:144:1: entryRuleEString : ruleEString EOF ; + public final void entryRuleEString() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:145:1: ( ruleEString EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:146:1: ruleEString EOF + { + before(grammarAccess.getEStringRule()); + pushFollow(FOLLOW_ruleEString_in_entryRuleEString241); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getEStringRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleEString248); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleEString" + + + // $ANTLR start "ruleEString" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:153:1: ruleEString : ( ( rule__EString__Alternatives ) ) ; + public final void ruleEString() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:157:2: ( ( ( rule__EString__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__EString__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__EString__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( rule__EString__Alternatives ) + { + before(grammarAccess.getEStringAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:1: ( rule__EString__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:2: rule__EString__Alternatives + { + pushFollow(FOLLOW_rule__EString__Alternatives_in_ruleEString274); + rule__EString__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getEStringAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleEString" + + + // $ANTLR start "entryRuleEBoolean" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:172:1: entryRuleEBoolean : ruleEBoolean EOF ; + public final void entryRuleEBoolean() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:173:1: ( ruleEBoolean EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:174:1: ruleEBoolean EOF + { + before(grammarAccess.getEBooleanRule()); + pushFollow(FOLLOW_ruleEBoolean_in_entryRuleEBoolean301); + ruleEBoolean(); + + state._fsp--; + + after(grammarAccess.getEBooleanRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleEBoolean308); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleEBoolean" + + + // $ANTLR start "ruleEBoolean" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:181:1: ruleEBoolean : ( ( rule__EBoolean__Alternatives ) ) ; + public final void ruleEBoolean() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:185:2: ( ( ( rule__EBoolean__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__EBoolean__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__EBoolean__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( rule__EBoolean__Alternatives ) + { + before(grammarAccess.getEBooleanAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:1: ( rule__EBoolean__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:2: rule__EBoolean__Alternatives + { + pushFollow(FOLLOW_rule__EBoolean__Alternatives_in_ruleEBoolean334); + rule__EBoolean__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getEBooleanAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleEBoolean" + + + // $ANTLR start "entryRuleRootExpression" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:200:1: entryRuleRootExpression : ruleRootExpression EOF ; + public final void entryRuleRootExpression() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:201:1: ( ruleRootExpression EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:202:1: ruleRootExpression EOF + { + before(grammarAccess.getRootExpressionRule()); + pushFollow(FOLLOW_ruleRootExpression_in_entryRuleRootExpression361); + ruleRootExpression(); + + state._fsp--; + + after(grammarAccess.getRootExpressionRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleRootExpression368); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRootExpression" + + + // $ANTLR start "ruleRootExpression" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:209:1: ruleRootExpression : ( ruleIfElseExpression ) ; + public final void ruleRootExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:213:2: ( ( ruleIfElseExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:1: ( ruleIfElseExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:1: ( ruleIfElseExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:215:1: ruleIfElseExpression + { + before(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); + pushFollow(FOLLOW_ruleIfElseExpression_in_ruleRootExpression394); + ruleIfElseExpression(); + + state._fsp--; + + after(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRootExpression" + + + // $ANTLR start "entryRuleIfElseExpression" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:228:1: entryRuleIfElseExpression : ruleIfElseExpression EOF ; + public final void entryRuleIfElseExpression() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:229:1: ( ruleIfElseExpression EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:230:1: ruleIfElseExpression EOF + { + before(grammarAccess.getIfElseExpressionRule()); + pushFollow(FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression420); + ruleIfElseExpression(); + + state._fsp--; + + after(grammarAccess.getIfElseExpressionRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleIfElseExpression427); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleIfElseExpression" + + + // $ANTLR start "ruleIfElseExpression" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:237:1: ruleIfElseExpression : ( ( rule__IfElseExpression__Group__0 ) ) ; + public final void ruleIfElseExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:241:2: ( ( ( rule__IfElseExpression__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: ( ( rule__IfElseExpression__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: ( ( rule__IfElseExpression__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:243:1: ( rule__IfElseExpression__Group__0 ) + { + before(grammarAccess.getIfElseExpressionAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:1: ( rule__IfElseExpression__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:2: rule__IfElseExpression__Group__0 + { + pushFollow(FOLLOW_rule__IfElseExpression__Group__0_in_ruleIfElseExpression453); + rule__IfElseExpression__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getIfElseExpressionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleIfElseExpression" + + + // $ANTLR start "entryRuleBinaryBooleanExpression" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:256:1: entryRuleBinaryBooleanExpression : ruleBinaryBooleanExpression EOF ; + public final void entryRuleBinaryBooleanExpression() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:257:1: ( ruleBinaryBooleanExpression EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:258:1: ruleBinaryBooleanExpression EOF + { + before(grammarAccess.getBinaryBooleanExpressionRule()); + pushFollow(FOLLOW_ruleBinaryBooleanExpression_in_entryRuleBinaryBooleanExpression480); + ruleBinaryBooleanExpression(); + + state._fsp--; + + after(grammarAccess.getBinaryBooleanExpressionRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleBinaryBooleanExpression487); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleBinaryBooleanExpression" + + + // $ANTLR start "ruleBinaryBooleanExpression" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:265:1: ruleBinaryBooleanExpression : ( ( rule__BinaryBooleanExpression__Group__0 ) ) ; + public final void ruleBinaryBooleanExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:269:2: ( ( ( rule__BinaryBooleanExpression__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:1: ( ( rule__BinaryBooleanExpression__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:270:1: ( ( rule__BinaryBooleanExpression__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( rule__BinaryBooleanExpression__Group__0 ) + { + before(grammarAccess.getBinaryBooleanExpressionAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:1: ( rule__BinaryBooleanExpression__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:2: rule__BinaryBooleanExpression__Group__0 + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group__0_in_ruleBinaryBooleanExpression513); + rule__BinaryBooleanExpression__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getBinaryBooleanExpressionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBinaryBooleanExpression" + + + // $ANTLR start "entryRuleUnaryBooleanExpression" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:284:1: entryRuleUnaryBooleanExpression : ruleUnaryBooleanExpression EOF ; + public final void entryRuleUnaryBooleanExpression() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:285:1: ( ruleUnaryBooleanExpression EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:286:1: ruleUnaryBooleanExpression EOF + { + before(grammarAccess.getUnaryBooleanExpressionRule()); + pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_entryRuleUnaryBooleanExpression540); + ruleUnaryBooleanExpression(); + + state._fsp--; + + after(grammarAccess.getUnaryBooleanExpressionRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleUnaryBooleanExpression547); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUnaryBooleanExpression" + + + // $ANTLR start "ruleUnaryBooleanExpression" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:293:1: ruleUnaryBooleanExpression : ( ( rule__UnaryBooleanExpression__Alternatives ) ) ; + public final void ruleUnaryBooleanExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:297:2: ( ( ( rule__UnaryBooleanExpression__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:298:1: ( ( rule__UnaryBooleanExpression__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:298:1: ( ( rule__UnaryBooleanExpression__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:299:1: ( rule__UnaryBooleanExpression__Alternatives ) + { + before(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:300:1: ( rule__UnaryBooleanExpression__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:300:2: rule__UnaryBooleanExpression__Alternatives + { + pushFollow(FOLLOW_rule__UnaryBooleanExpression__Alternatives_in_ruleUnaryBooleanExpression573); + rule__UnaryBooleanExpression__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getUnaryBooleanExpressionAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUnaryBooleanExpression" + + + // $ANTLR start "entryRuleComparison" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:312:1: entryRuleComparison : ruleComparison EOF ; + public final void entryRuleComparison() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:313:1: ( ruleComparison EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:314:1: ruleComparison EOF + { + before(grammarAccess.getComparisonRule()); + pushFollow(FOLLOW_ruleComparison_in_entryRuleComparison600); + ruleComparison(); + + state._fsp--; + + after(grammarAccess.getComparisonRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleComparison607); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComparison" + + + // $ANTLR start "ruleComparison" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:321:1: ruleComparison : ( ( rule__Comparison__Group__0 ) ) ; + public final void ruleComparison() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:325:2: ( ( ( rule__Comparison__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:326:1: ( ( rule__Comparison__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:326:1: ( ( rule__Comparison__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:327:1: ( rule__Comparison__Group__0 ) + { + before(grammarAccess.getComparisonAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:328:1: ( rule__Comparison__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:328:2: rule__Comparison__Group__0 + { + pushFollow(FOLLOW_rule__Comparison__Group__0_in_ruleComparison633); + rule__Comparison__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getComparisonAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComparison" + + + // $ANTLR start "entryRuleTerm" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:340:1: entryRuleTerm : ruleTerm EOF ; + public final void entryRuleTerm() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:341:1: ( ruleTerm EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:342:1: ruleTerm EOF + { + before(grammarAccess.getTermRule()); + pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm660); + ruleTerm(); + + state._fsp--; + + after(grammarAccess.getTermRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleTerm667); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTerm" + + + // $ANTLR start "ruleTerm" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:349:1: ruleTerm : ( ( rule__Term__Group__0 ) ) ; + public final void ruleTerm() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:353:2: ( ( ( rule__Term__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:354:1: ( ( rule__Term__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:354:1: ( ( rule__Term__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:355:1: ( rule__Term__Group__0 ) + { + before(grammarAccess.getTermAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:356:1: ( rule__Term__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:356:2: rule__Term__Group__0 + { + pushFollow(FOLLOW_rule__Term__Group__0_in_ruleTerm693); + rule__Term__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getTermAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTerm" + + + // $ANTLR start "entryRuleProduct" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:368:1: entryRuleProduct : ruleProduct EOF ; + public final void entryRuleProduct() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:369:1: ( ruleProduct EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:370:1: ruleProduct EOF + { + before(grammarAccess.getProductRule()); + pushFollow(FOLLOW_ruleProduct_in_entryRuleProduct720); + ruleProduct(); + + state._fsp--; + + after(grammarAccess.getProductRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleProduct727); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleProduct" + + + // $ANTLR start "ruleProduct" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:377:1: ruleProduct : ( ( rule__Product__Group__0 ) ) ; + public final void ruleProduct() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:381:2: ( ( ( rule__Product__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:382:1: ( ( rule__Product__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:382:1: ( ( rule__Product__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:383:1: ( rule__Product__Group__0 ) + { + before(grammarAccess.getProductAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:384:1: ( rule__Product__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:384:2: rule__Product__Group__0 + { + pushFollow(FOLLOW_rule__Product__Group__0_in_ruleProduct753); + rule__Product__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getProductAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleProduct" + + + // $ANTLR start "entryRulePower" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:396:1: entryRulePower : rulePower EOF ; + public final void entryRulePower() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:397:1: ( rulePower EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:398:1: rulePower EOF + { + before(grammarAccess.getPowerRule()); + pushFollow(FOLLOW_rulePower_in_entryRulePower780); + rulePower(); + + state._fsp--; + + after(grammarAccess.getPowerRule()); + match(input,EOF,FOLLOW_EOF_in_entryRulePower787); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePower" + + + // $ANTLR start "rulePower" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:405:1: rulePower : ( ( rule__Power__Group__0 ) ) ; + public final void rulePower() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:409:2: ( ( ( rule__Power__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:410:1: ( ( rule__Power__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:410:1: ( ( rule__Power__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:411:1: ( rule__Power__Group__0 ) + { + before(grammarAccess.getPowerAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:412:1: ( rule__Power__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:412:2: rule__Power__Group__0 + { + pushFollow(FOLLOW_rule__Power__Group__0_in_rulePower813); + rule__Power__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getPowerAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePower" + + + // $ANTLR start "entryRuleAtom" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:424:1: entryRuleAtom : ruleAtom EOF ; + public final void entryRuleAtom() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:425:1: ( ruleAtom EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:426:1: ruleAtom EOF + { + before(grammarAccess.getAtomRule()); + pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom840); + ruleAtom(); + + state._fsp--; + + after(grammarAccess.getAtomRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleAtom847); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAtom" + + + // $ANTLR start "ruleAtom" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:433:1: ruleAtom : ( ( rule__Atom__Alternatives ) ) ; + public final void ruleAtom() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:437:2: ( ( ( rule__Atom__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:438:1: ( ( rule__Atom__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:438:1: ( ( rule__Atom__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:439:1: ( rule__Atom__Alternatives ) + { + before(grammarAccess.getAtomAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:440:1: ( rule__Atom__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:440:2: rule__Atom__Alternatives + { + pushFollow(FOLLOW_rule__Atom__Alternatives_in_ruleAtom873); + rule__Atom__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getAtomAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAtom" + + + // $ANTLR start "entryRuleFunction" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:452:1: entryRuleFunction : ruleFunction EOF ; + public final void entryRuleFunction() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:453:1: ( ruleFunction EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:454:1: ruleFunction EOF + { + before(grammarAccess.getFunctionRule()); + pushFollow(FOLLOW_ruleFunction_in_entryRuleFunction900); + ruleFunction(); + + state._fsp--; + + after(grammarAccess.getFunctionRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleFunction907); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFunction" + + + // $ANTLR start "ruleFunction" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:461:1: ruleFunction : ( ( rule__Function__Group__0 ) ) ; + public final void ruleFunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:465:2: ( ( ( rule__Function__Group__0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:466:1: ( ( rule__Function__Group__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:466:1: ( ( rule__Function__Group__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:467:1: ( rule__Function__Group__0 ) + { + before(grammarAccess.getFunctionAccess().getGroup()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:1: ( rule__Function__Group__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:2: rule__Function__Group__0 + { + pushFollow(FOLLOW_rule__Function__Group__0_in_ruleFunction933); + rule__Function__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFunction" + + + // $ANTLR start "entryRuleLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:480:1: entryRuleLiteral : ruleLiteral EOF ; + public final void entryRuleLiteral() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:481:1: ( ruleLiteral EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:482:1: ruleLiteral EOF + { + before(grammarAccess.getLiteralRule()); + pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral960); + ruleLiteral(); + + state._fsp--; + + after(grammarAccess.getLiteralRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral967); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLiteral" + + + // $ANTLR start "ruleLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:489:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ; + public final void ruleLiteral() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:493:2: ( ( ( rule__Literal__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:1: ( ( rule__Literal__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:1: ( ( rule__Literal__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:495:1: ( rule__Literal__Alternatives ) + { + before(grammarAccess.getLiteralAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:496:1: ( rule__Literal__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:496:2: rule__Literal__Alternatives + { + pushFollow(FOLLOW_rule__Literal__Alternatives_in_ruleLiteral993); + rule__Literal__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getLiteralAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLiteral" + + + // $ANTLR start "entryRuleFormalParameter" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:508:1: entryRuleFormalParameter : ruleFormalParameter EOF ; + public final void entryRuleFormalParameter() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:509:1: ( ruleFormalParameter EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:510:1: ruleFormalParameter EOF + { + before(grammarAccess.getFormalParameterRule()); + pushFollow(FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter1020); + ruleFormalParameter(); + + state._fsp--; + + after(grammarAccess.getFormalParameterRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleFormalParameter1027); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFormalParameter" + + + // $ANTLR start "ruleFormalParameter" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:517:1: ruleFormalParameter : ( ( rule__FormalParameter__ValueAssignment ) ) ; + public final void ruleFormalParameter() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:521:2: ( ( ( rule__FormalParameter__ValueAssignment ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:522:1: ( ( rule__FormalParameter__ValueAssignment ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:522:1: ( ( rule__FormalParameter__ValueAssignment ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:523:1: ( rule__FormalParameter__ValueAssignment ) + { + before(grammarAccess.getFormalParameterAccess().getValueAssignment()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:1: ( rule__FormalParameter__ValueAssignment ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:2: rule__FormalParameter__ValueAssignment + { + pushFollow(FOLLOW_rule__FormalParameter__ValueAssignment_in_ruleFormalParameter1053); + rule__FormalParameter__ValueAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getFormalParameterAccess().getValueAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFormalParameter" + + + // $ANTLR start "entryRuleBooleanLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:536:1: entryRuleBooleanLiteral : ruleBooleanLiteral EOF ; + public final void entryRuleBooleanLiteral() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:537:1: ( ruleBooleanLiteral EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:538:1: ruleBooleanLiteral EOF + { + before(grammarAccess.getBooleanLiteralRule()); + pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1080); + ruleBooleanLiteral(); + + state._fsp--; + + after(grammarAccess.getBooleanLiteralRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral1087); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleBooleanLiteral" + + + // $ANTLR start "ruleBooleanLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:545:1: ruleBooleanLiteral : ( ( rule__BooleanLiteral__ValueAssignment ) ) ; + public final void ruleBooleanLiteral() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:549:2: ( ( ( rule__BooleanLiteral__ValueAssignment ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( ( rule__BooleanLiteral__ValueAssignment ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( ( rule__BooleanLiteral__ValueAssignment ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:551:1: ( rule__BooleanLiteral__ValueAssignment ) + { + before(grammarAccess.getBooleanLiteralAccess().getValueAssignment()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:552:1: ( rule__BooleanLiteral__ValueAssignment ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:552:2: rule__BooleanLiteral__ValueAssignment + { + pushFollow(FOLLOW_rule__BooleanLiteral__ValueAssignment_in_ruleBooleanLiteral1113); + rule__BooleanLiteral__ValueAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getBooleanLiteralAccess().getValueAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBooleanLiteral" + + + // $ANTLR start "entryRuleNumberLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:564:1: entryRuleNumberLiteral : ruleNumberLiteral EOF ; + public final void entryRuleNumberLiteral() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:565:1: ( ruleNumberLiteral EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:566:1: ruleNumberLiteral EOF + { + before(grammarAccess.getNumberLiteralRule()); + pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1140); + ruleNumberLiteral(); + + state._fsp--; + + after(grammarAccess.getNumberLiteralRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral1147); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNumberLiteral" + + + // $ANTLR start "ruleNumberLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:573:1: ruleNumberLiteral : ( ( rule__NumberLiteral__Alternatives ) ) ; + public final void ruleNumberLiteral() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:577:2: ( ( ( rule__NumberLiteral__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:578:1: ( ( rule__NumberLiteral__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:578:1: ( ( rule__NumberLiteral__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:579:1: ( rule__NumberLiteral__Alternatives ) + { + before(grammarAccess.getNumberLiteralAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:580:1: ( rule__NumberLiteral__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:580:2: rule__NumberLiteral__Alternatives + { + pushFollow(FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1173); + rule__NumberLiteral__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getNumberLiteralAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNumberLiteral" + + + // $ANTLR start "entryRuleIntLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:592:1: entryRuleIntLiteral : ruleIntLiteral EOF ; + public final void entryRuleIntLiteral() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:593:1: ( ruleIntLiteral EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:594:1: ruleIntLiteral EOF + { + before(grammarAccess.getIntLiteralRule()); + pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1200); + ruleIntLiteral(); + + state._fsp--; + + after(grammarAccess.getIntLiteralRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral1207); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleIntLiteral" + + + // $ANTLR start "ruleIntLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:601:1: ruleIntLiteral : ( ( rule__IntLiteral__ValueAssignment ) ) ; + public final void ruleIntLiteral() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:605:2: ( ( ( rule__IntLiteral__ValueAssignment ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:606:1: ( ( rule__IntLiteral__ValueAssignment ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:606:1: ( ( rule__IntLiteral__ValueAssignment ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:607:1: ( rule__IntLiteral__ValueAssignment ) + { + before(grammarAccess.getIntLiteralAccess().getValueAssignment()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:608:1: ( rule__IntLiteral__ValueAssignment ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:608:2: rule__IntLiteral__ValueAssignment + { + pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_in_ruleIntLiteral1233); + rule__IntLiteral__ValueAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getIntLiteralAccess().getValueAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleIntLiteral" + + + // $ANTLR start "entryRuleDoubleLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:620:1: entryRuleDoubleLiteral : ruleDoubleLiteral EOF ; + public final void entryRuleDoubleLiteral() throws RecognitionException { + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:621:1: ( ruleDoubleLiteral EOF ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:622:1: ruleDoubleLiteral EOF + { + before(grammarAccess.getDoubleLiteralRule()); + pushFollow(FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral1260); + ruleDoubleLiteral(); + + state._fsp--; + + after(grammarAccess.getDoubleLiteralRule()); + match(input,EOF,FOLLOW_EOF_in_entryRuleDoubleLiteral1267); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDoubleLiteral" + + + // $ANTLR start "ruleDoubleLiteral" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:629:1: ruleDoubleLiteral : ( ( rule__DoubleLiteral__ValueAssignment ) ) ; + public final void ruleDoubleLiteral() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:633:2: ( ( ( rule__DoubleLiteral__ValueAssignment ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:634:1: ( ( rule__DoubleLiteral__ValueAssignment ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:634:1: ( ( rule__DoubleLiteral__ValueAssignment ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:635:1: ( rule__DoubleLiteral__ValueAssignment ) + { + before(grammarAccess.getDoubleLiteralAccess().getValueAssignment()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:636:1: ( rule__DoubleLiteral__ValueAssignment ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:636:2: rule__DoubleLiteral__ValueAssignment + { + pushFollow(FOLLOW_rule__DoubleLiteral__ValueAssignment_in_ruleDoubleLiteral1293); + rule__DoubleLiteral__ValueAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getDoubleLiteralAccess().getValueAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDoubleLiteral" + + + // $ANTLR start "ruleProductOperation" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:649:1: ruleProductOperation : ( ( rule__ProductOperation__Alternatives ) ) ; + public final void ruleProductOperation() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:653:1: ( ( ( rule__ProductOperation__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:654:1: ( ( rule__ProductOperation__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:654:1: ( ( rule__ProductOperation__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:655:1: ( rule__ProductOperation__Alternatives ) + { + before(grammarAccess.getProductOperationAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:656:1: ( rule__ProductOperation__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:656:2: rule__ProductOperation__Alternatives + { + pushFollow(FOLLOW_rule__ProductOperation__Alternatives_in_ruleProductOperation1330); + rule__ProductOperation__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getProductOperationAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleProductOperation" + + + // $ANTLR start "ruleTermOperation" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:668:1: ruleTermOperation : ( ( rule__TermOperation__Alternatives ) ) ; + public final void ruleTermOperation() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:672:1: ( ( ( rule__TermOperation__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:673:1: ( ( rule__TermOperation__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:673:1: ( ( rule__TermOperation__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:674:1: ( rule__TermOperation__Alternatives ) + { + before(grammarAccess.getTermOperationAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:675:1: ( rule__TermOperation__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:675:2: rule__TermOperation__Alternatives + { + pushFollow(FOLLOW_rule__TermOperation__Alternatives_in_ruleTermOperation1366); + rule__TermOperation__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getTermOperationAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTermOperation" + + + // $ANTLR start "ruleCompareOperation" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:687:1: ruleCompareOperation : ( ( rule__CompareOperation__Alternatives ) ) ; + public final void ruleCompareOperation() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:691:1: ( ( ( rule__CompareOperation__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:692:1: ( ( rule__CompareOperation__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:692:1: ( ( rule__CompareOperation__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:693:1: ( rule__CompareOperation__Alternatives ) + { + before(grammarAccess.getCompareOperationAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:694:1: ( rule__CompareOperation__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:694:2: rule__CompareOperation__Alternatives + { + pushFollow(FOLLOW_rule__CompareOperation__Alternatives_in_ruleCompareOperation1402); + rule__CompareOperation__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getCompareOperationAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleCompareOperation" + + + // $ANTLR start "ruleBooleanOperation" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:706:1: ruleBooleanOperation : ( ( rule__BooleanOperation__Alternatives ) ) ; + public final void ruleBooleanOperation() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:710:1: ( ( ( rule__BooleanOperation__Alternatives ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:711:1: ( ( rule__BooleanOperation__Alternatives ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:711:1: ( ( rule__BooleanOperation__Alternatives ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:712:1: ( rule__BooleanOperation__Alternatives ) + { + before(grammarAccess.getBooleanOperationAccess().getAlternatives()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:713:1: ( rule__BooleanOperation__Alternatives ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:713:2: rule__BooleanOperation__Alternatives + { + pushFollow(FOLLOW_rule__BooleanOperation__Alternatives_in_ruleBooleanOperation1438); + rule__BooleanOperation__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getBooleanOperationAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBooleanOperation" + + + // $ANTLR start "rule__EString__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:724:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) ); + public final void rule__EString__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:728:1: ( ( RULE_STRING ) | ( RULE_ID ) ) + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==RULE_STRING) ) { + alt1=1; + } + else if ( (LA1_0==RULE_ID) ) { + alt1=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 1, 0, input); + + throw nvae; + } + switch (alt1) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:729:1: ( RULE_STRING ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:729:1: ( RULE_STRING ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:730:1: RULE_STRING + { + before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EString__Alternatives1473); + after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:735:6: ( RULE_ID ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:735:6: ( RULE_ID ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:736:1: RULE_ID + { + before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EString__Alternatives1490); + after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EString__Alternatives" + + + // $ANTLR start "rule__EBoolean__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:746:1: rule__EBoolean__Alternatives : ( ( 'true' ) | ( 'false' ) ); + public final void rule__EBoolean__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:750:1: ( ( 'true' ) | ( 'false' ) ) + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==11) ) { + alt2=1; + } + else if ( (LA2_0==12) ) { + alt2=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 2, 0, input); + + throw nvae; + } + switch (alt2) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:751:1: ( 'true' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:751:1: ( 'true' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:752:1: 'true' + { + before(grammarAccess.getEBooleanAccess().getTrueKeyword_0()); + match(input,11,FOLLOW_11_in_rule__EBoolean__Alternatives1523); + after(grammarAccess.getEBooleanAccess().getTrueKeyword_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:759:6: ( 'false' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:759:6: ( 'false' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:760:1: 'false' + { + before(grammarAccess.getEBooleanAccess().getFalseKeyword_1()); + match(input,12,FOLLOW_12_in_rule__EBoolean__Alternatives1543); + after(grammarAccess.getEBooleanAccess().getFalseKeyword_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EBoolean__Alternatives" + + + // $ANTLR start "rule__UnaryBooleanExpression__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:772:1: rule__UnaryBooleanExpression__Alternatives : ( ( ( rule__UnaryBooleanExpression__Group_0__0 ) ) | ( ruleComparison ) ); + public final void rule__UnaryBooleanExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:776:1: ( ( ( rule__UnaryBooleanExpression__Group_0__0 ) ) | ( ruleComparison ) ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==30) ) { + alt3=1; + } + else if ( ((LA3_0>=RULE_STRING && LA3_0<=RULE_INT)||(LA3_0>=11 && LA3_0<=12)||LA3_0==17||LA3_0==32) ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:777:1: ( ( rule__UnaryBooleanExpression__Group_0__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:777:1: ( ( rule__UnaryBooleanExpression__Group_0__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:778:1: ( rule__UnaryBooleanExpression__Group_0__0 ) + { + before(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:779:1: ( rule__UnaryBooleanExpression__Group_0__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:779:2: rule__UnaryBooleanExpression__Group_0__0 + { + pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__0_in_rule__UnaryBooleanExpression__Alternatives1577); + rule__UnaryBooleanExpression__Group_0__0(); + + state._fsp--; + + + } + + after(grammarAccess.getUnaryBooleanExpressionAccess().getGroup_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:783:6: ( ruleComparison ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:783:6: ( ruleComparison ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:784:1: ruleComparison + { + before(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); + pushFollow(FOLLOW_ruleComparison_in_rule__UnaryBooleanExpression__Alternatives1595); + ruleComparison(); + + state._fsp--; + + after(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryBooleanExpression__Alternatives" + + + // $ANTLR start "rule__Atom__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: rule__Atom__Alternatives : ( ( ruleLiteral ) | ( ( rule__Atom__Group_1__0 ) ) | ( ruleFunction ) ); + public final void rule__Atom__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:798:1: ( ( ruleLiteral ) | ( ( rule__Atom__Group_1__0 ) ) | ( ruleFunction ) ) + int alt4=3; + switch ( input.LA(1) ) { + case RULE_STRING: + case RULE_INT: + case 11: + case 12: + case 17: + { + alt4=1; + } + break; + case RULE_ID: + { + int LA4_2 = input.LA(2); + + if ( (LA4_2==32) ) { + alt4=3; + } + else if ( (LA4_2==EOF||(LA4_2>=13 && LA4_2<=26)||(LA4_2>=28 && LA4_2<=29)||LA4_2==31||(LA4_2>=33 && LA4_2<=34)) ) { + alt4=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 4, 2, input); + + throw nvae; + } + } + break; + case 32: + { + alt4=2; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); + + throw nvae; + } + + switch (alt4) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:799:1: ( ruleLiteral ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:799:1: ( ruleLiteral ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:800:1: ruleLiteral + { + before(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); + pushFollow(FOLLOW_ruleLiteral_in_rule__Atom__Alternatives1627); + ruleLiteral(); + + state._fsp--; + + after(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:805:6: ( ( rule__Atom__Group_1__0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:805:6: ( ( rule__Atom__Group_1__0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:806:1: ( rule__Atom__Group_1__0 ) + { + before(grammarAccess.getAtomAccess().getGroup_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:807:1: ( rule__Atom__Group_1__0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:807:2: rule__Atom__Group_1__0 + { + pushFollow(FOLLOW_rule__Atom__Group_1__0_in_rule__Atom__Alternatives1644); + rule__Atom__Group_1__0(); + + state._fsp--; + + + } + + after(grammarAccess.getAtomAccess().getGroup_1()); + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:811:6: ( ruleFunction ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:811:6: ( ruleFunction ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:812:1: ruleFunction + { + before(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); + pushFollow(FOLLOW_ruleFunction_in_rule__Atom__Alternatives1662); + ruleFunction(); + + state._fsp--; + + after(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Atom__Alternatives" + + + // $ANTLR start "rule__Literal__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:822:1: rule__Literal__Alternatives : ( ( ruleNumberLiteral ) | ( ruleBooleanLiteral ) | ( ruleFormalParameter ) ); + public final void rule__Literal__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:826:1: ( ( ruleNumberLiteral ) | ( ruleBooleanLiteral ) | ( ruleFormalParameter ) ) + int alt5=3; + switch ( input.LA(1) ) { + case RULE_INT: + case 17: + { + alt5=1; + } + break; + case 11: + case 12: + { + alt5=2; + } + break; + case RULE_STRING: + case RULE_ID: + { + alt5=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + + switch (alt5) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:827:1: ( ruleNumberLiteral ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:827:1: ( ruleNumberLiteral ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:828:1: ruleNumberLiteral + { + before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); + pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1694); + ruleNumberLiteral(); + + state._fsp--; + + after(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:833:6: ( ruleBooleanLiteral ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:833:6: ( ruleBooleanLiteral ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:834:1: ruleBooleanLiteral + { + before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); + pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1711); + ruleBooleanLiteral(); + + state._fsp--; + + after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:839:6: ( ruleFormalParameter ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:839:6: ( ruleFormalParameter ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:840:1: ruleFormalParameter + { + before(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); + pushFollow(FOLLOW_ruleFormalParameter_in_rule__Literal__Alternatives1728); + ruleFormalParameter(); + + state._fsp--; + + after(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Literal__Alternatives" + + + // $ANTLR start "rule__NumberLiteral__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:850:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleDoubleLiteral ) ); + public final void rule__NumberLiteral__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:854:1: ( ( ruleIntLiteral ) | ( ruleDoubleLiteral ) ) + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==17) ) { + int LA6_1 = input.LA(2); + + if ( (LA6_1==RULE_INT) ) { + int LA6_2 = input.LA(3); + + if ( (LA6_2==27) ) { + alt6=2; + } + else if ( (LA6_2==EOF||(LA6_2>=13 && LA6_2<=26)||(LA6_2>=28 && LA6_2<=29)||LA6_2==31||(LA6_2>=33 && LA6_2<=34)) ) { + alt6=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 6, 2, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 6, 1, input); + + throw nvae; + } + } + else if ( (LA6_0==RULE_INT) ) { + int LA6_2 = input.LA(2); + + if ( (LA6_2==27) ) { + alt6=2; + } + else if ( (LA6_2==EOF||(LA6_2>=13 && LA6_2<=26)||(LA6_2>=28 && LA6_2<=29)||LA6_2==31||(LA6_2>=33 && LA6_2<=34)) ) { + alt6=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 6, 2, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:855:1: ( ruleIntLiteral ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:855:1: ( ruleIntLiteral ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:856:1: ruleIntLiteral + { + before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); + pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1760); + ruleIntLiteral(); + + state._fsp--; + + after(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:861:6: ( ruleDoubleLiteral ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:861:6: ( ruleDoubleLiteral ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:862:1: ruleDoubleLiteral + { + before(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); + pushFollow(FOLLOW_ruleDoubleLiteral_in_rule__NumberLiteral__Alternatives1777); + ruleDoubleLiteral(); + + state._fsp--; + + after(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NumberLiteral__Alternatives" + + + // $ANTLR start "rule__ProductOperation__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:872:1: rule__ProductOperation__Alternatives : ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) ); + public final void rule__ProductOperation__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:876:1: ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) ) + int alt7=3; + switch ( input.LA(1) ) { + case 13: + { + alt7=1; + } + break; + case 14: + { + alt7=2; + } + break; + case 15: + { + alt7=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + + throw nvae; + } + + switch (alt7) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:877:1: ( ( '*' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:877:1: ( ( '*' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:878:1: ( '*' ) + { + before(grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:879:1: ( '*' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:879:3: '*' + { + match(input,13,FOLLOW_13_in_rule__ProductOperation__Alternatives1810); + + } + + after(grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:884:6: ( ( '/' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:884:6: ( ( '/' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:885:1: ( '/' ) + { + before(grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:886:1: ( '/' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:886:3: '/' + { + match(input,14,FOLLOW_14_in_rule__ProductOperation__Alternatives1831); + + } + + after(grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:891:6: ( ( '%' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:891:6: ( ( '%' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:892:1: ( '%' ) + { + before(grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:893:1: ( '%' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:893:3: '%' + { + match(input,15,FOLLOW_15_in_rule__ProductOperation__Alternatives1852); + + } + + after(grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProductOperation__Alternatives" + + + // $ANTLR start "rule__TermOperation__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:903:1: rule__TermOperation__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) ); + public final void rule__TermOperation__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:907:1: ( ( ( '+' ) ) | ( ( '-' ) ) ) + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==16) ) { + alt8=1; + } + else if ( (LA8_0==17) ) { + alt8=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 8, 0, input); + + throw nvae; + } + switch (alt8) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:908:1: ( ( '+' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:908:1: ( ( '+' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:909:1: ( '+' ) + { + before(grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:910:1: ( '+' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:910:3: '+' + { + match(input,16,FOLLOW_16_in_rule__TermOperation__Alternatives1888); + + } + + after(grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:915:6: ( ( '-' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:915:6: ( ( '-' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:916:1: ( '-' ) + { + before(grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:917:1: ( '-' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:917:3: '-' + { + match(input,17,FOLLOW_17_in_rule__TermOperation__Alternatives1909); + + } + + after(grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TermOperation__Alternatives" + + + // $ANTLR start "rule__CompareOperation__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:927:1: rule__CompareOperation__Alternatives : ( ( ( '>' ) ) | ( ( '<' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<=' ) ) | ( ( '>=' ) ) ); + public final void rule__CompareOperation__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:931:1: ( ( ( '>' ) ) | ( ( '<' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<=' ) ) | ( ( '>=' ) ) ) + int alt9=6; + switch ( input.LA(1) ) { + case 18: + { + alt9=1; + } + break; + case 19: + { + alt9=2; + } + break; + case 20: + { + alt9=3; + } + break; + case 21: + { + alt9=4; + } + break; + case 22: + { + alt9=5; + } + break; + case 23: + { + alt9=6; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + + switch (alt9) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:932:1: ( ( '>' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:932:1: ( ( '>' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:933:1: ( '>' ) + { + before(grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:934:1: ( '>' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:934:3: '>' + { + match(input,18,FOLLOW_18_in_rule__CompareOperation__Alternatives1945); + + } + + after(grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:939:6: ( ( '<' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:939:6: ( ( '<' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:940:1: ( '<' ) + { + before(grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:941:1: ( '<' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:941:3: '<' + { + match(input,19,FOLLOW_19_in_rule__CompareOperation__Alternatives1966); + + } + + after(grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:946:6: ( ( '=' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:946:6: ( ( '=' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:947:1: ( '=' ) + { + before(grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:948:1: ( '=' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:948:3: '=' + { + match(input,20,FOLLOW_20_in_rule__CompareOperation__Alternatives1987); + + } + + after(grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); + + } + + + } + break; + case 4 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:953:6: ( ( '!=' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:953:6: ( ( '!=' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:954:1: ( '!=' ) + { + before(grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:955:1: ( '!=' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:955:3: '!=' + { + match(input,21,FOLLOW_21_in_rule__CompareOperation__Alternatives2008); + + } + + after(grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); + + } + + + } + break; + case 5 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:960:6: ( ( '<=' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:960:6: ( ( '<=' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:961:1: ( '<=' ) + { + before(grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:962:1: ( '<=' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:962:3: '<=' + { + match(input,22,FOLLOW_22_in_rule__CompareOperation__Alternatives2029); + + } + + after(grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); + + } + + + } + break; + case 6 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:967:6: ( ( '>=' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:967:6: ( ( '>=' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:968:1: ( '>=' ) + { + before(grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:969:1: ( '>=' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:969:3: '>=' + { + match(input,23,FOLLOW_23_in_rule__CompareOperation__Alternatives2050); + + } + + after(grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompareOperation__Alternatives" + + + // $ANTLR start "rule__BooleanOperation__Alternatives" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:979:1: rule__BooleanOperation__Alternatives : ( ( ( 'AND' ) ) | ( ( 'OR' ) ) | ( ( 'XOR' ) ) ); + public final void rule__BooleanOperation__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:983:1: ( ( ( 'AND' ) ) | ( ( 'OR' ) ) | ( ( 'XOR' ) ) ) + int alt10=3; + switch ( input.LA(1) ) { + case 24: + { + alt10=1; + } + break; + case 25: + { + alt10=2; + } + break; + case 26: + { + alt10=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + + throw nvae; + } + + switch (alt10) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:984:1: ( ( 'AND' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:984:1: ( ( 'AND' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:985:1: ( 'AND' ) + { + before(grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:986:1: ( 'AND' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:986:3: 'AND' + { + match(input,24,FOLLOW_24_in_rule__BooleanOperation__Alternatives2086); + + } + + after(grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:991:6: ( ( 'OR' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:991:6: ( ( 'OR' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:992:1: ( 'OR' ) + { + before(grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:993:1: ( 'OR' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:993:3: 'OR' + { + match(input,25,FOLLOW_25_in_rule__BooleanOperation__Alternatives2107); + + } + + after(grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:998:6: ( ( 'XOR' ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:998:6: ( ( 'XOR' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:999:1: ( 'XOR' ) + { + before(grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1000:1: ( 'XOR' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1000:3: 'XOR' + { + match(input,26,FOLLOW_26_in_rule__BooleanOperation__Alternatives2128); + + } + + after(grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanOperation__Alternatives" + + + // $ANTLR start "rule__Double__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1012:1: rule__Double__Group__0 : rule__Double__Group__0__Impl rule__Double__Group__1 ; + public final void rule__Double__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1016:1: ( rule__Double__Group__0__Impl rule__Double__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1017:2: rule__Double__Group__0__Impl rule__Double__Group__1 + { + pushFollow(FOLLOW_rule__Double__Group__0__Impl_in_rule__Double__Group__02161); + rule__Double__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Double__Group__1_in_rule__Double__Group__02164); + rule__Double__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Double__Group__0" + + + // $ANTLR start "rule__Double__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1024:1: rule__Double__Group__0__Impl : ( ( '-' )? ) ; + public final void rule__Double__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1028:1: ( ( ( '-' )? ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1029:1: ( ( '-' )? ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1029:1: ( ( '-' )? ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1030:1: ( '-' )? + { + before(grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1031:1: ( '-' )? + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==17) ) { + alt11=1; + } + switch (alt11) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1032:2: '-' + { + match(input,17,FOLLOW_17_in_rule__Double__Group__0__Impl2193); + + } + break; + + } + + after(grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Double__Group__0__Impl" + + + // $ANTLR start "rule__Double__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1043:1: rule__Double__Group__1 : rule__Double__Group__1__Impl rule__Double__Group__2 ; + public final void rule__Double__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1047:1: ( rule__Double__Group__1__Impl rule__Double__Group__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1048:2: rule__Double__Group__1__Impl rule__Double__Group__2 + { + pushFollow(FOLLOW_rule__Double__Group__1__Impl_in_rule__Double__Group__12226); + rule__Double__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Double__Group__2_in_rule__Double__Group__12229); + rule__Double__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Double__Group__1" + + + // $ANTLR start "rule__Double__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1055:1: rule__Double__Group__1__Impl : ( RULE_INT ) ; + public final void rule__Double__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1059:1: ( ( RULE_INT ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1060:1: ( RULE_INT ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1060:1: ( RULE_INT ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1061:1: RULE_INT + { + before(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); + match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Double__Group__1__Impl2256); + after(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Double__Group__1__Impl" + + + // $ANTLR start "rule__Double__Group__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1072:1: rule__Double__Group__2 : rule__Double__Group__2__Impl rule__Double__Group__3 ; + public final void rule__Double__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1076:1: ( rule__Double__Group__2__Impl rule__Double__Group__3 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1077:2: rule__Double__Group__2__Impl rule__Double__Group__3 + { + pushFollow(FOLLOW_rule__Double__Group__2__Impl_in_rule__Double__Group__22285); + rule__Double__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Double__Group__3_in_rule__Double__Group__22288); + rule__Double__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Double__Group__2" + + + // $ANTLR start "rule__Double__Group__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1084:1: rule__Double__Group__2__Impl : ( '.' ) ; + public final void rule__Double__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1088:1: ( ( '.' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1089:1: ( '.' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1089:1: ( '.' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1090:1: '.' + { + before(grammarAccess.getDoubleAccess().getFullStopKeyword_2()); + match(input,27,FOLLOW_27_in_rule__Double__Group__2__Impl2316); + after(grammarAccess.getDoubleAccess().getFullStopKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Double__Group__2__Impl" + + + // $ANTLR start "rule__Double__Group__3" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1103:1: rule__Double__Group__3 : rule__Double__Group__3__Impl ; + public final void rule__Double__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1107:1: ( rule__Double__Group__3__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1108:2: rule__Double__Group__3__Impl + { + pushFollow(FOLLOW_rule__Double__Group__3__Impl_in_rule__Double__Group__32347); + rule__Double__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Double__Group__3" + + + // $ANTLR start "rule__Double__Group__3__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1114:1: rule__Double__Group__3__Impl : ( RULE_INT ) ; + public final void rule__Double__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1118:1: ( ( RULE_INT ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1119:1: ( RULE_INT ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1119:1: ( RULE_INT ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1120:1: RULE_INT + { + before(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); + match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Double__Group__3__Impl2374); + after(grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Double__Group__3__Impl" + + + // $ANTLR start "rule__Integer__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1139:1: rule__Integer__Group__0 : rule__Integer__Group__0__Impl rule__Integer__Group__1 ; + public final void rule__Integer__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1143:1: ( rule__Integer__Group__0__Impl rule__Integer__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1144:2: rule__Integer__Group__0__Impl rule__Integer__Group__1 + { + pushFollow(FOLLOW_rule__Integer__Group__0__Impl_in_rule__Integer__Group__02411); + rule__Integer__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Integer__Group__1_in_rule__Integer__Group__02414); + rule__Integer__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Integer__Group__0" + + + // $ANTLR start "rule__Integer__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1151:1: rule__Integer__Group__0__Impl : ( ( '-' )? ) ; + public final void rule__Integer__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1155:1: ( ( ( '-' )? ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1156:1: ( ( '-' )? ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1156:1: ( ( '-' )? ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1157:1: ( '-' )? + { + before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1158:1: ( '-' )? + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==17) ) { + alt12=1; + } + switch (alt12) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1159:2: '-' + { + match(input,17,FOLLOW_17_in_rule__Integer__Group__0__Impl2443); + + } + break; + + } + + after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Integer__Group__0__Impl" + + + // $ANTLR start "rule__Integer__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1170:1: rule__Integer__Group__1 : rule__Integer__Group__1__Impl ; + public final void rule__Integer__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1174:1: ( rule__Integer__Group__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1175:2: rule__Integer__Group__1__Impl + { + pushFollow(FOLLOW_rule__Integer__Group__1__Impl_in_rule__Integer__Group__12476); + rule__Integer__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Integer__Group__1" + + + // $ANTLR start "rule__Integer__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1181:1: rule__Integer__Group__1__Impl : ( RULE_INT ) ; + public final void rule__Integer__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1185:1: ( ( RULE_INT ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1186:1: ( RULE_INT ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1186:1: ( RULE_INT ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1187:1: RULE_INT + { + before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); + match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Integer__Group__1__Impl2503); + after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Integer__Group__1__Impl" + + + // $ANTLR start "rule__IfElseExpression__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1202:1: rule__IfElseExpression__Group__0 : rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1 ; + public final void rule__IfElseExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1206:1: ( rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1207:2: rule__IfElseExpression__Group__0__Impl rule__IfElseExpression__Group__1 + { + pushFollow(FOLLOW_rule__IfElseExpression__Group__0__Impl_in_rule__IfElseExpression__Group__02536); + rule__IfElseExpression__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__IfElseExpression__Group__1_in_rule__IfElseExpression__Group__02539); + rule__IfElseExpression__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group__0" + + + // $ANTLR start "rule__IfElseExpression__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1214:1: rule__IfElseExpression__Group__0__Impl : ( ruleBinaryBooleanExpression ) ; + public final void rule__IfElseExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1218:1: ( ( ruleBinaryBooleanExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1219:1: ( ruleBinaryBooleanExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1219:1: ( ruleBinaryBooleanExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1220:1: ruleBinaryBooleanExpression + { + before(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); + pushFollow(FOLLOW_ruleBinaryBooleanExpression_in_rule__IfElseExpression__Group__0__Impl2566); + ruleBinaryBooleanExpression(); + + state._fsp--; + + after(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group__0__Impl" + + + // $ANTLR start "rule__IfElseExpression__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1231:1: rule__IfElseExpression__Group__1 : rule__IfElseExpression__Group__1__Impl ; + public final void rule__IfElseExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1235:1: ( rule__IfElseExpression__Group__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1236:2: rule__IfElseExpression__Group__1__Impl + { + pushFollow(FOLLOW_rule__IfElseExpression__Group__1__Impl_in_rule__IfElseExpression__Group__12595); + rule__IfElseExpression__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group__1" + + + // $ANTLR start "rule__IfElseExpression__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1242:1: rule__IfElseExpression__Group__1__Impl : ( ( rule__IfElseExpression__Group_1__0 )? ) ; + public final void rule__IfElseExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1246:1: ( ( ( rule__IfElseExpression__Group_1__0 )? ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1247:1: ( ( rule__IfElseExpression__Group_1__0 )? ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1247:1: ( ( rule__IfElseExpression__Group_1__0 )? ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1248:1: ( rule__IfElseExpression__Group_1__0 )? + { + before(grammarAccess.getIfElseExpressionAccess().getGroup_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1249:1: ( rule__IfElseExpression__Group_1__0 )? + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==28) ) { + alt13=1; + } + switch (alt13) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1249:2: rule__IfElseExpression__Group_1__0 + { + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__0_in_rule__IfElseExpression__Group__1__Impl2622); + rule__IfElseExpression__Group_1__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getIfElseExpressionAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group__1__Impl" + + + // $ANTLR start "rule__IfElseExpression__Group_1__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1263:1: rule__IfElseExpression__Group_1__0 : rule__IfElseExpression__Group_1__0__Impl rule__IfElseExpression__Group_1__1 ; + public final void rule__IfElseExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1267:1: ( rule__IfElseExpression__Group_1__0__Impl rule__IfElseExpression__Group_1__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1268:2: rule__IfElseExpression__Group_1__0__Impl rule__IfElseExpression__Group_1__1 + { + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__0__Impl_in_rule__IfElseExpression__Group_1__02657); + rule__IfElseExpression__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__1_in_rule__IfElseExpression__Group_1__02660); + rule__IfElseExpression__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__0" + + + // $ANTLR start "rule__IfElseExpression__Group_1__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1275:1: rule__IfElseExpression__Group_1__0__Impl : ( () ) ; + public final void rule__IfElseExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1279:1: ( ( () ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1280:1: ( () ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1280:1: ( () ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1281:1: () + { + before(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1282:1: () + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1284:1: + { + } + + after(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__IfElseExpression__Group_1__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1294:1: rule__IfElseExpression__Group_1__1 : rule__IfElseExpression__Group_1__1__Impl rule__IfElseExpression__Group_1__2 ; + public final void rule__IfElseExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1298:1: ( rule__IfElseExpression__Group_1__1__Impl rule__IfElseExpression__Group_1__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1299:2: rule__IfElseExpression__Group_1__1__Impl rule__IfElseExpression__Group_1__2 + { + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__1__Impl_in_rule__IfElseExpression__Group_1__12718); + rule__IfElseExpression__Group_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__2_in_rule__IfElseExpression__Group_1__12721); + rule__IfElseExpression__Group_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__1" + + + // $ANTLR start "rule__IfElseExpression__Group_1__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1306:1: rule__IfElseExpression__Group_1__1__Impl : ( '?' ) ; + public final void rule__IfElseExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1310:1: ( ( '?' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1311:1: ( '?' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1311:1: ( '?' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1312:1: '?' + { + before(grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); + match(input,28,FOLLOW_28_in_rule__IfElseExpression__Group_1__1__Impl2749); + after(grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__IfElseExpression__Group_1__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1325:1: rule__IfElseExpression__Group_1__2 : rule__IfElseExpression__Group_1__2__Impl rule__IfElseExpression__Group_1__3 ; + public final void rule__IfElseExpression__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1329:1: ( rule__IfElseExpression__Group_1__2__Impl rule__IfElseExpression__Group_1__3 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1330:2: rule__IfElseExpression__Group_1__2__Impl rule__IfElseExpression__Group_1__3 + { + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__2__Impl_in_rule__IfElseExpression__Group_1__22780); + rule__IfElseExpression__Group_1__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__3_in_rule__IfElseExpression__Group_1__22783); + rule__IfElseExpression__Group_1__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__2" + + + // $ANTLR start "rule__IfElseExpression__Group_1__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1337:1: rule__IfElseExpression__Group_1__2__Impl : ( ( rule__IfElseExpression__TrueExpAssignment_1_2 ) ) ; + public final void rule__IfElseExpression__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1341:1: ( ( ( rule__IfElseExpression__TrueExpAssignment_1_2 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1342:1: ( ( rule__IfElseExpression__TrueExpAssignment_1_2 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1342:1: ( ( rule__IfElseExpression__TrueExpAssignment_1_2 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1343:1: ( rule__IfElseExpression__TrueExpAssignment_1_2 ) + { + before(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1344:1: ( rule__IfElseExpression__TrueExpAssignment_1_2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1344:2: rule__IfElseExpression__TrueExpAssignment_1_2 + { + pushFollow(FOLLOW_rule__IfElseExpression__TrueExpAssignment_1_2_in_rule__IfElseExpression__Group_1__2__Impl2810); + rule__IfElseExpression__TrueExpAssignment_1_2(); + + state._fsp--; + + + } + + after(grammarAccess.getIfElseExpressionAccess().getTrueExpAssignment_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__2__Impl" + + + // $ANTLR start "rule__IfElseExpression__Group_1__3" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1354:1: rule__IfElseExpression__Group_1__3 : rule__IfElseExpression__Group_1__3__Impl rule__IfElseExpression__Group_1__4 ; + public final void rule__IfElseExpression__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1358:1: ( rule__IfElseExpression__Group_1__3__Impl rule__IfElseExpression__Group_1__4 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1359:2: rule__IfElseExpression__Group_1__3__Impl rule__IfElseExpression__Group_1__4 + { + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__3__Impl_in_rule__IfElseExpression__Group_1__32840); + rule__IfElseExpression__Group_1__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__4_in_rule__IfElseExpression__Group_1__32843); + rule__IfElseExpression__Group_1__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__3" + + + // $ANTLR start "rule__IfElseExpression__Group_1__3__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1366:1: rule__IfElseExpression__Group_1__3__Impl : ( ':' ) ; + public final void rule__IfElseExpression__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1370:1: ( ( ':' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1371:1: ( ':' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1371:1: ( ':' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1372:1: ':' + { + before(grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); + match(input,29,FOLLOW_29_in_rule__IfElseExpression__Group_1__3__Impl2871); + after(grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__3__Impl" + + + // $ANTLR start "rule__IfElseExpression__Group_1__4" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1385:1: rule__IfElseExpression__Group_1__4 : rule__IfElseExpression__Group_1__4__Impl ; + public final void rule__IfElseExpression__Group_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1389:1: ( rule__IfElseExpression__Group_1__4__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1390:2: rule__IfElseExpression__Group_1__4__Impl + { + pushFollow(FOLLOW_rule__IfElseExpression__Group_1__4__Impl_in_rule__IfElseExpression__Group_1__42902); + rule__IfElseExpression__Group_1__4__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__4" + + + // $ANTLR start "rule__IfElseExpression__Group_1__4__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1396:1: rule__IfElseExpression__Group_1__4__Impl : ( ( rule__IfElseExpression__FalseExpAssignment_1_4 ) ) ; + public final void rule__IfElseExpression__Group_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1400:1: ( ( ( rule__IfElseExpression__FalseExpAssignment_1_4 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1401:1: ( ( rule__IfElseExpression__FalseExpAssignment_1_4 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1401:1: ( ( rule__IfElseExpression__FalseExpAssignment_1_4 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1402:1: ( rule__IfElseExpression__FalseExpAssignment_1_4 ) + { + before(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1403:1: ( rule__IfElseExpression__FalseExpAssignment_1_4 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1403:2: rule__IfElseExpression__FalseExpAssignment_1_4 + { + pushFollow(FOLLOW_rule__IfElseExpression__FalseExpAssignment_1_4_in_rule__IfElseExpression__Group_1__4__Impl2929); + rule__IfElseExpression__FalseExpAssignment_1_4(); + + state._fsp--; + + + } + + after(grammarAccess.getIfElseExpressionAccess().getFalseExpAssignment_1_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__Group_1__4__Impl" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1423:1: rule__BinaryBooleanExpression__Group__0 : rule__BinaryBooleanExpression__Group__0__Impl rule__BinaryBooleanExpression__Group__1 ; + public final void rule__BinaryBooleanExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1427:1: ( rule__BinaryBooleanExpression__Group__0__Impl rule__BinaryBooleanExpression__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1428:2: rule__BinaryBooleanExpression__Group__0__Impl rule__BinaryBooleanExpression__Group__1 + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group__0__Impl_in_rule__BinaryBooleanExpression__Group__02969); + rule__BinaryBooleanExpression__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group__1_in_rule__BinaryBooleanExpression__Group__02972); + rule__BinaryBooleanExpression__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group__0" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1435:1: rule__BinaryBooleanExpression__Group__0__Impl : ( ruleUnaryBooleanExpression ) ; + public final void rule__BinaryBooleanExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1439:1: ( ( ruleUnaryBooleanExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1440:1: ( ruleUnaryBooleanExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1440:1: ( ruleUnaryBooleanExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1441:1: ruleUnaryBooleanExpression + { + before(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); + pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_rule__BinaryBooleanExpression__Group__0__Impl2999); + ruleUnaryBooleanExpression(); + + state._fsp--; + + after(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group__0__Impl" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1452:1: rule__BinaryBooleanExpression__Group__1 : rule__BinaryBooleanExpression__Group__1__Impl ; + public final void rule__BinaryBooleanExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1456:1: ( rule__BinaryBooleanExpression__Group__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1457:2: rule__BinaryBooleanExpression__Group__1__Impl + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group__1__Impl_in_rule__BinaryBooleanExpression__Group__13028); + rule__BinaryBooleanExpression__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group__1" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1463:1: rule__BinaryBooleanExpression__Group__1__Impl : ( ( rule__BinaryBooleanExpression__Group_1__0 )* ) ; + public final void rule__BinaryBooleanExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1467:1: ( ( ( rule__BinaryBooleanExpression__Group_1__0 )* ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1468:1: ( ( rule__BinaryBooleanExpression__Group_1__0 )* ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1468:1: ( ( rule__BinaryBooleanExpression__Group_1__0 )* ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1469:1: ( rule__BinaryBooleanExpression__Group_1__0 )* + { + before(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1470:1: ( rule__BinaryBooleanExpression__Group_1__0 )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( ((LA14_0>=24 && LA14_0<=26)) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1470:2: rule__BinaryBooleanExpression__Group_1__0 + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__0_in_rule__BinaryBooleanExpression__Group__1__Impl3055); + rule__BinaryBooleanExpression__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop14; + } + } while (true); + + after(grammarAccess.getBinaryBooleanExpressionAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group__1__Impl" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group_1__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1484:1: rule__BinaryBooleanExpression__Group_1__0 : rule__BinaryBooleanExpression__Group_1__0__Impl rule__BinaryBooleanExpression__Group_1__1 ; + public final void rule__BinaryBooleanExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1488:1: ( rule__BinaryBooleanExpression__Group_1__0__Impl rule__BinaryBooleanExpression__Group_1__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1489:2: rule__BinaryBooleanExpression__Group_1__0__Impl rule__BinaryBooleanExpression__Group_1__1 + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__0__Impl_in_rule__BinaryBooleanExpression__Group_1__03090); + rule__BinaryBooleanExpression__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__1_in_rule__BinaryBooleanExpression__Group_1__03093); + rule__BinaryBooleanExpression__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group_1__0" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group_1__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1496:1: rule__BinaryBooleanExpression__Group_1__0__Impl : ( () ) ; + public final void rule__BinaryBooleanExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1500:1: ( ( () ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1501:1: ( () ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1501:1: ( () ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1502:1: () + { + before(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1503:1: () + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1505:1: + { + } + + after(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group_1__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1515:1: rule__BinaryBooleanExpression__Group_1__1 : rule__BinaryBooleanExpression__Group_1__1__Impl rule__BinaryBooleanExpression__Group_1__2 ; + public final void rule__BinaryBooleanExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1519:1: ( rule__BinaryBooleanExpression__Group_1__1__Impl rule__BinaryBooleanExpression__Group_1__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1520:2: rule__BinaryBooleanExpression__Group_1__1__Impl rule__BinaryBooleanExpression__Group_1__2 + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__1__Impl_in_rule__BinaryBooleanExpression__Group_1__13151); + rule__BinaryBooleanExpression__Group_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__2_in_rule__BinaryBooleanExpression__Group_1__13154); + rule__BinaryBooleanExpression__Group_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group_1__1" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group_1__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1527:1: rule__BinaryBooleanExpression__Group_1__1__Impl : ( ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) ) ; + public final void rule__BinaryBooleanExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1531:1: ( ( ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1532:1: ( ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1532:1: ( ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1533:1: ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) + { + before(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1534:1: ( rule__BinaryBooleanExpression__OperationAssignment_1_1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1534:2: rule__BinaryBooleanExpression__OperationAssignment_1_1 + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__OperationAssignment_1_1_in_rule__BinaryBooleanExpression__Group_1__1__Impl3181); + rule__BinaryBooleanExpression__OperationAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getBinaryBooleanExpressionAccess().getOperationAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group_1__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1544:1: rule__BinaryBooleanExpression__Group_1__2 : rule__BinaryBooleanExpression__Group_1__2__Impl ; + public final void rule__BinaryBooleanExpression__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1548:1: ( rule__BinaryBooleanExpression__Group_1__2__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1549:2: rule__BinaryBooleanExpression__Group_1__2__Impl + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__Group_1__2__Impl_in_rule__BinaryBooleanExpression__Group_1__23211); + rule__BinaryBooleanExpression__Group_1__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group_1__2" + + + // $ANTLR start "rule__BinaryBooleanExpression__Group_1__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1555:1: rule__BinaryBooleanExpression__Group_1__2__Impl : ( ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) ) ; + public final void rule__BinaryBooleanExpression__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1559:1: ( ( ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1560:1: ( ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1560:1: ( ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1561:1: ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) + { + before(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1562:1: ( rule__BinaryBooleanExpression__RightAssignment_1_2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1562:2: rule__BinaryBooleanExpression__RightAssignment_1_2 + { + pushFollow(FOLLOW_rule__BinaryBooleanExpression__RightAssignment_1_2_in_rule__BinaryBooleanExpression__Group_1__2__Impl3238); + rule__BinaryBooleanExpression__RightAssignment_1_2(); + + state._fsp--; + + + } + + after(grammarAccess.getBinaryBooleanExpressionAccess().getRightAssignment_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__Group_1__2__Impl" + + + // $ANTLR start "rule__UnaryBooleanExpression__Group_0__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1578:1: rule__UnaryBooleanExpression__Group_0__0 : rule__UnaryBooleanExpression__Group_0__0__Impl rule__UnaryBooleanExpression__Group_0__1 ; + public final void rule__UnaryBooleanExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1582:1: ( rule__UnaryBooleanExpression__Group_0__0__Impl rule__UnaryBooleanExpression__Group_0__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1583:2: rule__UnaryBooleanExpression__Group_0__0__Impl rule__UnaryBooleanExpression__Group_0__1 + { + pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__0__Impl_in_rule__UnaryBooleanExpression__Group_0__03274); + rule__UnaryBooleanExpression__Group_0__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__1_in_rule__UnaryBooleanExpression__Group_0__03277); + rule__UnaryBooleanExpression__Group_0__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryBooleanExpression__Group_0__0" + + + // $ANTLR start "rule__UnaryBooleanExpression__Group_0__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1590:1: rule__UnaryBooleanExpression__Group_0__0__Impl : ( 'NOT' ) ; + public final void rule__UnaryBooleanExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1594:1: ( ( 'NOT' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1595:1: ( 'NOT' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1595:1: ( 'NOT' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1596:1: 'NOT' + { + before(grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); + match(input,30,FOLLOW_30_in_rule__UnaryBooleanExpression__Group_0__0__Impl3305); + after(grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryBooleanExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__UnaryBooleanExpression__Group_0__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1609:1: rule__UnaryBooleanExpression__Group_0__1 : rule__UnaryBooleanExpression__Group_0__1__Impl rule__UnaryBooleanExpression__Group_0__2 ; + public final void rule__UnaryBooleanExpression__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1613:1: ( rule__UnaryBooleanExpression__Group_0__1__Impl rule__UnaryBooleanExpression__Group_0__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1614:2: rule__UnaryBooleanExpression__Group_0__1__Impl rule__UnaryBooleanExpression__Group_0__2 + { + pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__1__Impl_in_rule__UnaryBooleanExpression__Group_0__13336); + rule__UnaryBooleanExpression__Group_0__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__2_in_rule__UnaryBooleanExpression__Group_0__13339); + rule__UnaryBooleanExpression__Group_0__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryBooleanExpression__Group_0__1" + + + // $ANTLR start "rule__UnaryBooleanExpression__Group_0__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1621:1: rule__UnaryBooleanExpression__Group_0__1__Impl : ( ruleComparison ) ; + public final void rule__UnaryBooleanExpression__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1625:1: ( ( ruleComparison ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1626:1: ( ruleComparison ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1626:1: ( ruleComparison ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1627:1: ruleComparison + { + before(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); + pushFollow(FOLLOW_ruleComparison_in_rule__UnaryBooleanExpression__Group_0__1__Impl3366); + ruleComparison(); + + state._fsp--; + + after(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryBooleanExpression__Group_0__1__Impl" + + + // $ANTLR start "rule__UnaryBooleanExpression__Group_0__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1638:1: rule__UnaryBooleanExpression__Group_0__2 : rule__UnaryBooleanExpression__Group_0__2__Impl ; + public final void rule__UnaryBooleanExpression__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1642:1: ( rule__UnaryBooleanExpression__Group_0__2__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1643:2: rule__UnaryBooleanExpression__Group_0__2__Impl + { + pushFollow(FOLLOW_rule__UnaryBooleanExpression__Group_0__2__Impl_in_rule__UnaryBooleanExpression__Group_0__23395); + rule__UnaryBooleanExpression__Group_0__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryBooleanExpression__Group_0__2" + + + // $ANTLR start "rule__UnaryBooleanExpression__Group_0__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1649:1: rule__UnaryBooleanExpression__Group_0__2__Impl : ( () ) ; + public final void rule__UnaryBooleanExpression__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1653:1: ( ( () ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1654:1: ( () ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1654:1: ( () ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1655:1: () + { + before(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1656:1: () + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1658:1: + { + } + + after(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryBooleanExpression__Group_0__2__Impl" + + + // $ANTLR start "rule__Comparison__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1674:1: rule__Comparison__Group__0 : rule__Comparison__Group__0__Impl rule__Comparison__Group__1 ; + public final void rule__Comparison__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1678:1: ( rule__Comparison__Group__0__Impl rule__Comparison__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1679:2: rule__Comparison__Group__0__Impl rule__Comparison__Group__1 + { + pushFollow(FOLLOW_rule__Comparison__Group__0__Impl_in_rule__Comparison__Group__03459); + rule__Comparison__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Comparison__Group__1_in_rule__Comparison__Group__03462); + rule__Comparison__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group__0" + + + // $ANTLR start "rule__Comparison__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1686:1: rule__Comparison__Group__0__Impl : ( ruleTerm ) ; + public final void rule__Comparison__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1690:1: ( ( ruleTerm ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1691:1: ( ruleTerm ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1691:1: ( ruleTerm ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1692:1: ruleTerm + { + before(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); + pushFollow(FOLLOW_ruleTerm_in_rule__Comparison__Group__0__Impl3489); + ruleTerm(); + + state._fsp--; + + after(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group__0__Impl" + + + // $ANTLR start "rule__Comparison__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1703:1: rule__Comparison__Group__1 : rule__Comparison__Group__1__Impl ; + public final void rule__Comparison__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1707:1: ( rule__Comparison__Group__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1708:2: rule__Comparison__Group__1__Impl + { + pushFollow(FOLLOW_rule__Comparison__Group__1__Impl_in_rule__Comparison__Group__13518); + rule__Comparison__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group__1" + + + // $ANTLR start "rule__Comparison__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1714:1: rule__Comparison__Group__1__Impl : ( ( rule__Comparison__Group_1__0 )* ) ; + public final void rule__Comparison__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1718:1: ( ( ( rule__Comparison__Group_1__0 )* ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1719:1: ( ( rule__Comparison__Group_1__0 )* ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1719:1: ( ( rule__Comparison__Group_1__0 )* ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1720:1: ( rule__Comparison__Group_1__0 )* + { + before(grammarAccess.getComparisonAccess().getGroup_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1721:1: ( rule__Comparison__Group_1__0 )* + loop15: + do { + int alt15=2; + int LA15_0 = input.LA(1); + + if ( ((LA15_0>=18 && LA15_0<=23)) ) { + alt15=1; + } + + + switch (alt15) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1721:2: rule__Comparison__Group_1__0 + { + pushFollow(FOLLOW_rule__Comparison__Group_1__0_in_rule__Comparison__Group__1__Impl3545); + rule__Comparison__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop15; + } + } while (true); + + after(grammarAccess.getComparisonAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1735:1: rule__Comparison__Group_1__0 : rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1 ; + public final void rule__Comparison__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1739:1: ( rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1740:2: rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1 + { + pushFollow(FOLLOW_rule__Comparison__Group_1__0__Impl_in_rule__Comparison__Group_1__03580); + rule__Comparison__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Comparison__Group_1__1_in_rule__Comparison__Group_1__03583); + rule__Comparison__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__0" + + + // $ANTLR start "rule__Comparison__Group_1__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1747:1: rule__Comparison__Group_1__0__Impl : ( () ) ; + public final void rule__Comparison__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1751:1: ( ( () ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1752:1: ( () ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1752:1: ( () ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1753:1: () + { + before(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1754:1: () + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1756:1: + { + } + + after(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__0__Impl" + + + // $ANTLR start "rule__Comparison__Group_1__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1766:1: rule__Comparison__Group_1__1 : rule__Comparison__Group_1__1__Impl rule__Comparison__Group_1__2 ; + public final void rule__Comparison__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1770:1: ( rule__Comparison__Group_1__1__Impl rule__Comparison__Group_1__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1771:2: rule__Comparison__Group_1__1__Impl rule__Comparison__Group_1__2 + { + pushFollow(FOLLOW_rule__Comparison__Group_1__1__Impl_in_rule__Comparison__Group_1__13641); + rule__Comparison__Group_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Comparison__Group_1__2_in_rule__Comparison__Group_1__13644); + rule__Comparison__Group_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__1" + + + // $ANTLR start "rule__Comparison__Group_1__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1778:1: rule__Comparison__Group_1__1__Impl : ( ( rule__Comparison__OperationAssignment_1_1 ) ) ; + public final void rule__Comparison__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1782:1: ( ( ( rule__Comparison__OperationAssignment_1_1 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1783:1: ( ( rule__Comparison__OperationAssignment_1_1 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1783:1: ( ( rule__Comparison__OperationAssignment_1_1 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1784:1: ( rule__Comparison__OperationAssignment_1_1 ) + { + before(grammarAccess.getComparisonAccess().getOperationAssignment_1_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1785:1: ( rule__Comparison__OperationAssignment_1_1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1785:2: rule__Comparison__OperationAssignment_1_1 + { + pushFollow(FOLLOW_rule__Comparison__OperationAssignment_1_1_in_rule__Comparison__Group_1__1__Impl3671); + rule__Comparison__OperationAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getComparisonAccess().getOperationAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1795:1: rule__Comparison__Group_1__2 : rule__Comparison__Group_1__2__Impl ; + public final void rule__Comparison__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1799:1: ( rule__Comparison__Group_1__2__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1800:2: rule__Comparison__Group_1__2__Impl + { + pushFollow(FOLLOW_rule__Comparison__Group_1__2__Impl_in_rule__Comparison__Group_1__23701); + rule__Comparison__Group_1__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__2" + + + // $ANTLR start "rule__Comparison__Group_1__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1806:1: rule__Comparison__Group_1__2__Impl : ( ( rule__Comparison__RightAssignment_1_2 ) ) ; + public final void rule__Comparison__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1810:1: ( ( ( rule__Comparison__RightAssignment_1_2 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1811:1: ( ( rule__Comparison__RightAssignment_1_2 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1811:1: ( ( rule__Comparison__RightAssignment_1_2 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1812:1: ( rule__Comparison__RightAssignment_1_2 ) + { + before(grammarAccess.getComparisonAccess().getRightAssignment_1_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1813:1: ( rule__Comparison__RightAssignment_1_2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1813:2: rule__Comparison__RightAssignment_1_2 + { + pushFollow(FOLLOW_rule__Comparison__RightAssignment_1_2_in_rule__Comparison__Group_1__2__Impl3728); + rule__Comparison__RightAssignment_1_2(); + + state._fsp--; + + + } + + after(grammarAccess.getComparisonAccess().getRightAssignment_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__2__Impl" + + + // $ANTLR start "rule__Term__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1829:1: rule__Term__Group__0 : rule__Term__Group__0__Impl rule__Term__Group__1 ; + public final void rule__Term__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1833:1: ( rule__Term__Group__0__Impl rule__Term__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1834:2: rule__Term__Group__0__Impl rule__Term__Group__1 + { + pushFollow(FOLLOW_rule__Term__Group__0__Impl_in_rule__Term__Group__03764); + rule__Term__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Term__Group__1_in_rule__Term__Group__03767); + rule__Term__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group__0" + + + // $ANTLR start "rule__Term__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1841:1: rule__Term__Group__0__Impl : ( ruleProduct ) ; + public final void rule__Term__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1845:1: ( ( ruleProduct ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1846:1: ( ruleProduct ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1846:1: ( ruleProduct ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1847:1: ruleProduct + { + before(grammarAccess.getTermAccess().getProductParserRuleCall_0()); + pushFollow(FOLLOW_ruleProduct_in_rule__Term__Group__0__Impl3794); + ruleProduct(); + + state._fsp--; + + after(grammarAccess.getTermAccess().getProductParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group__0__Impl" + + + // $ANTLR start "rule__Term__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1858:1: rule__Term__Group__1 : rule__Term__Group__1__Impl ; + public final void rule__Term__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1862:1: ( rule__Term__Group__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1863:2: rule__Term__Group__1__Impl + { + pushFollow(FOLLOW_rule__Term__Group__1__Impl_in_rule__Term__Group__13823); + rule__Term__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group__1" + + + // $ANTLR start "rule__Term__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1869:1: rule__Term__Group__1__Impl : ( ( rule__Term__Group_1__0 )* ) ; + public final void rule__Term__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1873:1: ( ( ( rule__Term__Group_1__0 )* ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1874:1: ( ( rule__Term__Group_1__0 )* ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1874:1: ( ( rule__Term__Group_1__0 )* ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1875:1: ( rule__Term__Group_1__0 )* + { + before(grammarAccess.getTermAccess().getGroup_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1876:1: ( rule__Term__Group_1__0 )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( ((LA16_0>=16 && LA16_0<=17)) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1876:2: rule__Term__Group_1__0 + { + pushFollow(FOLLOW_rule__Term__Group_1__0_in_rule__Term__Group__1__Impl3850); + rule__Term__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop16; + } + } while (true); + + after(grammarAccess.getTermAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group__1__Impl" + + + // $ANTLR start "rule__Term__Group_1__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1890:1: rule__Term__Group_1__0 : rule__Term__Group_1__0__Impl rule__Term__Group_1__1 ; + public final void rule__Term__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1894:1: ( rule__Term__Group_1__0__Impl rule__Term__Group_1__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1895:2: rule__Term__Group_1__0__Impl rule__Term__Group_1__1 + { + pushFollow(FOLLOW_rule__Term__Group_1__0__Impl_in_rule__Term__Group_1__03885); + rule__Term__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Term__Group_1__1_in_rule__Term__Group_1__03888); + rule__Term__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group_1__0" + + + // $ANTLR start "rule__Term__Group_1__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1902:1: rule__Term__Group_1__0__Impl : ( () ) ; + public final void rule__Term__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1906:1: ( ( () ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1907:1: ( () ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1907:1: ( () ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1908:1: () + { + before(grammarAccess.getTermAccess().getTermLeftAction_1_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1909:1: () + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1911:1: + { + } + + after(grammarAccess.getTermAccess().getTermLeftAction_1_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group_1__0__Impl" + + + // $ANTLR start "rule__Term__Group_1__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1921:1: rule__Term__Group_1__1 : rule__Term__Group_1__1__Impl rule__Term__Group_1__2 ; + public final void rule__Term__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1925:1: ( rule__Term__Group_1__1__Impl rule__Term__Group_1__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1926:2: rule__Term__Group_1__1__Impl rule__Term__Group_1__2 + { + pushFollow(FOLLOW_rule__Term__Group_1__1__Impl_in_rule__Term__Group_1__13946); + rule__Term__Group_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Term__Group_1__2_in_rule__Term__Group_1__13949); + rule__Term__Group_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group_1__1" + + + // $ANTLR start "rule__Term__Group_1__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1933:1: rule__Term__Group_1__1__Impl : ( ( rule__Term__OperationAssignment_1_1 ) ) ; + public final void rule__Term__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1937:1: ( ( ( rule__Term__OperationAssignment_1_1 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1938:1: ( ( rule__Term__OperationAssignment_1_1 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1938:1: ( ( rule__Term__OperationAssignment_1_1 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1939:1: ( rule__Term__OperationAssignment_1_1 ) + { + before(grammarAccess.getTermAccess().getOperationAssignment_1_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1940:1: ( rule__Term__OperationAssignment_1_1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1940:2: rule__Term__OperationAssignment_1_1 + { + pushFollow(FOLLOW_rule__Term__OperationAssignment_1_1_in_rule__Term__Group_1__1__Impl3976); + rule__Term__OperationAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTermAccess().getOperationAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group_1__1__Impl" + + + // $ANTLR start "rule__Term__Group_1__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1950:1: rule__Term__Group_1__2 : rule__Term__Group_1__2__Impl ; + public final void rule__Term__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1954:1: ( rule__Term__Group_1__2__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1955:2: rule__Term__Group_1__2__Impl + { + pushFollow(FOLLOW_rule__Term__Group_1__2__Impl_in_rule__Term__Group_1__24006); + rule__Term__Group_1__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group_1__2" + + + // $ANTLR start "rule__Term__Group_1__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1961:1: rule__Term__Group_1__2__Impl : ( ( rule__Term__RightAssignment_1_2 ) ) ; + public final void rule__Term__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1965:1: ( ( ( rule__Term__RightAssignment_1_2 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1966:1: ( ( rule__Term__RightAssignment_1_2 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1966:1: ( ( rule__Term__RightAssignment_1_2 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1967:1: ( rule__Term__RightAssignment_1_2 ) + { + before(grammarAccess.getTermAccess().getRightAssignment_1_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1968:1: ( rule__Term__RightAssignment_1_2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1968:2: rule__Term__RightAssignment_1_2 + { + pushFollow(FOLLOW_rule__Term__RightAssignment_1_2_in_rule__Term__Group_1__2__Impl4033); + rule__Term__RightAssignment_1_2(); + + state._fsp--; + + + } + + after(grammarAccess.getTermAccess().getRightAssignment_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__Group_1__2__Impl" + + + // $ANTLR start "rule__Product__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1984:1: rule__Product__Group__0 : rule__Product__Group__0__Impl rule__Product__Group__1 ; + public final void rule__Product__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1988:1: ( rule__Product__Group__0__Impl rule__Product__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1989:2: rule__Product__Group__0__Impl rule__Product__Group__1 + { + pushFollow(FOLLOW_rule__Product__Group__0__Impl_in_rule__Product__Group__04069); + rule__Product__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Product__Group__1_in_rule__Product__Group__04072); + rule__Product__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group__0" + + + // $ANTLR start "rule__Product__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1996:1: rule__Product__Group__0__Impl : ( rulePower ) ; + public final void rule__Product__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2000:1: ( ( rulePower ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2001:1: ( rulePower ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2001:1: ( rulePower ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2002:1: rulePower + { + before(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); + pushFollow(FOLLOW_rulePower_in_rule__Product__Group__0__Impl4099); + rulePower(); + + state._fsp--; + + after(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group__0__Impl" + + + // $ANTLR start "rule__Product__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2013:1: rule__Product__Group__1 : rule__Product__Group__1__Impl ; + public final void rule__Product__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2017:1: ( rule__Product__Group__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2018:2: rule__Product__Group__1__Impl + { + pushFollow(FOLLOW_rule__Product__Group__1__Impl_in_rule__Product__Group__14128); + rule__Product__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group__1" + + + // $ANTLR start "rule__Product__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2024:1: rule__Product__Group__1__Impl : ( ( rule__Product__Group_1__0 )* ) ; + public final void rule__Product__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2028:1: ( ( ( rule__Product__Group_1__0 )* ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2029:1: ( ( rule__Product__Group_1__0 )* ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2029:1: ( ( rule__Product__Group_1__0 )* ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2030:1: ( rule__Product__Group_1__0 )* + { + before(grammarAccess.getProductAccess().getGroup_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2031:1: ( rule__Product__Group_1__0 )* + loop17: + do { + int alt17=2; + int LA17_0 = input.LA(1); + + if ( ((LA17_0>=13 && LA17_0<=15)) ) { + alt17=1; + } + + + switch (alt17) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2031:2: rule__Product__Group_1__0 + { + pushFollow(FOLLOW_rule__Product__Group_1__0_in_rule__Product__Group__1__Impl4155); + rule__Product__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop17; + } + } while (true); + + after(grammarAccess.getProductAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group__1__Impl" + + + // $ANTLR start "rule__Product__Group_1__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2045:1: rule__Product__Group_1__0 : rule__Product__Group_1__0__Impl rule__Product__Group_1__1 ; + public final void rule__Product__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2049:1: ( rule__Product__Group_1__0__Impl rule__Product__Group_1__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2050:2: rule__Product__Group_1__0__Impl rule__Product__Group_1__1 + { + pushFollow(FOLLOW_rule__Product__Group_1__0__Impl_in_rule__Product__Group_1__04190); + rule__Product__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Product__Group_1__1_in_rule__Product__Group_1__04193); + rule__Product__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group_1__0" + + + // $ANTLR start "rule__Product__Group_1__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2057:1: rule__Product__Group_1__0__Impl : ( () ) ; + public final void rule__Product__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2061:1: ( ( () ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2062:1: ( () ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2062:1: ( () ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2063:1: () + { + before(grammarAccess.getProductAccess().getProductLeftAction_1_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2064:1: () + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2066:1: + { + } + + after(grammarAccess.getProductAccess().getProductLeftAction_1_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group_1__0__Impl" + + + // $ANTLR start "rule__Product__Group_1__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2076:1: rule__Product__Group_1__1 : rule__Product__Group_1__1__Impl rule__Product__Group_1__2 ; + public final void rule__Product__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2080:1: ( rule__Product__Group_1__1__Impl rule__Product__Group_1__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2081:2: rule__Product__Group_1__1__Impl rule__Product__Group_1__2 + { + pushFollow(FOLLOW_rule__Product__Group_1__1__Impl_in_rule__Product__Group_1__14251); + rule__Product__Group_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Product__Group_1__2_in_rule__Product__Group_1__14254); + rule__Product__Group_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group_1__1" + + + // $ANTLR start "rule__Product__Group_1__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2088:1: rule__Product__Group_1__1__Impl : ( ( rule__Product__OperationAssignment_1_1 ) ) ; + public final void rule__Product__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2092:1: ( ( ( rule__Product__OperationAssignment_1_1 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2093:1: ( ( rule__Product__OperationAssignment_1_1 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2093:1: ( ( rule__Product__OperationAssignment_1_1 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2094:1: ( rule__Product__OperationAssignment_1_1 ) + { + before(grammarAccess.getProductAccess().getOperationAssignment_1_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2095:1: ( rule__Product__OperationAssignment_1_1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2095:2: rule__Product__OperationAssignment_1_1 + { + pushFollow(FOLLOW_rule__Product__OperationAssignment_1_1_in_rule__Product__Group_1__1__Impl4281); + rule__Product__OperationAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getProductAccess().getOperationAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group_1__1__Impl" + + + // $ANTLR start "rule__Product__Group_1__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2105:1: rule__Product__Group_1__2 : rule__Product__Group_1__2__Impl ; + public final void rule__Product__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2109:1: ( rule__Product__Group_1__2__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2110:2: rule__Product__Group_1__2__Impl + { + pushFollow(FOLLOW_rule__Product__Group_1__2__Impl_in_rule__Product__Group_1__24311); + rule__Product__Group_1__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group_1__2" + + + // $ANTLR start "rule__Product__Group_1__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2116:1: rule__Product__Group_1__2__Impl : ( ( rule__Product__RightAssignment_1_2 ) ) ; + public final void rule__Product__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2120:1: ( ( ( rule__Product__RightAssignment_1_2 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2121:1: ( ( rule__Product__RightAssignment_1_2 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2121:1: ( ( rule__Product__RightAssignment_1_2 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2122:1: ( rule__Product__RightAssignment_1_2 ) + { + before(grammarAccess.getProductAccess().getRightAssignment_1_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2123:1: ( rule__Product__RightAssignment_1_2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2123:2: rule__Product__RightAssignment_1_2 + { + pushFollow(FOLLOW_rule__Product__RightAssignment_1_2_in_rule__Product__Group_1__2__Impl4338); + rule__Product__RightAssignment_1_2(); + + state._fsp--; + + + } + + after(grammarAccess.getProductAccess().getRightAssignment_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__Group_1__2__Impl" + + + // $ANTLR start "rule__Power__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2139:1: rule__Power__Group__0 : rule__Power__Group__0__Impl rule__Power__Group__1 ; + public final void rule__Power__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2143:1: ( rule__Power__Group__0__Impl rule__Power__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2144:2: rule__Power__Group__0__Impl rule__Power__Group__1 + { + pushFollow(FOLLOW_rule__Power__Group__0__Impl_in_rule__Power__Group__04374); + rule__Power__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Power__Group__1_in_rule__Power__Group__04377); + rule__Power__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group__0" + + + // $ANTLR start "rule__Power__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2151:1: rule__Power__Group__0__Impl : ( ruleAtom ) ; + public final void rule__Power__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2155:1: ( ( ruleAtom ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2156:1: ( ruleAtom ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2156:1: ( ruleAtom ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2157:1: ruleAtom + { + before(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); + pushFollow(FOLLOW_ruleAtom_in_rule__Power__Group__0__Impl4404); + ruleAtom(); + + state._fsp--; + + after(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group__0__Impl" + + + // $ANTLR start "rule__Power__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2168:1: rule__Power__Group__1 : rule__Power__Group__1__Impl ; + public final void rule__Power__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2172:1: ( rule__Power__Group__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2173:2: rule__Power__Group__1__Impl + { + pushFollow(FOLLOW_rule__Power__Group__1__Impl_in_rule__Power__Group__14433); + rule__Power__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group__1" + + + // $ANTLR start "rule__Power__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2179:1: rule__Power__Group__1__Impl : ( ( rule__Power__Group_1__0 )* ) ; + public final void rule__Power__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2183:1: ( ( ( rule__Power__Group_1__0 )* ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2184:1: ( ( rule__Power__Group_1__0 )* ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2184:1: ( ( rule__Power__Group_1__0 )* ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2185:1: ( rule__Power__Group_1__0 )* + { + before(grammarAccess.getPowerAccess().getGroup_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2186:1: ( rule__Power__Group_1__0 )* + loop18: + do { + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==31) ) { + alt18=1; + } + + + switch (alt18) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2186:2: rule__Power__Group_1__0 + { + pushFollow(FOLLOW_rule__Power__Group_1__0_in_rule__Power__Group__1__Impl4460); + rule__Power__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop18; + } + } while (true); + + after(grammarAccess.getPowerAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group__1__Impl" + + + // $ANTLR start "rule__Power__Group_1__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2200:1: rule__Power__Group_1__0 : rule__Power__Group_1__0__Impl rule__Power__Group_1__1 ; + public final void rule__Power__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2204:1: ( rule__Power__Group_1__0__Impl rule__Power__Group_1__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2205:2: rule__Power__Group_1__0__Impl rule__Power__Group_1__1 + { + pushFollow(FOLLOW_rule__Power__Group_1__0__Impl_in_rule__Power__Group_1__04495); + rule__Power__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Power__Group_1__1_in_rule__Power__Group_1__04498); + rule__Power__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group_1__0" + + + // $ANTLR start "rule__Power__Group_1__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2212:1: rule__Power__Group_1__0__Impl : ( () ) ; + public final void rule__Power__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2216:1: ( ( () ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2217:1: ( () ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2217:1: ( () ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2218:1: () + { + before(grammarAccess.getPowerAccess().getPowerBaseAction_1_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2219:1: () + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2221:1: + { + } + + after(grammarAccess.getPowerAccess().getPowerBaseAction_1_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group_1__0__Impl" + + + // $ANTLR start "rule__Power__Group_1__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2231:1: rule__Power__Group_1__1 : rule__Power__Group_1__1__Impl rule__Power__Group_1__2 ; + public final void rule__Power__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2235:1: ( rule__Power__Group_1__1__Impl rule__Power__Group_1__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2236:2: rule__Power__Group_1__1__Impl rule__Power__Group_1__2 + { + pushFollow(FOLLOW_rule__Power__Group_1__1__Impl_in_rule__Power__Group_1__14556); + rule__Power__Group_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Power__Group_1__2_in_rule__Power__Group_1__14559); + rule__Power__Group_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group_1__1" + + + // $ANTLR start "rule__Power__Group_1__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2243:1: rule__Power__Group_1__1__Impl : ( '^' ) ; + public final void rule__Power__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2247:1: ( ( '^' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2248:1: ( '^' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2248:1: ( '^' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2249:1: '^' + { + before(grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); + match(input,31,FOLLOW_31_in_rule__Power__Group_1__1__Impl4587); + after(grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group_1__1__Impl" + + + // $ANTLR start "rule__Power__Group_1__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2262:1: rule__Power__Group_1__2 : rule__Power__Group_1__2__Impl ; + public final void rule__Power__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2266:1: ( rule__Power__Group_1__2__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2267:2: rule__Power__Group_1__2__Impl + { + pushFollow(FOLLOW_rule__Power__Group_1__2__Impl_in_rule__Power__Group_1__24618); + rule__Power__Group_1__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group_1__2" + + + // $ANTLR start "rule__Power__Group_1__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2273:1: rule__Power__Group_1__2__Impl : ( ( rule__Power__ExponentAssignment_1_2 ) ) ; + public final void rule__Power__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2277:1: ( ( ( rule__Power__ExponentAssignment_1_2 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2278:1: ( ( rule__Power__ExponentAssignment_1_2 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2278:1: ( ( rule__Power__ExponentAssignment_1_2 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2279:1: ( rule__Power__ExponentAssignment_1_2 ) + { + before(grammarAccess.getPowerAccess().getExponentAssignment_1_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2280:1: ( rule__Power__ExponentAssignment_1_2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2280:2: rule__Power__ExponentAssignment_1_2 + { + pushFollow(FOLLOW_rule__Power__ExponentAssignment_1_2_in_rule__Power__Group_1__2__Impl4645); + rule__Power__ExponentAssignment_1_2(); + + state._fsp--; + + + } + + after(grammarAccess.getPowerAccess().getExponentAssignment_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__Group_1__2__Impl" + + + // $ANTLR start "rule__Atom__Group_1__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2296:1: rule__Atom__Group_1__0 : rule__Atom__Group_1__0__Impl rule__Atom__Group_1__1 ; + public final void rule__Atom__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2300:1: ( rule__Atom__Group_1__0__Impl rule__Atom__Group_1__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2301:2: rule__Atom__Group_1__0__Impl rule__Atom__Group_1__1 + { + pushFollow(FOLLOW_rule__Atom__Group_1__0__Impl_in_rule__Atom__Group_1__04681); + rule__Atom__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Atom__Group_1__1_in_rule__Atom__Group_1__04684); + rule__Atom__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Atom__Group_1__0" + + + // $ANTLR start "rule__Atom__Group_1__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2308:1: rule__Atom__Group_1__0__Impl : ( '(' ) ; + public final void rule__Atom__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2312:1: ( ( '(' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2313:1: ( '(' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2313:1: ( '(' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2314:1: '(' + { + before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); + match(input,32,FOLLOW_32_in_rule__Atom__Group_1__0__Impl4712); + after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Atom__Group_1__0__Impl" + + + // $ANTLR start "rule__Atom__Group_1__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2327:1: rule__Atom__Group_1__1 : rule__Atom__Group_1__1__Impl rule__Atom__Group_1__2 ; + public final void rule__Atom__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2331:1: ( rule__Atom__Group_1__1__Impl rule__Atom__Group_1__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2332:2: rule__Atom__Group_1__1__Impl rule__Atom__Group_1__2 + { + pushFollow(FOLLOW_rule__Atom__Group_1__1__Impl_in_rule__Atom__Group_1__14743); + rule__Atom__Group_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Atom__Group_1__2_in_rule__Atom__Group_1__14746); + rule__Atom__Group_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Atom__Group_1__1" + + + // $ANTLR start "rule__Atom__Group_1__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2339:1: rule__Atom__Group_1__1__Impl : ( ruleRootExpression ) ; + public final void rule__Atom__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2343:1: ( ( ruleRootExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2344:1: ( ruleRootExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2344:1: ( ruleRootExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2345:1: ruleRootExpression + { + before(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); + pushFollow(FOLLOW_ruleRootExpression_in_rule__Atom__Group_1__1__Impl4773); + ruleRootExpression(); + + state._fsp--; + + after(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Atom__Group_1__1__Impl" + + + // $ANTLR start "rule__Atom__Group_1__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2356:1: rule__Atom__Group_1__2 : rule__Atom__Group_1__2__Impl ; + public final void rule__Atom__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2360:1: ( rule__Atom__Group_1__2__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2361:2: rule__Atom__Group_1__2__Impl + { + pushFollow(FOLLOW_rule__Atom__Group_1__2__Impl_in_rule__Atom__Group_1__24802); + rule__Atom__Group_1__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Atom__Group_1__2" + + + // $ANTLR start "rule__Atom__Group_1__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2367:1: rule__Atom__Group_1__2__Impl : ( ')' ) ; + public final void rule__Atom__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2371:1: ( ( ')' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2372:1: ( ')' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2372:1: ( ')' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2373:1: ')' + { + before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); + match(input,33,FOLLOW_33_in_rule__Atom__Group_1__2__Impl4830); + after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Atom__Group_1__2__Impl" + + + // $ANTLR start "rule__Function__Group__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2392:1: rule__Function__Group__0 : rule__Function__Group__0__Impl rule__Function__Group__1 ; + public final void rule__Function__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2396:1: ( rule__Function__Group__0__Impl rule__Function__Group__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2397:2: rule__Function__Group__0__Impl rule__Function__Group__1 + { + pushFollow(FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__04867); + rule__Function__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Function__Group__1_in_rule__Function__Group__04870); + rule__Function__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group__0" + + + // $ANTLR start "rule__Function__Group__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2404:1: rule__Function__Group__0__Impl : ( ( rule__Function__NameAssignment_0 ) ) ; + public final void rule__Function__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2408:1: ( ( ( rule__Function__NameAssignment_0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2409:1: ( ( rule__Function__NameAssignment_0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2409:1: ( ( rule__Function__NameAssignment_0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2410:1: ( rule__Function__NameAssignment_0 ) + { + before(grammarAccess.getFunctionAccess().getNameAssignment_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2411:1: ( rule__Function__NameAssignment_0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2411:2: rule__Function__NameAssignment_0 + { + pushFollow(FOLLOW_rule__Function__NameAssignment_0_in_rule__Function__Group__0__Impl4897); + rule__Function__NameAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionAccess().getNameAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group__0__Impl" + + + // $ANTLR start "rule__Function__Group__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2421:1: rule__Function__Group__1 : rule__Function__Group__1__Impl rule__Function__Group__2 ; + public final void rule__Function__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2425:1: ( rule__Function__Group__1__Impl rule__Function__Group__2 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2426:2: rule__Function__Group__1__Impl rule__Function__Group__2 + { + pushFollow(FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__14927); + rule__Function__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Function__Group__2_in_rule__Function__Group__14930); + rule__Function__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group__1" + + + // $ANTLR start "rule__Function__Group__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2433:1: rule__Function__Group__1__Impl : ( '(' ) ; + public final void rule__Function__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2437:1: ( ( '(' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2438:1: ( '(' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2438:1: ( '(' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2439:1: '(' + { + before(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); + match(input,32,FOLLOW_32_in_rule__Function__Group__1__Impl4958); + after(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group__1__Impl" + + + // $ANTLR start "rule__Function__Group__2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2452:1: rule__Function__Group__2 : rule__Function__Group__2__Impl rule__Function__Group__3 ; + public final void rule__Function__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2456:1: ( rule__Function__Group__2__Impl rule__Function__Group__3 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2457:2: rule__Function__Group__2__Impl rule__Function__Group__3 + { + pushFollow(FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__24989); + rule__Function__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Function__Group__3_in_rule__Function__Group__24992); + rule__Function__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group__2" + + + // $ANTLR start "rule__Function__Group__2__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2464:1: rule__Function__Group__2__Impl : ( ( rule__Function__Group_2__0 )? ) ; + public final void rule__Function__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2468:1: ( ( ( rule__Function__Group_2__0 )? ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2469:1: ( ( rule__Function__Group_2__0 )? ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2469:1: ( ( rule__Function__Group_2__0 )? ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2470:1: ( rule__Function__Group_2__0 )? + { + before(grammarAccess.getFunctionAccess().getGroup_2()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2471:1: ( rule__Function__Group_2__0 )? + int alt19=2; + int LA19_0 = input.LA(1); + + if ( ((LA19_0>=RULE_STRING && LA19_0<=RULE_INT)||(LA19_0>=11 && LA19_0<=12)||LA19_0==17||LA19_0==30||LA19_0==32) ) { + alt19=1; + } + switch (alt19) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2471:2: rule__Function__Group_2__0 + { + pushFollow(FOLLOW_rule__Function__Group_2__0_in_rule__Function__Group__2__Impl5019); + rule__Function__Group_2__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getFunctionAccess().getGroup_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group__2__Impl" + + + // $ANTLR start "rule__Function__Group__3" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2481:1: rule__Function__Group__3 : rule__Function__Group__3__Impl ; + public final void rule__Function__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2485:1: ( rule__Function__Group__3__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2486:2: rule__Function__Group__3__Impl + { + pushFollow(FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__35050); + rule__Function__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group__3" + + + // $ANTLR start "rule__Function__Group__3__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2492:1: rule__Function__Group__3__Impl : ( ')' ) ; + public final void rule__Function__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2496:1: ( ( ')' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2497:1: ( ')' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2497:1: ( ')' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2498:1: ')' + { + before(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); + match(input,33,FOLLOW_33_in_rule__Function__Group__3__Impl5078); + after(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group__3__Impl" + + + // $ANTLR start "rule__Function__Group_2__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2519:1: rule__Function__Group_2__0 : rule__Function__Group_2__0__Impl rule__Function__Group_2__1 ; + public final void rule__Function__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2523:1: ( rule__Function__Group_2__0__Impl rule__Function__Group_2__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2524:2: rule__Function__Group_2__0__Impl rule__Function__Group_2__1 + { + pushFollow(FOLLOW_rule__Function__Group_2__0__Impl_in_rule__Function__Group_2__05117); + rule__Function__Group_2__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Function__Group_2__1_in_rule__Function__Group_2__05120); + rule__Function__Group_2__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group_2__0" + + + // $ANTLR start "rule__Function__Group_2__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2531:1: rule__Function__Group_2__0__Impl : ( ( rule__Function__ParametersAssignment_2_0 ) ) ; + public final void rule__Function__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2535:1: ( ( ( rule__Function__ParametersAssignment_2_0 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2536:1: ( ( rule__Function__ParametersAssignment_2_0 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2536:1: ( ( rule__Function__ParametersAssignment_2_0 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2537:1: ( rule__Function__ParametersAssignment_2_0 ) + { + before(grammarAccess.getFunctionAccess().getParametersAssignment_2_0()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2538:1: ( rule__Function__ParametersAssignment_2_0 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2538:2: rule__Function__ParametersAssignment_2_0 + { + pushFollow(FOLLOW_rule__Function__ParametersAssignment_2_0_in_rule__Function__Group_2__0__Impl5147); + rule__Function__ParametersAssignment_2_0(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionAccess().getParametersAssignment_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group_2__0__Impl" + + + // $ANTLR start "rule__Function__Group_2__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2548:1: rule__Function__Group_2__1 : rule__Function__Group_2__1__Impl ; + public final void rule__Function__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2552:1: ( rule__Function__Group_2__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2553:2: rule__Function__Group_2__1__Impl + { + pushFollow(FOLLOW_rule__Function__Group_2__1__Impl_in_rule__Function__Group_2__15177); + rule__Function__Group_2__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group_2__1" + + + // $ANTLR start "rule__Function__Group_2__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2559:1: rule__Function__Group_2__1__Impl : ( ( rule__Function__Group_2_1__0 )* ) ; + public final void rule__Function__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2563:1: ( ( ( rule__Function__Group_2_1__0 )* ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2564:1: ( ( rule__Function__Group_2_1__0 )* ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2564:1: ( ( rule__Function__Group_2_1__0 )* ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2565:1: ( rule__Function__Group_2_1__0 )* + { + before(grammarAccess.getFunctionAccess().getGroup_2_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2566:1: ( rule__Function__Group_2_1__0 )* + loop20: + do { + int alt20=2; + int LA20_0 = input.LA(1); + + if ( (LA20_0==34) ) { + alt20=1; + } + + + switch (alt20) { + case 1 : + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2566:2: rule__Function__Group_2_1__0 + { + pushFollow(FOLLOW_rule__Function__Group_2_1__0_in_rule__Function__Group_2__1__Impl5204); + rule__Function__Group_2_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop20; + } + } while (true); + + after(grammarAccess.getFunctionAccess().getGroup_2_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group_2__1__Impl" + + + // $ANTLR start "rule__Function__Group_2_1__0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2580:1: rule__Function__Group_2_1__0 : rule__Function__Group_2_1__0__Impl rule__Function__Group_2_1__1 ; + public final void rule__Function__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2584:1: ( rule__Function__Group_2_1__0__Impl rule__Function__Group_2_1__1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2585:2: rule__Function__Group_2_1__0__Impl rule__Function__Group_2_1__1 + { + pushFollow(FOLLOW_rule__Function__Group_2_1__0__Impl_in_rule__Function__Group_2_1__05239); + rule__Function__Group_2_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_rule__Function__Group_2_1__1_in_rule__Function__Group_2_1__05242); + rule__Function__Group_2_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group_2_1__0" + + + // $ANTLR start "rule__Function__Group_2_1__0__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2592:1: rule__Function__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__Function__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2596:1: ( ( ',' ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2597:1: ( ',' ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2597:1: ( ',' ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2598:1: ',' + { + before(grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); + match(input,34,FOLLOW_34_in_rule__Function__Group_2_1__0__Impl5270); + after(grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group_2_1__0__Impl" + + + // $ANTLR start "rule__Function__Group_2_1__1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2611:1: rule__Function__Group_2_1__1 : rule__Function__Group_2_1__1__Impl ; + public final void rule__Function__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2615:1: ( rule__Function__Group_2_1__1__Impl ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2616:2: rule__Function__Group_2_1__1__Impl + { + pushFollow(FOLLOW_rule__Function__Group_2_1__1__Impl_in_rule__Function__Group_2_1__15301); + rule__Function__Group_2_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group_2_1__1" + + + // $ANTLR start "rule__Function__Group_2_1__1__Impl" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2622:1: rule__Function__Group_2_1__1__Impl : ( ( rule__Function__ParametersAssignment_2_1_1 ) ) ; + public final void rule__Function__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2626:1: ( ( ( rule__Function__ParametersAssignment_2_1_1 ) ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2627:1: ( ( rule__Function__ParametersAssignment_2_1_1 ) ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2627:1: ( ( rule__Function__ParametersAssignment_2_1_1 ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2628:1: ( rule__Function__ParametersAssignment_2_1_1 ) + { + before(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1()); + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2629:1: ( rule__Function__ParametersAssignment_2_1_1 ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2629:2: rule__Function__ParametersAssignment_2_1_1 + { + pushFollow(FOLLOW_rule__Function__ParametersAssignment_2_1_1_in_rule__Function__Group_2_1__1__Impl5328); + rule__Function__ParametersAssignment_2_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionAccess().getParametersAssignment_2_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__Group_2_1__1__Impl" + + + // $ANTLR start "rule__Model__TermsAssignment" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2644:1: rule__Model__TermsAssignment : ( ruleIfElseExpression ) ; + public final void rule__Model__TermsAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2648:1: ( ( ruleIfElseExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2649:1: ( ruleIfElseExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2649:1: ( ruleIfElseExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2650:1: ruleIfElseExpression + { + before(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); + pushFollow(FOLLOW_ruleIfElseExpression_in_rule__Model__TermsAssignment5367); + ruleIfElseExpression(); + + state._fsp--; + + after(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__TermsAssignment" + + + // $ANTLR start "rule__IfElseExpression__TrueExpAssignment_1_2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2659:1: rule__IfElseExpression__TrueExpAssignment_1_2 : ( ruleIfElseExpression ) ; + public final void rule__IfElseExpression__TrueExpAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2663:1: ( ( ruleIfElseExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2664:1: ( ruleIfElseExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2664:1: ( ruleIfElseExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2665:1: ruleIfElseExpression + { + before(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); + pushFollow(FOLLOW_ruleIfElseExpression_in_rule__IfElseExpression__TrueExpAssignment_1_25398); + ruleIfElseExpression(); + + state._fsp--; + + after(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__TrueExpAssignment_1_2" + + + // $ANTLR start "rule__IfElseExpression__FalseExpAssignment_1_4" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2674:1: rule__IfElseExpression__FalseExpAssignment_1_4 : ( ruleIfElseExpression ) ; + public final void rule__IfElseExpression__FalseExpAssignment_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2678:1: ( ( ruleIfElseExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2679:1: ( ruleIfElseExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2679:1: ( ruleIfElseExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2680:1: ruleIfElseExpression + { + before(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); + pushFollow(FOLLOW_ruleIfElseExpression_in_rule__IfElseExpression__FalseExpAssignment_1_45429); + ruleIfElseExpression(); + + state._fsp--; + + after(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IfElseExpression__FalseExpAssignment_1_4" + + + // $ANTLR start "rule__BinaryBooleanExpression__OperationAssignment_1_1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2689:1: rule__BinaryBooleanExpression__OperationAssignment_1_1 : ( ruleBooleanOperation ) ; + public final void rule__BinaryBooleanExpression__OperationAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2693:1: ( ( ruleBooleanOperation ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2694:1: ( ruleBooleanOperation ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2694:1: ( ruleBooleanOperation ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2695:1: ruleBooleanOperation + { + before(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_ruleBooleanOperation_in_rule__BinaryBooleanExpression__OperationAssignment_1_15460); + ruleBooleanOperation(); + + state._fsp--; + + after(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__OperationAssignment_1_1" + + + // $ANTLR start "rule__BinaryBooleanExpression__RightAssignment_1_2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2704:1: rule__BinaryBooleanExpression__RightAssignment_1_2 : ( ruleUnaryBooleanExpression ) ; + public final void rule__BinaryBooleanExpression__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2708:1: ( ( ruleUnaryBooleanExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2709:1: ( ruleUnaryBooleanExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2709:1: ( ruleUnaryBooleanExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2710:1: ruleUnaryBooleanExpression + { + before(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); + pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_rule__BinaryBooleanExpression__RightAssignment_1_25491); + ruleUnaryBooleanExpression(); + + state._fsp--; + + after(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BinaryBooleanExpression__RightAssignment_1_2" + + + // $ANTLR start "rule__Comparison__OperationAssignment_1_1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2719:1: rule__Comparison__OperationAssignment_1_1 : ( ruleCompareOperation ) ; + public final void rule__Comparison__OperationAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2723:1: ( ( ruleCompareOperation ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2724:1: ( ruleCompareOperation ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2724:1: ( ruleCompareOperation ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2725:1: ruleCompareOperation + { + before(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_ruleCompareOperation_in_rule__Comparison__OperationAssignment_1_15522); + ruleCompareOperation(); + + state._fsp--; + + after(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__OperationAssignment_1_1" + + + // $ANTLR start "rule__Comparison__RightAssignment_1_2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2734:1: rule__Comparison__RightAssignment_1_2 : ( ruleTerm ) ; + public final void rule__Comparison__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2738:1: ( ( ruleTerm ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2739:1: ( ruleTerm ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2739:1: ( ruleTerm ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2740:1: ruleTerm + { + before(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); + pushFollow(FOLLOW_ruleTerm_in_rule__Comparison__RightAssignment_1_25553); + ruleTerm(); + + state._fsp--; + + after(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__RightAssignment_1_2" + + + // $ANTLR start "rule__Term__OperationAssignment_1_1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2749:1: rule__Term__OperationAssignment_1_1 : ( ruleTermOperation ) ; + public final void rule__Term__OperationAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2753:1: ( ( ruleTermOperation ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2754:1: ( ruleTermOperation ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2754:1: ( ruleTermOperation ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2755:1: ruleTermOperation + { + before(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_ruleTermOperation_in_rule__Term__OperationAssignment_1_15584); + ruleTermOperation(); + + state._fsp--; + + after(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__OperationAssignment_1_1" + + + // $ANTLR start "rule__Term__RightAssignment_1_2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2764:1: rule__Term__RightAssignment_1_2 : ( ruleProduct ) ; + public final void rule__Term__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2768:1: ( ( ruleProduct ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2769:1: ( ruleProduct ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2769:1: ( ruleProduct ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2770:1: ruleProduct + { + before(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); + pushFollow(FOLLOW_ruleProduct_in_rule__Term__RightAssignment_1_25615); + ruleProduct(); + + state._fsp--; + + after(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Term__RightAssignment_1_2" + + + // $ANTLR start "rule__Product__OperationAssignment_1_1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2779:1: rule__Product__OperationAssignment_1_1 : ( ruleProductOperation ) ; + public final void rule__Product__OperationAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2783:1: ( ( ruleProductOperation ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2784:1: ( ruleProductOperation ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2784:1: ( ruleProductOperation ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2785:1: ruleProductOperation + { + before(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); + pushFollow(FOLLOW_ruleProductOperation_in_rule__Product__OperationAssignment_1_15646); + ruleProductOperation(); + + state._fsp--; + + after(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__OperationAssignment_1_1" + + + // $ANTLR start "rule__Product__RightAssignment_1_2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2794:1: rule__Product__RightAssignment_1_2 : ( rulePower ) ; + public final void rule__Product__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2798:1: ( ( rulePower ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2799:1: ( rulePower ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2799:1: ( rulePower ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2800:1: rulePower + { + before(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); + pushFollow(FOLLOW_rulePower_in_rule__Product__RightAssignment_1_25677); + rulePower(); + + state._fsp--; + + after(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Product__RightAssignment_1_2" + + + // $ANTLR start "rule__Power__ExponentAssignment_1_2" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2809:1: rule__Power__ExponentAssignment_1_2 : ( ruleAtom ) ; + public final void rule__Power__ExponentAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2813:1: ( ( ruleAtom ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2814:1: ( ruleAtom ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2814:1: ( ruleAtom ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2815:1: ruleAtom + { + before(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); + pushFollow(FOLLOW_ruleAtom_in_rule__Power__ExponentAssignment_1_25708); + ruleAtom(); + + state._fsp--; + + after(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Power__ExponentAssignment_1_2" + + + // $ANTLR start "rule__Function__NameAssignment_0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2824:1: rule__Function__NameAssignment_0 : ( RULE_ID ) ; + public final void rule__Function__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2828:1: ( ( RULE_ID ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2829:1: ( RULE_ID ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2829:1: ( RULE_ID ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2830:1: RULE_ID + { + before(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); + match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Function__NameAssignment_05739); + after(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__NameAssignment_0" + + + // $ANTLR start "rule__Function__ParametersAssignment_2_0" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2839:1: rule__Function__ParametersAssignment_2_0 : ( ruleRootExpression ) ; + public final void rule__Function__ParametersAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2843:1: ( ( ruleRootExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2844:1: ( ruleRootExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2844:1: ( ruleRootExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2845:1: ruleRootExpression + { + before(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); + pushFollow(FOLLOW_ruleRootExpression_in_rule__Function__ParametersAssignment_2_05770); + ruleRootExpression(); + + state._fsp--; + + after(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__ParametersAssignment_2_0" + + + // $ANTLR start "rule__Function__ParametersAssignment_2_1_1" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2854:1: rule__Function__ParametersAssignment_2_1_1 : ( ruleRootExpression ) ; + public final void rule__Function__ParametersAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2858:1: ( ( ruleRootExpression ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2859:1: ( ruleRootExpression ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2859:1: ( ruleRootExpression ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2860:1: ruleRootExpression + { + before(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); + pushFollow(FOLLOW_ruleRootExpression_in_rule__Function__ParametersAssignment_2_1_15801); + ruleRootExpression(); + + state._fsp--; + + after(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Function__ParametersAssignment_2_1_1" + + + // $ANTLR start "rule__FormalParameter__ValueAssignment" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2869:1: rule__FormalParameter__ValueAssignment : ( ruleEString ) ; + public final void rule__FormalParameter__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2873:1: ( ( ruleEString ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2874:1: ( ruleEString ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2874:1: ( ruleEString ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2875:1: ruleEString + { + before(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); + pushFollow(FOLLOW_ruleEString_in_rule__FormalParameter__ValueAssignment5832); + ruleEString(); + + state._fsp--; + + after(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FormalParameter__ValueAssignment" + + + // $ANTLR start "rule__BooleanLiteral__ValueAssignment" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2884:1: rule__BooleanLiteral__ValueAssignment : ( ruleEBoolean ) ; + public final void rule__BooleanLiteral__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2888:1: ( ( ruleEBoolean ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2889:1: ( ruleEBoolean ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2889:1: ( ruleEBoolean ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2890:1: ruleEBoolean + { + before(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); + pushFollow(FOLLOW_ruleEBoolean_in_rule__BooleanLiteral__ValueAssignment5863); + ruleEBoolean(); + + state._fsp--; + + after(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__ValueAssignment" + + + // $ANTLR start "rule__IntLiteral__ValueAssignment" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2899:1: rule__IntLiteral__ValueAssignment : ( ruleInteger ) ; + public final void rule__IntLiteral__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2903:1: ( ( ruleInteger ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2904:1: ( ruleInteger ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2904:1: ( ruleInteger ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2905:1: ruleInteger + { + before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); + pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment5894); + ruleInteger(); + + state._fsp--; + + after(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntLiteral__ValueAssignment" + + + // $ANTLR start "rule__DoubleLiteral__ValueAssignment" + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2914:1: rule__DoubleLiteral__ValueAssignment : ( ruleDouble ) ; + public final void rule__DoubleLiteral__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2918:1: ( ( ruleDouble ) ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2919:1: ( ruleDouble ) + { + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2919:1: ( ruleDouble ) + // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:2920:1: ruleDouble + { + before(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); + pushFollow(FOLLOW_ruleDouble_in_rule__DoubleLiteral__ValueAssignment5925); + ruleDouble(); + + state._fsp--; + + after(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DoubleLiteral__ValueAssignment" + + // Delegated rules + + + + + public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Model__TermsAssignment_in_ruleModel94 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDouble_in_entryRuleDouble121 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleDouble128 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Double__Group__0_in_ruleDouble154 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger181 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleInteger188 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Integer__Group__0_in_ruleInteger214 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEString_in_entryRuleEString241 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleEString248 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString274 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEBoolean_in_entryRuleEBoolean301 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleEBoolean308 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__EBoolean__Alternatives_in_ruleEBoolean334 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRootExpression_in_entryRuleRootExpression361 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRootExpression368 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleRootExpression394 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression420 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleIfElseExpression427 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group__0_in_ruleIfElseExpression453 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBinaryBooleanExpression_in_entryRuleBinaryBooleanExpression480 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBinaryBooleanExpression487 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group__0_in_ruleBinaryBooleanExpression513 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_entryRuleUnaryBooleanExpression540 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleUnaryBooleanExpression547 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Alternatives_in_ruleUnaryBooleanExpression573 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComparison_in_entryRuleComparison600 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleComparison607 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Comparison__Group__0_in_ruleComparison633 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm660 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleTerm667 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Term__Group__0_in_ruleTerm693 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProduct_in_entryRuleProduct720 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleProduct727 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Product__Group__0_in_ruleProduct753 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePower_in_entryRulePower780 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRulePower787 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Power__Group__0_in_rulePower813 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom840 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAtom847 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Atom__Alternatives_in_ruleAtom873 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction900 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFunction907 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group__0_in_ruleFunction933 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral960 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleLiteral967 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Literal__Alternatives_in_ruleLiteral993 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter1020 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFormalParameter1027 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__FormalParameter__ValueAssignment_in_ruleFormalParameter1053 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1080 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1087 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BooleanLiteral__ValueAssignment_in_ruleBooleanLiteral1113 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1140 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral1147 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1173 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1200 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral1207 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_in_ruleIntLiteral1233 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral1260 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleDoubleLiteral1267 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__DoubleLiteral__ValueAssignment_in_ruleDoubleLiteral1293 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__ProductOperation__Alternatives_in_ruleProductOperation1330 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__TermOperation__Alternatives_in_ruleTermOperation1366 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__CompareOperation__Alternatives_in_ruleCompareOperation1402 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BooleanOperation__Alternatives_in_ruleBooleanOperation1438 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives1473 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives1490 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_rule__EBoolean__Alternatives1523 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_12_in_rule__EBoolean__Alternatives1543 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__0_in_rule__UnaryBooleanExpression__Alternatives1577 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComparison_in_rule__UnaryBooleanExpression__Alternatives1595 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleLiteral_in_rule__Atom__Alternatives1627 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Atom__Group_1__0_in_rule__Atom__Alternatives1644 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFunction_in_rule__Atom__Alternatives1662 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1694 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1711 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFormalParameter_in_rule__Literal__Alternatives1728 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1760 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDoubleLiteral_in_rule__NumberLiteral__Alternatives1777 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_13_in_rule__ProductOperation__Alternatives1810 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_14_in_rule__ProductOperation__Alternatives1831 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_15_in_rule__ProductOperation__Alternatives1852 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_16_in_rule__TermOperation__Alternatives1888 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_17_in_rule__TermOperation__Alternatives1909 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_18_in_rule__CompareOperation__Alternatives1945 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_19_in_rule__CompareOperation__Alternatives1966 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_20_in_rule__CompareOperation__Alternatives1987 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_21_in_rule__CompareOperation__Alternatives2008 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_22_in_rule__CompareOperation__Alternatives2029 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_23_in_rule__CompareOperation__Alternatives2050 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_24_in_rule__BooleanOperation__Alternatives2086 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_25_in_rule__BooleanOperation__Alternatives2107 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_26_in_rule__BooleanOperation__Alternatives2128 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Double__Group__0__Impl_in_rule__Double__Group__02161 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__Double__Group__1_in_rule__Double__Group__02164 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_17_in_rule__Double__Group__0__Impl2193 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Double__Group__1__Impl_in_rule__Double__Group__12226 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_rule__Double__Group__2_in_rule__Double__Group__12229 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_INT_in_rule__Double__Group__1__Impl2256 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Double__Group__2__Impl_in_rule__Double__Group__22285 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__Double__Group__3_in_rule__Double__Group__22288 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_27_in_rule__Double__Group__2__Impl2316 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Double__Group__3__Impl_in_rule__Double__Group__32347 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_INT_in_rule__Double__Group__3__Impl2374 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Integer__Group__0__Impl_in_rule__Integer__Group__02411 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_rule__Integer__Group__1_in_rule__Integer__Group__02414 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_17_in_rule__Integer__Group__0__Impl2443 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Integer__Group__1__Impl_in_rule__Integer__Group__12476 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_INT_in_rule__Integer__Group__1__Impl2503 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group__0__Impl_in_rule__IfElseExpression__Group__02536 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group__1_in_rule__IfElseExpression__Group__02539 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBinaryBooleanExpression_in_rule__IfElseExpression__Group__0__Impl2566 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group__1__Impl_in_rule__IfElseExpression__Group__12595 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__0_in_rule__IfElseExpression__Group__1__Impl2622 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__0__Impl_in_rule__IfElseExpression__Group_1__02657 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__1_in_rule__IfElseExpression__Group_1__02660 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__1__Impl_in_rule__IfElseExpression__Group_1__12718 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__2_in_rule__IfElseExpression__Group_1__12721 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_28_in_rule__IfElseExpression__Group_1__1__Impl2749 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__2__Impl_in_rule__IfElseExpression__Group_1__22780 = new BitSet(new long[]{0x0000000020000000L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__3_in_rule__IfElseExpression__Group_1__22783 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__TrueExpAssignment_1_2_in_rule__IfElseExpression__Group_1__2__Impl2810 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__3__Impl_in_rule__IfElseExpression__Group_1__32840 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__4_in_rule__IfElseExpression__Group_1__32843 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_29_in_rule__IfElseExpression__Group_1__3__Impl2871 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__Group_1__4__Impl_in_rule__IfElseExpression__Group_1__42902 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__IfElseExpression__FalseExpAssignment_1_4_in_rule__IfElseExpression__Group_1__4__Impl2929 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group__0__Impl_in_rule__BinaryBooleanExpression__Group__02969 = new BitSet(new long[]{0x0000000007000000L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group__1_in_rule__BinaryBooleanExpression__Group__02972 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_rule__BinaryBooleanExpression__Group__0__Impl2999 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group__1__Impl_in_rule__BinaryBooleanExpression__Group__13028 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__0_in_rule__BinaryBooleanExpression__Group__1__Impl3055 = new BitSet(new long[]{0x0000000007000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__0__Impl_in_rule__BinaryBooleanExpression__Group_1__03090 = new BitSet(new long[]{0x0000000007000000L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__1_in_rule__BinaryBooleanExpression__Group_1__03093 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__1__Impl_in_rule__BinaryBooleanExpression__Group_1__13151 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__2_in_rule__BinaryBooleanExpression__Group_1__13154 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__OperationAssignment_1_1_in_rule__BinaryBooleanExpression__Group_1__1__Impl3181 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__Group_1__2__Impl_in_rule__BinaryBooleanExpression__Group_1__23211 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__BinaryBooleanExpression__RightAssignment_1_2_in_rule__BinaryBooleanExpression__Group_1__2__Impl3238 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__0__Impl_in_rule__UnaryBooleanExpression__Group_0__03274 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__1_in_rule__UnaryBooleanExpression__Group_0__03277 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_30_in_rule__UnaryBooleanExpression__Group_0__0__Impl3305 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__1__Impl_in_rule__UnaryBooleanExpression__Group_0__13336 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__2_in_rule__UnaryBooleanExpression__Group_0__13339 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComparison_in_rule__UnaryBooleanExpression__Group_0__1__Impl3366 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__UnaryBooleanExpression__Group_0__2__Impl_in_rule__UnaryBooleanExpression__Group_0__23395 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Comparison__Group__0__Impl_in_rule__Comparison__Group__03459 = new BitSet(new long[]{0x0000000000FC0000L}); + public static final BitSet FOLLOW_rule__Comparison__Group__1_in_rule__Comparison__Group__03462 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleTerm_in_rule__Comparison__Group__0__Impl3489 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Comparison__Group__1__Impl_in_rule__Comparison__Group__13518 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Comparison__Group_1__0_in_rule__Comparison__Group__1__Impl3545 = new BitSet(new long[]{0x0000000000FC0002L}); + public static final BitSet FOLLOW_rule__Comparison__Group_1__0__Impl_in_rule__Comparison__Group_1__03580 = new BitSet(new long[]{0x0000000000FC0000L}); + public static final BitSet FOLLOW_rule__Comparison__Group_1__1_in_rule__Comparison__Group_1__03583 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Comparison__Group_1__1__Impl_in_rule__Comparison__Group_1__13641 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__Comparison__Group_1__2_in_rule__Comparison__Group_1__13644 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Comparison__OperationAssignment_1_1_in_rule__Comparison__Group_1__1__Impl3671 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Comparison__Group_1__2__Impl_in_rule__Comparison__Group_1__23701 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Comparison__RightAssignment_1_2_in_rule__Comparison__Group_1__2__Impl3728 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Term__Group__0__Impl_in_rule__Term__Group__03764 = new BitSet(new long[]{0x0000000000030000L}); + public static final BitSet FOLLOW_rule__Term__Group__1_in_rule__Term__Group__03767 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProduct_in_rule__Term__Group__0__Impl3794 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Term__Group__1__Impl_in_rule__Term__Group__13823 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Term__Group_1__0_in_rule__Term__Group__1__Impl3850 = new BitSet(new long[]{0x0000000000030002L}); + public static final BitSet FOLLOW_rule__Term__Group_1__0__Impl_in_rule__Term__Group_1__03885 = new BitSet(new long[]{0x0000000000030000L}); + public static final BitSet FOLLOW_rule__Term__Group_1__1_in_rule__Term__Group_1__03888 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Term__Group_1__1__Impl_in_rule__Term__Group_1__13946 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__Term__Group_1__2_in_rule__Term__Group_1__13949 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Term__OperationAssignment_1_1_in_rule__Term__Group_1__1__Impl3976 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Term__Group_1__2__Impl_in_rule__Term__Group_1__24006 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Term__RightAssignment_1_2_in_rule__Term__Group_1__2__Impl4033 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Product__Group__0__Impl_in_rule__Product__Group__04069 = new BitSet(new long[]{0x000000000000E000L}); + public static final BitSet FOLLOW_rule__Product__Group__1_in_rule__Product__Group__04072 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePower_in_rule__Product__Group__0__Impl4099 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Product__Group__1__Impl_in_rule__Product__Group__14128 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Product__Group_1__0_in_rule__Product__Group__1__Impl4155 = new BitSet(new long[]{0x000000000000E002L}); + public static final BitSet FOLLOW_rule__Product__Group_1__0__Impl_in_rule__Product__Group_1__04190 = new BitSet(new long[]{0x000000000000E000L}); + public static final BitSet FOLLOW_rule__Product__Group_1__1_in_rule__Product__Group_1__04193 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Product__Group_1__1__Impl_in_rule__Product__Group_1__14251 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__Product__Group_1__2_in_rule__Product__Group_1__14254 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Product__OperationAssignment_1_1_in_rule__Product__Group_1__1__Impl4281 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Product__Group_1__2__Impl_in_rule__Product__Group_1__24311 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Product__RightAssignment_1_2_in_rule__Product__Group_1__2__Impl4338 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Power__Group__0__Impl_in_rule__Power__Group__04374 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_rule__Power__Group__1_in_rule__Power__Group__04377 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAtom_in_rule__Power__Group__0__Impl4404 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Power__Group__1__Impl_in_rule__Power__Group__14433 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Power__Group_1__0_in_rule__Power__Group__1__Impl4460 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_rule__Power__Group_1__0__Impl_in_rule__Power__Group_1__04495 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_rule__Power__Group_1__1_in_rule__Power__Group_1__04498 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Power__Group_1__1__Impl_in_rule__Power__Group_1__14556 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__Power__Group_1__2_in_rule__Power__Group_1__14559 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_31_in_rule__Power__Group_1__1__Impl4587 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Power__Group_1__2__Impl_in_rule__Power__Group_1__24618 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Power__ExponentAssignment_1_2_in_rule__Power__Group_1__2__Impl4645 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Atom__Group_1__0__Impl_in_rule__Atom__Group_1__04681 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__Atom__Group_1__1_in_rule__Atom__Group_1__04684 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_32_in_rule__Atom__Group_1__0__Impl4712 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Atom__Group_1__1__Impl_in_rule__Atom__Group_1__14743 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_rule__Atom__Group_1__2_in_rule__Atom__Group_1__14746 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRootExpression_in_rule__Atom__Group_1__1__Impl4773 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Atom__Group_1__2__Impl_in_rule__Atom__Group_1__24802 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_33_in_rule__Atom__Group_1__2__Impl4830 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__04867 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_rule__Function__Group__1_in_rule__Function__Group__04870 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__NameAssignment_0_in_rule__Function__Group__0__Impl4897 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__14927 = new BitSet(new long[]{0x0000000340021870L}); + public static final BitSet FOLLOW_rule__Function__Group__2_in_rule__Function__Group__14930 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_32_in_rule__Function__Group__1__Impl4958 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__24989 = new BitSet(new long[]{0x0000000340021870L}); + public static final BitSet FOLLOW_rule__Function__Group__3_in_rule__Function__Group__24992 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group_2__0_in_rule__Function__Group__2__Impl5019 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__35050 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_33_in_rule__Function__Group__3__Impl5078 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group_2__0__Impl_in_rule__Function__Group_2__05117 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_rule__Function__Group_2__1_in_rule__Function__Group_2__05120 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__ParametersAssignment_2_0_in_rule__Function__Group_2__0__Impl5147 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group_2__1__Impl_in_rule__Function__Group_2__15177 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group_2_1__0_in_rule__Function__Group_2__1__Impl5204 = new BitSet(new long[]{0x0000000400000002L}); + public static final BitSet FOLLOW_rule__Function__Group_2_1__0__Impl_in_rule__Function__Group_2_1__05239 = new BitSet(new long[]{0x0000000140021870L}); + public static final BitSet FOLLOW_rule__Function__Group_2_1__1_in_rule__Function__Group_2_1__05242 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_34_in_rule__Function__Group_2_1__0__Impl5270 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__Group_2_1__1__Impl_in_rule__Function__Group_2_1__15301 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rule__Function__ParametersAssignment_2_1_1_in_rule__Function__Group_2_1__1__Impl5328 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_rule__Model__TermsAssignment5367 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_rule__IfElseExpression__TrueExpAssignment_1_25398 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_rule__IfElseExpression__FalseExpAssignment_1_45429 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBooleanOperation_in_rule__BinaryBooleanExpression__OperationAssignment_1_15460 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_rule__BinaryBooleanExpression__RightAssignment_1_25491 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCompareOperation_in_rule__Comparison__OperationAssignment_1_15522 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleTerm_in_rule__Comparison__RightAssignment_1_25553 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleTermOperation_in_rule__Term__OperationAssignment_1_15584 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProduct_in_rule__Term__RightAssignment_1_25615 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProductOperation_in_rule__Product__OperationAssignment_1_15646 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePower_in_rule__Product__RightAssignment_1_25677 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAtom_in_rule__Power__ExponentAssignment_1_25708 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_rule__Function__NameAssignment_05739 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRootExpression_in_rule__Function__ParametersAssignment_2_05770 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRootExpression_in_rule__Function__ParametersAssignment_2_1_15801 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEString_in_rule__FormalParameter__ValueAssignment5832 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEBoolean_in_rule__BooleanLiteral__ValueAssignment5863 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment5894 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDouble_in_rule__DoubleLiteral__ValueAssignment5925 = new BitSet(new long[]{0x0000000000000002L}); + } \ No newline at end of file diff --git a/org.xtext.example.mydsl/.antlr-generator-3.2.0.jar b/org.xtext.example.mydsl/.antlr-generator-3.2.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..42434924055b70ff9df664593fe7242968e772c8 Binary files /dev/null and b/org.xtext.example.mydsl/.antlr-generator-3.2.0.jar differ diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore index 14189b96f155eb8691664dab024e4ae3ccac8082..243bab2e91456c18ef36c2f13b2316805608ec04 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore @@ -1,35 +1,94 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="myDsl" nsURI="http://www.xtext.org/example/mydsl/MyDsl" nsPrefix="myDsl"> - <eClassifiers xsi:type="ecore:EClass" name="Model"> - <eStructuralFeatures xsi:type="ecore:EReference" name="terms" upperBound="-1" - eType="#//Expression" containment="true"/> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Expression"> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="termOperations" eType="#//OperationsType"/> - </eClassifiers> - <eClassifiers xsi:type="ecore:EEnum" name="OperationsType"> - <eLiterals name="ADD" literal="+"/> - <eLiterals name="SUB" value="1" literal="-"/> - <eLiterals name="MULT" value="2" literal="*"/> - <eLiterals name="DIV" value="3" literal="/"/> - <eLiterals name="MOD" value="4" literal="%"/> - <eLiterals name="GREATER" value="5" literal=">"/> - <eLiterals name="LESS" value="6" literal="<"/> - <eLiterals name="EQUALS" value="7" literal="="/> - <eLiterals name="NOTEQUAL" value="8" literal="!="/> - <eLiterals name="LESSEQUAL" value="9" literal="<="/> - <eLiterals name="GREATEREQUAL" value="10" literal=">="/> - <eLiterals name="AND" value="11" literal="AND"/> - <eLiterals name="OR" value="12" literal="OR"/> - <eLiterals name="XOR" value="13" literal="XOR"/> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Term" eSuperTypes="#//Expression"> - <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression" - containment="true"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="Operations" eType="#//Expression" - containment="true"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" - containment="true"/> - </eClassifiers> -</ecore:EPackage> +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="myDsl" nsURI="http://www.xtext.org/example/mydsl/MyDsl" nsPrefix="myDsl"> + <eClassifiers xsi:type="ecore:EClass" name="Model"> + <eStructuralFeatures xsi:type="ecore:EReference" name="terms" eType="#//Expression" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="ProductOperation"> + <eLiterals name="MULT" literal="*"/> + <eLiterals name="DIV" value="1" literal="/"/> + <eLiterals name="MOD" value="2" literal="%"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="TermOperation"> + <eLiterals name="ADD" literal="+"/> + <eLiterals name="SUB" value="1" literal="-"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="CompareOperation"> + <eLiterals name="GREATER" literal=">"/> + <eLiterals name="LESS" value="1" literal="<"/> + <eLiterals name="EQUALS" value="2" literal="="/> + <eLiterals name="NOTEQUAL" value="3" literal="!="/> + <eLiterals name="LESSEQUAL" value="4" literal="<="/> + <eLiterals name="GREATEREQUAL" value="5" literal=">="/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EEnum" name="BooleanOperation"> + <eLiterals name="AND" literal="AND"/> + <eLiterals name="OR" value="1" literal="OR"/> + <eLiterals name="XOR" value="2" literal="XOR"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Expression"/> + <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" + eType="#//Expression" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="FormalParameter" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteral" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="IntLiteral" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="DoubleLiteral" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="IfElseExpression" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="trueExp" eType="#//Expression" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="falseExp" eType="#//Expression" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="BinaryBooleanExpression" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//BooleanOperation"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="UnaryBooleanExpression" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="inner" eType="#//Expression" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Comparison" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//CompareOperation"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Term" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//TermOperation"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Product" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//ProductOperation"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Power" eSuperTypes="#//Expression"> + <eStructuralFeatures xsi:type="ecore:EReference" name="base" eType="#//Expression" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="exponent" eType="#//Expression" + containment="true"/> + </eClassifiers> +</ecore:EPackage> diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.genmodel b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.genmodel index f7f6bc4c0388c1ee1b95808a9041a8d2eefa7d8b..7951d8d5bc346afdc1706df9e367ca2bb1167d8c 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.genmodel +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.genmodel @@ -1,38 +1,85 @@ -<?xml version="1.0" encoding="UTF-8"?> -<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" - xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.xtext.example.mydsl/src-gen" editDirectory="/org.xtext.example.mydsl.edit/src" - editorDirectory="/org.xtext.example.mydsl.editor/src" modelPluginID="org.xtext.example.mydsl" - forceOverwrite="true" modelName="MyDsl" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" - complianceLevel="5.0" copyrightFields="false" editPluginID="org.xtext.example.mydsl.edit" - editorPluginID="org.xtext.example.mydsl.editor" runtimeVersion="2.8"> - <genPackages prefix="MyDsl" basePackage="org.xtext.example.mydsl" disposableProviderFactory="true" - ecorePackage="MyDsl.ecore#/"> - <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//OperationsType"> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/ADD"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/SUB"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/MULT"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/DIV"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/MOD"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/GREATER"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/LESS"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/EQUALS"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/NOTEQUAL"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/LESSEQUAL"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/GREATEREQUAL"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/AND"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/OR"/> - <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//OperationsType/XOR"/> - </genEnums> - <genClasses ecoreClass="MyDsl.ecore#//Model"> - <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Model/terms"/> - </genClasses> - <genClasses ecoreClass="MyDsl.ecore#//Expression"> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Expression/termOperations"/> - </genClasses> - <genClasses ecoreClass="MyDsl.ecore#//Term"> - <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Term/left"/> - <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Term/Operations"/> - <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Term/right"/> - </genClasses> - </genPackages> -</genmodel:GenModel> +<?xml version="1.0" encoding="UTF-8"?> +<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" + xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.xtext.example.mydsl/src-gen" editDirectory="/org.xtext.example.mydsl.edit/src" + editorDirectory="/org.xtext.example.mydsl.editor/src" modelPluginID="org.xtext.example.mydsl" + forceOverwrite="true" modelName="MyDsl" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" + complianceLevel="5.0" copyrightFields="false" editPluginID="org.xtext.example.mydsl.edit" + editorPluginID="org.xtext.example.mydsl.editor" runtimeVersion="2.8"> + <genPackages prefix="MyDsl" basePackage="org.xtext.example.mydsl" disposableProviderFactory="true" + ecorePackage="MyDsl.ecore#/"> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//ProductOperation"> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//ProductOperation/MULT"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//ProductOperation/DIV"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//ProductOperation/MOD"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//TermOperation"> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//TermOperation/ADD"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//TermOperation/SUB"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//CompareOperation"> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/GREATER"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/LESS"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/EQUALS"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/NOTEQUAL"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/LESSEQUAL"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//CompareOperation/GREATEREQUAL"/> + </genEnums> + <genEnums typeSafeEnumCompatible="false" ecoreEnum="MyDsl.ecore#//BooleanOperation"> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//BooleanOperation/AND"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//BooleanOperation/OR"/> + <genEnumLiterals ecoreEnumLiteral="MyDsl.ecore#//BooleanOperation/XOR"/> + </genEnums> + <genClasses ecoreClass="MyDsl.ecore#//Model"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Model/terms"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//Expression"/> + <genClasses ecoreClass="MyDsl.ecore#//Function"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Function/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Function/parameters"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//FormalParameter"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//FormalParameter/value"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//BooleanLiteral"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//BooleanLiteral/value"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//IntLiteral"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//IntLiteral/value"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//DoubleLiteral"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//DoubleLiteral/value"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//IfElseExpression"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//IfElseExpression/condition"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//IfElseExpression/trueExp"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//IfElseExpression/falseExp"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//BinaryBooleanExpression"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//BinaryBooleanExpression/left"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//BinaryBooleanExpression/operation"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//BinaryBooleanExpression/right"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//UnaryBooleanExpression"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//UnaryBooleanExpression/inner"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//Comparison"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Comparison/left"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Comparison/operation"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Comparison/right"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//Term"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Term/left"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Term/operation"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Term/right"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//Product"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Product/left"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute MyDsl.ecore#//Product/operation"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Product/right"/> + </genClasses> + <genClasses ecoreClass="MyDsl.ecore#//Power"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Power/base"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference MyDsl.ecore#//Power/exponent"/> + </genClasses> + </genPackages> +</genmodel:GenModel> diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.xmi b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.xmi index d9710a7ca467c6dcb9181651986ca5da3acf0667..260fef6fa54234347b3812d40edcaaedc3f93f23 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.xmi +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.xmi @@ -1,326 +1,531 @@ -<?xml version="1.0" encoding="ASCII"?> -<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> - <xtext:Grammar name="org.xtext.example.mydsl.MyDsl" usedGrammars="/1"> - <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> - <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> - </metamodelDeclarations> - <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="myDsl"> - <ePackage href="http://www.xtext.org/example/mydsl/MyDsl#/"/> - </metamodelDeclarations> - <rules xsi:type="xtext:ParserRule" name="Model"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Model"/> - </type> - <alternatives xsi:type="xtext:Assignment" feature="terms" operator="+="> - <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/> - </alternatives> - </rules> - <rules xsi:type="xtext:ParserRule" name="Term"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> - </type> - <alternatives xsi:type="xtext:Group"> - <elements xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> - <elements xsi:type="xtext:Group" cardinality="*"> - <elements xsi:type="xtext:Action" feature="left" operator="="> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Term"/> - </type> - </elements> - <elements xsi:type="xtext:Assignment" feature="Operations" operator="="> - <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/> - </elements> - <elements xsi:type="xtext:Assignment" feature="right" operator="="> - <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> - </elements> - </elements> - </alternatives> - </rules> - <rules xsi:type="xtext:ParserRule" name="Types"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> - </type> - <alternatives xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:RuleCall" rule="/0/@rules.3"/> - <elements xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> - <elements xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" value="("/> - <elements xsi:type="xtext:RuleCall" rule="/0/@rules.1"/> - <elements xsi:type="xtext:Keyword" value=")"/> - </elements> - </alternatives> - </rules> - <rules xsi:type="xtext:ParserRule" name="Arithmetics"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> - </type> - <alternatives xsi:type="xtext:Group"> - <elements xsi:type="xtext:Action"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> - </type> - </elements> - <elements xsi:type="xtext:RuleCall" rule="/0/@rules.5"/> - </alternatives> - </rules> - <rules xsi:type="xtext:ParserRule" name="Strings"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> - </type> - <alternatives xsi:type="xtext:Group"> - <elements xsi:type="xtext:Action"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> - </type> - </elements> - <elements xsi:type="xtext:RuleCall" rule="/0/@rules.6"/> - </alternatives> - </rules> - <rules xsi:type="xtext:ParserRule" name="DECIMAL"> - <type metamodel="/0/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> - </type> - <alternatives xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/> - <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> - <elements xsi:type="xtext:Group" cardinality="?"> - <elements xsi:type="xtext:Keyword" value="."/> - <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> - </elements> - </alternatives> - </rules> - <rules xsi:type="xtext:ParserRule" name="E_STRING"> - <type metamodel="/0/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> - </type> - <alternatives xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> - <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/> - </alternatives> - </rules> - <rules xsi:type="xtext:ParserRule" name="Operations"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> - </type> - <alternatives xsi:type="xtext:Assignment" feature="termOperations" operator="="> - <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/> - </alternatives> - </rules> - <rules xsi:type="xtext:EnumRule" name="OperationsType"> - <type metamodel="/0/@metamodelDeclarations.1"> - <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType"/> - </type> - <alternatives xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/ADD"/> - <literal value="+"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/SUB"/> - <literal value="-"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/MULT"/> - <literal value="*"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/DIV"/> - <literal value="/"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/MOD"/> - <literal value="%"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/GREATER"/> - <literal value=">"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/LESS"/> - <literal value="<"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/EQUALS"/> - <literal value="="/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/NOTEQUAL"/> - <literal value="!="/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/LESSEQUAL"/> - <literal value="<="/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/GREATEREQUAL"/> - <literal value=">="/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/AND"/> - <literal value="AND"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/OR"/> - <literal value="OR"/> - </elements> - <elements xsi:type="xtext:EnumLiteralDeclaration"> - <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//OperationsType/XOR"/> - <literal value="XOR"/> - </elements> - </alternatives> - </rules> - </xtext:Grammar> - <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4"> - <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> - <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> - </metamodelDeclarations> - <rules xsi:type="xtext:TerminalRule" name="ID"> - <type metamodel="/1/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> - </type> - <alternatives xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/> - <elements xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:CharacterRange"> - <left value="a"/> - <right value="z"/> - </elements> - <elements xsi:type="xtext:CharacterRange"> - <left value="A"/> - <right value="Z"/> - </elements> - <elements xsi:type="xtext:Keyword" value="_"/> - </elements> - <elements xsi:type="xtext:Alternatives" cardinality="*"> - <elements xsi:type="xtext:CharacterRange"> - <left value="a"/> - <right value="z"/> - </elements> - <elements xsi:type="xtext:CharacterRange"> - <left value="A"/> - <right value="Z"/> - </elements> - <elements xsi:type="xtext:Keyword" value="_"/> - <elements xsi:type="xtext:CharacterRange"> - <left value="0"/> - <right value="9"/> - </elements> - </elements> - </alternatives> - </rules> - <rules xsi:type="xtext:TerminalRule" name="INT"> - <type metamodel="/1/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> - </type> - <alternatives xsi:type="xtext:CharacterRange" cardinality="+"> - <left value="0"/> - <right value="9"/> - </alternatives> - </rules> - <rules xsi:type="xtext:TerminalRule" name="STRING"> - <type metamodel="/1/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> - </type> - <alternatives xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" value="""/> - <elements xsi:type="xtext:Alternatives" cardinality="*"> - <elements xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" value="\"/> - <elements xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:Keyword" value="b"/> - <elements xsi:type="xtext:Keyword" value="t"/> - <elements xsi:type="xtext:Keyword" value="n"/> - <elements xsi:type="xtext:Keyword" value="f"/> - <elements xsi:type="xtext:Keyword" value="r"/> - <elements xsi:type="xtext:Keyword" value="u"/> - <elements xsi:type="xtext:Keyword" value="""/> - <elements xsi:type="xtext:Keyword" value="'"/> - <elements xsi:type="xtext:Keyword" value="\"/> - </elements> - </elements> - <elements xsi:type="xtext:NegatedToken"> - <terminal xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:Keyword" value="\"/> - <elements xsi:type="xtext:Keyword" value="""/> - </terminal> - </elements> - </elements> - <elements xsi:type="xtext:Keyword" value="""/> - </elements> - <elements xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" value="'"/> - <elements xsi:type="xtext:Alternatives" cardinality="*"> - <elements xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" value="\"/> - <elements xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:Keyword" value="b"/> - <elements xsi:type="xtext:Keyword" value="t"/> - <elements xsi:type="xtext:Keyword" value="n"/> - <elements xsi:type="xtext:Keyword" value="f"/> - <elements xsi:type="xtext:Keyword" value="r"/> - <elements xsi:type="xtext:Keyword" value="u"/> - <elements xsi:type="xtext:Keyword" value="""/> - <elements xsi:type="xtext:Keyword" value="'"/> - <elements xsi:type="xtext:Keyword" value="\"/> - </elements> - </elements> - <elements xsi:type="xtext:NegatedToken"> - <terminal xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:Keyword" value="\"/> - <elements xsi:type="xtext:Keyword" value="'"/> - </terminal> - </elements> - </elements> - <elements xsi:type="xtext:Keyword" value="'"/> - </elements> - </alternatives> - </rules> - <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT"> - <type metamodel="/1/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> - </type> - <alternatives xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" value="/*"/> - <elements xsi:type="xtext:UntilToken"> - <terminal xsi:type="xtext:Keyword" value="*/"/> - </elements> - </alternatives> - </rules> - <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT"> - <type metamodel="/1/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> - </type> - <alternatives xsi:type="xtext:Group"> - <elements xsi:type="xtext:Keyword" value="//"/> - <elements xsi:type="xtext:NegatedToken" cardinality="*"> - <terminal xsi:type="xtext:Alternatives"> - <elements xsi:type="xtext:Keyword" value="
"/> - <elements xsi:type="xtext:Keyword" value="
"/> - </terminal> - </elements> - <elements xsi:type="xtext:Group" cardinality="?"> - <elements xsi:type="xtext:Keyword" cardinality="?" value="
"/> - <elements xsi:type="xtext:Keyword" value="
"/> - </elements> - </alternatives> - </rules> - <rules xsi:type="xtext:TerminalRule" name="WS"> - <type metamodel="/1/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> - </type> - <alternatives xsi:type="xtext:Alternatives" cardinality="+"> - <elements xsi:type="xtext:Keyword" value=" "/> - <elements xsi:type="xtext:Keyword" value="	"/> - <elements xsi:type="xtext:Keyword" value="
"/> - <elements xsi:type="xtext:Keyword" value="
"/> - </alternatives> - </rules> - <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER"> - <type metamodel="/1/@metamodelDeclarations.0"> - <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> - </type> - <alternatives xsi:type="xtext:Wildcard"/> - </rules> - </xtext:Grammar> -</xmi:XMI> +<?xml version="1.0" encoding="ASCII"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> + <xtext:Grammar name="org.xtext.example.mydsl.MyDsl" usedGrammars="/1"> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> + <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="myDsl"> + <ePackage href="http://www.xtext.org/example/mydsl/MyDsl#/"/> + </metamodelDeclarations> + <rules xsi:type="xtext:ParserRule" name="Model"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Model"/> + </type> + <alternatives xsi:type="xtext:Assignment" feature="terms" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Double"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> + <elements xsi:type="xtext:Keyword" value="."/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Integer"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EString"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EBoolean"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="true"/> + <elements xsi:type="xtext:Keyword" value="false"/> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="ProductOperation"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//ProductOperation"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//ProductOperation/MULT"/> + <literal value="*"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//ProductOperation/DIV"/> + <literal value="/"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//ProductOperation/MOD"/> + <literal value="%"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="TermOperation"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//TermOperation"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//TermOperation/ADD"/> + <literal value="+"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//TermOperation/SUB"/> + <literal value="-"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="CompareOperation"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/GREATER"/> + <literal value=">"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/LESS"/> + <literal value="<"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/EQUALS"/> + <literal value="="/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/NOTEQUAL"/> + <literal value="!="/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/LESSEQUAL"/> + <literal value="<="/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//CompareOperation/GREATEREQUAL"/> + <literal value=">="/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="BooleanOperation"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EEnum" href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanOperation"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanOperation/AND"/> + <literal value="AND"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanOperation/OR"/> + <literal value="OR"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanOperation/XOR"/> + <literal value="XOR"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="RootExpression"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </rules> + <rules xsi:type="xtext:ParserRule" name="IfElseExpression"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Action" feature="condition" operator="="> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//IfElseExpression"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="?"/> + <elements xsi:type="xtext:Assignment" feature="trueExp" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </elements> + <elements xsi:type="xtext:Keyword" value=":"/> + <elements xsi:type="xtext:Assignment" feature="falseExp" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BinaryBooleanExpression"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Action" feature="left" operator="="> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//BinaryBooleanExpression"/> + </type> + </elements> + <elements xsi:type="xtext:Assignment" feature="operation" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/> + </elements> + <elements xsi:type="xtext:Assignment" feature="right" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="UnaryBooleanExpression"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="NOT"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + <elements xsi:type="xtext:Action" feature="inner" operator="="> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//UnaryBooleanExpression"/> + </type> + </elements> + </elements> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Comparison"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.14"/> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Action" feature="left" operator="="> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Comparison"/> + </type> + </elements> + <elements xsi:type="xtext:Assignment" feature="operation" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/> + </elements> + <elements xsi:type="xtext:Assignment" feature="right" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Term"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Action" feature="left" operator="="> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Term"/> + </type> + </elements> + <elements xsi:type="xtext:Assignment" feature="operation" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/> + </elements> + <elements xsi:type="xtext:Assignment" feature="right" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Product"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Action" feature="left" operator="="> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Product"/> + </type> + </elements> + <elements xsi:type="xtext:Assignment" feature="operation" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/> + </elements> + <elements xsi:type="xtext:Assignment" feature="right" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Power"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.17"/> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Action" feature="base" operator="="> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Power"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="^"/> + <elements xsi:type="xtext:Assignment" feature="exponent" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Atom"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.9"/> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Function"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Function"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/> + </elements> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Assignment" feature="parameters" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="parameters" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/> + </elements> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Literal"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="FormalParameter"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//FormalParameter"/> + </type> + <alternatives xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BooleanLiteral"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//BooleanLiteral"/> + </type> + <alternatives xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="NumberLiteral"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//Expression"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="IntLiteral"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//IntLiteral"/> + </type> + <alternatives xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="DoubleLiteral"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.xtext.org/example/mydsl/MyDsl#//DoubleLiteral"/> + </type> + <alternatives xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/> + </alternatives> + </rules> + </xtext:Grammar> + <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4"> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> + <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> + </metamodelDeclarations> + <rules xsi:type="xtext:TerminalRule" name="ID"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:CharacterRange"> + <left value="a"/> + <right value="z"/> + </elements> + <elements xsi:type="xtext:CharacterRange"> + <left value="A"/> + <right value="Z"/> + </elements> + <elements xsi:type="xtext:Keyword" value="_"/> + </elements> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:CharacterRange"> + <left value="a"/> + <right value="z"/> + </elements> + <elements xsi:type="xtext:CharacterRange"> + <left value="A"/> + <right value="Z"/> + </elements> + <elements xsi:type="xtext:Keyword" value="_"/> + <elements xsi:type="xtext:CharacterRange"> + <left value="0"/> + <right value="9"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="INT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </type> + <alternatives xsi:type="xtext:CharacterRange" cardinality="+"> + <left value="0"/> + <right value="9"/> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="STRING"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="b"/> + <elements xsi:type="xtext:Keyword" value="t"/> + <elements xsi:type="xtext:Keyword" value="n"/> + <elements xsi:type="xtext:Keyword" value="f"/> + <elements xsi:type="xtext:Keyword" value="r"/> + <elements xsi:type="xtext:Keyword" value="u"/> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Keyword" value="\"/> + </elements> + </elements> + <elements xsi:type="xtext:NegatedToken"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Keyword" value="""/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="""/> + </elements> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="b"/> + <elements xsi:type="xtext:Keyword" value="t"/> + <elements xsi:type="xtext:Keyword" value="n"/> + <elements xsi:type="xtext:Keyword" value="f"/> + <elements xsi:type="xtext:Keyword" value="r"/> + <elements xsi:type="xtext:Keyword" value="u"/> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Keyword" value="\"/> + </elements> + </elements> + <elements xsi:type="xtext:NegatedToken"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Keyword" value="'"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="'"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="/*"/> + <elements xsi:type="xtext:UntilToken"> + <terminal xsi:type="xtext:Keyword" value="*/"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="//"/> + <elements xsi:type="xtext:NegatedToken" cardinality="*"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="WS"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives" cardinality="+"> + <elements xsi:type="xtext:Keyword" value=" "/> + <elements xsi:type="xtext:Keyword" value="	"/> + <elements xsi:type="xtext:Keyword" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Wildcard"/> + </rules> + </xtext:Grammar> +</xmi:XMI> diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BinaryBooleanExpression.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BinaryBooleanExpression.java new file mode 100644 index 0000000000000000000000000000000000000000..d680a7992dec6ce05ff0bb05c71b7feeb17fa5fc --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BinaryBooleanExpression.java @@ -0,0 +1,107 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Binary Boolean Expression</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getLeft <em>Left</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getOperation <em>Operation</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getRight <em>Right</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBinaryBooleanExpression() + * @model + * @generated + */ +public interface BinaryBooleanExpression extends Expression +{ + /** + * Returns the value of the '<em><b>Left</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Left</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Left</em>' containment reference. + * @see #setLeft(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBinaryBooleanExpression_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getLeft <em>Left</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Left</em>' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the '<em><b>Operation</b></em>' attribute. + * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.BooleanOperation}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Operation</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Operation</em>' attribute. + * @see org.xtext.example.mydsl.myDsl.BooleanOperation + * @see #setOperation(BooleanOperation) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBinaryBooleanExpression_Operation() + * @model + * @generated + */ + BooleanOperation getOperation(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getOperation <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Operation</em>' attribute. + * @see org.xtext.example.mydsl.myDsl.BooleanOperation + * @see #getOperation() + * @generated + */ + void setOperation(BooleanOperation value); + + /** + * Returns the value of the '<em><b>Right</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Right</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Right</em>' containment reference. + * @see #setRight(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBinaryBooleanExpression_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getRight <em>Right</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Right</em>' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // BinaryBooleanExpression diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanLiteral.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanLiteral.java new file mode 100644 index 0000000000000000000000000000000000000000..5d6016cb077b8b29d37b175a7410ec4f7fd155bb --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanLiteral.java @@ -0,0 +1,50 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Boolean Literal</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.BooleanLiteral#isValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBooleanLiteral() + * @model + * @generated + */ +public interface BooleanLiteral extends Expression +{ + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(boolean) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBooleanLiteral_Value() + * @model + * @generated + */ + boolean isValue(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.BooleanLiteral#isValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #isValue() + * @generated + */ + void setValue(boolean value); + +} // BooleanLiteral diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanOperation.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanOperation.java new file mode 100644 index 0000000000000000000000000000000000000000..58ce0cef6933b8e3fd841ca917c04bb6d813edb9 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/BooleanOperation.java @@ -0,0 +1,250 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Boolean Operation</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getBooleanOperation() + * @model + * @generated + */ +public enum BooleanOperation implements Enumerator +{ + /** + * The '<em><b>AND</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #AND_VALUE + * @generated + * @ordered + */ + AND(0, "AND", "AND"), + + /** + * The '<em><b>OR</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #OR_VALUE + * @generated + * @ordered + */ + OR(1, "OR", "OR"), + + /** + * The '<em><b>XOR</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #XOR_VALUE + * @generated + * @ordered + */ + XOR(2, "XOR", "XOR"); + + /** + * The '<em><b>AND</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>AND</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #AND + * @model + * @generated + * @ordered + */ + public static final int AND_VALUE = 0; + + /** + * The '<em><b>OR</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>OR</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #OR + * @model + * @generated + * @ordered + */ + public static final int OR_VALUE = 1; + + /** + * The '<em><b>XOR</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>XOR</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #XOR + * @model + * @generated + * @ordered + */ + public static final int XOR_VALUE = 2; + + /** + * An array of all the '<em><b>Boolean Operation</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final BooleanOperation[] VALUES_ARRAY = + new BooleanOperation[] + { + AND, + OR, + XOR, + }; + + /** + * A public read-only list of all the '<em><b>Boolean Operation</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<BooleanOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Boolean Operation</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static BooleanOperation get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + BooleanOperation result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Boolean Operation</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static BooleanOperation getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + BooleanOperation result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Boolean Operation</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static BooleanOperation get(int value) + { + switch (value) + { + case AND_VALUE: return AND; + case OR_VALUE: return OR; + case XOR_VALUE: return XOR; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private BooleanOperation(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //BooleanOperation diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/CompareOperation.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/CompareOperation.java new file mode 100644 index 0000000000000000000000000000000000000000..1a3dac0c7c0155d9a5237e383370afb6c835a26c --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/CompareOperation.java @@ -0,0 +1,331 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Compare Operation</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getCompareOperation() + * @model + * @generated + */ +public enum CompareOperation implements Enumerator +{ + /** + * The '<em><b>GREATER</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #GREATER_VALUE + * @generated + * @ordered + */ + GREATER(0, "GREATER", ">"), + + /** + * The '<em><b>LESS</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #LESS_VALUE + * @generated + * @ordered + */ + LESS(1, "LESS", "<"), + + /** + * The '<em><b>EQUALS</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #EQUALS_VALUE + * @generated + * @ordered + */ + EQUALS(2, "EQUALS", "="), + + /** + * The '<em><b>NOTEQUAL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #NOTEQUAL_VALUE + * @generated + * @ordered + */ + NOTEQUAL(3, "NOTEQUAL", "!="), + + /** + * The '<em><b>LESSEQUAL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #LESSEQUAL_VALUE + * @generated + * @ordered + */ + LESSEQUAL(4, "LESSEQUAL", "<="), + + /** + * The '<em><b>GREATEREQUAL</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #GREATEREQUAL_VALUE + * @generated + * @ordered + */ + GREATEREQUAL(5, "GREATEREQUAL", ">="); + + /** + * The '<em><b>GREATER</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>GREATER</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #GREATER + * @model literal=">" + * @generated + * @ordered + */ + public static final int GREATER_VALUE = 0; + + /** + * The '<em><b>LESS</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>LESS</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #LESS + * @model literal="<" + * @generated + * @ordered + */ + public static final int LESS_VALUE = 1; + + /** + * The '<em><b>EQUALS</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>EQUALS</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #EQUALS + * @model literal="=" + * @generated + * @ordered + */ + public static final int EQUALS_VALUE = 2; + + /** + * The '<em><b>NOTEQUAL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>NOTEQUAL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #NOTEQUAL + * @model literal="!=" + * @generated + * @ordered + */ + public static final int NOTEQUAL_VALUE = 3; + + /** + * The '<em><b>LESSEQUAL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>LESSEQUAL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #LESSEQUAL + * @model literal="<=" + * @generated + * @ordered + */ + public static final int LESSEQUAL_VALUE = 4; + + /** + * The '<em><b>GREATEREQUAL</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>GREATEREQUAL</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #GREATEREQUAL + * @model literal=">=" + * @generated + * @ordered + */ + public static final int GREATEREQUAL_VALUE = 5; + + /** + * An array of all the '<em><b>Compare Operation</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final CompareOperation[] VALUES_ARRAY = + new CompareOperation[] + { + GREATER, + LESS, + EQUALS, + NOTEQUAL, + LESSEQUAL, + GREATEREQUAL, + }; + + /** + * A public read-only list of all the '<em><b>Compare Operation</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<CompareOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Compare Operation</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static CompareOperation get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + CompareOperation result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Compare Operation</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static CompareOperation getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + CompareOperation result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Compare Operation</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static CompareOperation get(int value) + { + switch (value) + { + case GREATER_VALUE: return GREATER; + case LESS_VALUE: return LESS; + case EQUALS_VALUE: return EQUALS; + case NOTEQUAL_VALUE: return NOTEQUAL; + case LESSEQUAL_VALUE: return LESSEQUAL; + case GREATEREQUAL_VALUE: return GREATEREQUAL; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private CompareOperation(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //CompareOperation diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Comparison.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Comparison.java new file mode 100644 index 0000000000000000000000000000000000000000..9fa671a9ba19ee65e5cf152a9e0cd11e35fa22cd --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Comparison.java @@ -0,0 +1,107 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Comparison</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.Comparison#getLeft <em>Left</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.Comparison#getOperation <em>Operation</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.Comparison#getRight <em>Right</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getComparison() + * @model + * @generated + */ +public interface Comparison extends Expression +{ + /** + * Returns the value of the '<em><b>Left</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Left</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Left</em>' containment reference. + * @see #setLeft(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getComparison_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Comparison#getLeft <em>Left</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Left</em>' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the '<em><b>Operation</b></em>' attribute. + * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.CompareOperation}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Operation</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Operation</em>' attribute. + * @see org.xtext.example.mydsl.myDsl.CompareOperation + * @see #setOperation(CompareOperation) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getComparison_Operation() + * @model + * @generated + */ + CompareOperation getOperation(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Comparison#getOperation <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Operation</em>' attribute. + * @see org.xtext.example.mydsl.myDsl.CompareOperation + * @see #getOperation() + * @generated + */ + void setOperation(CompareOperation value); + + /** + * Returns the value of the '<em><b>Right</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Right</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Right</em>' containment reference. + * @see #setRight(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getComparison_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Comparison#getRight <em>Right</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Right</em>' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Comparison diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/DoubleLiteral.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/DoubleLiteral.java new file mode 100644 index 0000000000000000000000000000000000000000..9c430b6085ccde081fd4d32f866f47d7c0b95529 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/DoubleLiteral.java @@ -0,0 +1,51 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + +import java.math.BigDecimal; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Double Literal</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.DoubleLiteral#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getDoubleLiteral() + * @model + * @generated + */ +public interface DoubleLiteral extends Expression +{ + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(BigDecimal) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getDoubleLiteral_Value() + * @model + * @generated + */ + BigDecimal getValue(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.DoubleLiteral#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + void setValue(BigDecimal value); + +} // DoubleLiteral diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Expression.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Expression.java index 9e3fbac14fb894e1e059d258c68e159863bdbe51..1eed353bb5fddda7d828fb5facbf010b56badd47 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Expression.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Expression.java @@ -1,54 +1,19 @@ -/** - */ -package org.xtext.example.mydsl.myDsl; - -import org.eclipse.emf.ecore.EObject; - -/** - * <!-- begin-user-doc --> - * A representation of the model object '<em><b>Expression</b></em>'. - * <!-- end-user-doc --> - * - * <p> - * The following features are supported: - * <ul> - * <li>{@link org.xtext.example.mydsl.myDsl.Expression#getTermOperations <em>Term Operations</em>}</li> - * </ul> - * </p> - * - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getExpression() - * @model - * @generated - */ -public interface Expression extends EObject -{ - /** - * Returns the value of the '<em><b>Term Operations</b></em>' attribute. - * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.OperationsType}. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Term Operations</em>' attribute isn't clear, - * there really should be more of a description here... - * </p> - * <!-- end-user-doc --> - * @return the value of the '<em>Term Operations</em>' attribute. - * @see org.xtext.example.mydsl.myDsl.OperationsType - * @see #setTermOperations(OperationsType) - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getExpression_TermOperations() - * @model - * @generated - */ - OperationsType getTermOperations(); - - /** - * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Expression#getTermOperations <em>Term Operations</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Term Operations</em>' attribute. - * @see org.xtext.example.mydsl.myDsl.OperationsType - * @see #getTermOperations() - * @generated - */ - void setTermOperations(OperationsType value); - -} // Expression +/** + */ +package org.xtext.example.mydsl.myDsl; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Expression</b></em>'. + * <!-- end-user-doc --> + * + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getExpression() + * @model + * @generated + */ +public interface Expression extends EObject +{ +} // Expression diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/FormalParameter.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/FormalParameter.java new file mode 100644 index 0000000000000000000000000000000000000000..a1fb9857c19d0906d4a869efd773f862e6d47a28 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/FormalParameter.java @@ -0,0 +1,50 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Formal Parameter</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.FormalParameter#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFormalParameter() + * @model + * @generated + */ +public interface FormalParameter extends Expression +{ + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(String) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFormalParameter_Value() + * @model + * @generated + */ + String getValue(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.FormalParameter#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + void setValue(String value); + +} // FormalParameter diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Function.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Function.java new file mode 100644 index 0000000000000000000000000000000000000000..23e6183ae62df5d05b0913b8934585cf2597e462 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Function.java @@ -0,0 +1,68 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Function</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.Function#getName <em>Name</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.Function#getParameters <em>Parameters</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFunction() + * @model + * @generated + */ +public interface Function extends Expression +{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Name</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFunction_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Function#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Parameters</b></em>' containment reference list. + * The list contents are of type {@link org.xtext.example.mydsl.myDsl.Expression}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Parameters</em>' containment reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Parameters</em>' containment reference list. + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getFunction_Parameters() + * @model containment="true" + * @generated + */ + EList<Expression> getParameters(); + +} // Function diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IfElseExpression.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IfElseExpression.java new file mode 100644 index 0000000000000000000000000000000000000000..53cca43920684e744971291c6f623cdf9bff6630 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IfElseExpression.java @@ -0,0 +1,104 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>If Else Expression</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getCondition <em>Condition</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getTrueExp <em>True Exp</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getFalseExp <em>False Exp</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIfElseExpression() + * @model + * @generated + */ +public interface IfElseExpression extends Expression +{ + /** + * Returns the value of the '<em><b>Condition</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Condition</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Condition</em>' containment reference. + * @see #setCondition(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIfElseExpression_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getCondition <em>Condition</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Condition</em>' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + + /** + * Returns the value of the '<em><b>True Exp</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>True Exp</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>True Exp</em>' containment reference. + * @see #setTrueExp(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIfElseExpression_TrueExp() + * @model containment="true" + * @generated + */ + Expression getTrueExp(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getTrueExp <em>True Exp</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>True Exp</em>' containment reference. + * @see #getTrueExp() + * @generated + */ + void setTrueExp(Expression value); + + /** + * Returns the value of the '<em><b>False Exp</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>False Exp</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>False Exp</em>' containment reference. + * @see #setFalseExp(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIfElseExpression_FalseExp() + * @model containment="true" + * @generated + */ + Expression getFalseExp(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getFalseExp <em>False Exp</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>False Exp</em>' containment reference. + * @see #getFalseExp() + * @generated + */ + void setFalseExp(Expression value); + +} // IfElseExpression diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IntLiteral.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IntLiteral.java new file mode 100644 index 0000000000000000000000000000000000000000..b532cb55a2767044cd61697fa0c1810f3f212920 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/IntLiteral.java @@ -0,0 +1,51 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + +import java.math.BigInteger; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Int Literal</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.IntLiteral#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIntLiteral() + * @model + * @generated + */ +public interface IntLiteral extends Expression +{ + /** + * Returns the value of the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Value</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Value</em>' attribute. + * @see #setValue(BigInteger) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getIntLiteral_Value() + * @model + * @generated + */ + BigInteger getValue(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.IntLiteral#getValue <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Value</em>' attribute. + * @see #getValue() + * @generated + */ + void setValue(BigInteger value); + +} // IntLiteral diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Model.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Model.java index f3f26d78111e3527979a2cb2470a59971eeac102..f21c71df27280ac1c7e3ad2beda38f641d78cf98 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Model.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Model.java @@ -1,43 +1,51 @@ -/** - */ -package org.xtext.example.mydsl.myDsl; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EObject; - -/** - * <!-- begin-user-doc --> - * A representation of the model object '<em><b>Model</b></em>'. - * <!-- end-user-doc --> - * - * <p> - * The following features are supported: - * <ul> - * <li>{@link org.xtext.example.mydsl.myDsl.Model#getTerms <em>Terms</em>}</li> - * </ul> - * </p> - * - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getModel() - * @model - * @generated - */ -public interface Model extends EObject -{ - /** - * Returns the value of the '<em><b>Terms</b></em>' containment reference list. - * The list contents are of type {@link org.xtext.example.mydsl.myDsl.Expression}. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Terms</em>' containment reference list isn't clear, - * there really should be more of a description here... - * </p> - * <!-- end-user-doc --> - * @return the value of the '<em>Terms</em>' containment reference list. - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getModel_Terms() - * @model containment="true" - * @generated - */ - EList<Expression> getTerms(); - -} // Model +/** + */ +package org.xtext.example.mydsl.myDsl; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Model</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.Model#getTerms <em>Terms</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getModel() + * @model + * @generated + */ +public interface Model extends EObject +{ + /** + * Returns the value of the '<em><b>Terms</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Terms</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Terms</em>' containment reference. + * @see #setTerms(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getModel_Terms() + * @model containment="true" + * @generated + */ + Expression getTerms(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Model#getTerms <em>Terms</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Terms</em>' containment reference. + * @see #getTerms() + * @generated + */ + void setTerms(Expression value); + +} // Model diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslFactory.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslFactory.java index 802311ab3894032ced742ed06f2807d159617f4e..cf19c6e116aa71044935854b754a9886b4831f2d 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslFactory.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslFactory.java @@ -1,61 +1,160 @@ -/** - */ -package org.xtext.example.mydsl.myDsl; - -import org.eclipse.emf.ecore.EFactory; - -/** - * <!-- begin-user-doc --> - * The <b>Factory</b> for the model. - * It provides a create method for each non-abstract class of the model. - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.MyDslPackage - * @generated - */ -public interface MyDslFactory extends EFactory -{ - /** - * The singleton instance of the factory. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - MyDslFactory eINSTANCE = org.xtext.example.mydsl.myDsl.impl.MyDslFactoryImpl.init(); - - /** - * Returns a new object of class '<em>Model</em>'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return a new object of class '<em>Model</em>'. - * @generated - */ - Model createModel(); - - /** - * Returns a new object of class '<em>Expression</em>'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return a new object of class '<em>Expression</em>'. - * @generated - */ - Expression createExpression(); - - /** - * Returns a new object of class '<em>Term</em>'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return a new object of class '<em>Term</em>'. - * @generated - */ - Term createTerm(); - - /** - * Returns the package supported by this factory. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the package supported by this factory. - * @generated - */ - MyDslPackage getMyDslPackage(); - -} //MyDslFactory +/** + */ +package org.xtext.example.mydsl.myDsl; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.MyDslPackage + * @generated + */ +public interface MyDslFactory extends EFactory +{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + MyDslFactory eINSTANCE = org.xtext.example.mydsl.myDsl.impl.MyDslFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Model</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Model</em>'. + * @generated + */ + Model createModel(); + + /** + * Returns a new object of class '<em>Expression</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Expression</em>'. + * @generated + */ + Expression createExpression(); + + /** + * Returns a new object of class '<em>Function</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Function</em>'. + * @generated + */ + Function createFunction(); + + /** + * Returns a new object of class '<em>Formal Parameter</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Formal Parameter</em>'. + * @generated + */ + FormalParameter createFormalParameter(); + + /** + * Returns a new object of class '<em>Boolean Literal</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Boolean Literal</em>'. + * @generated + */ + BooleanLiteral createBooleanLiteral(); + + /** + * Returns a new object of class '<em>Int Literal</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Int Literal</em>'. + * @generated + */ + IntLiteral createIntLiteral(); + + /** + * Returns a new object of class '<em>Double Literal</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Double Literal</em>'. + * @generated + */ + DoubleLiteral createDoubleLiteral(); + + /** + * Returns a new object of class '<em>If Else Expression</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>If Else Expression</em>'. + * @generated + */ + IfElseExpression createIfElseExpression(); + + /** + * Returns a new object of class '<em>Binary Boolean Expression</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Binary Boolean Expression</em>'. + * @generated + */ + BinaryBooleanExpression createBinaryBooleanExpression(); + + /** + * Returns a new object of class '<em>Unary Boolean Expression</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Unary Boolean Expression</em>'. + * @generated + */ + UnaryBooleanExpression createUnaryBooleanExpression(); + + /** + * Returns a new object of class '<em>Comparison</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Comparison</em>'. + * @generated + */ + Comparison createComparison(); + + /** + * Returns a new object of class '<em>Term</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Term</em>'. + * @generated + */ + Term createTerm(); + + /** + * Returns a new object of class '<em>Product</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Product</em>'. + * @generated + */ + Product createProduct(); + + /** + * Returns a new object of class '<em>Power</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Power</em>'. + * @generated + */ + Power createPower(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + MyDslPackage getMyDslPackage(); + +} //MyDslFactory diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslPackage.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslPackage.java index 17782344ce9da3394a5952c5a27986e5464ee521..77f1c0ecd62e2ad626ee6caa28bde295801e0ccf 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslPackage.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslPackage.java @@ -1,382 +1,1452 @@ -/** - */ -package org.xtext.example.mydsl.myDsl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -/** - * <!-- begin-user-doc --> - * The <b>Package</b> for the model. - * It contains accessors for the meta objects to represent - * <ul> - * <li>each class,</li> - * <li>each feature of each class,</li> - * <li>each enum,</li> - * <li>and each data type</li> - * </ul> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.MyDslFactory - * @model kind="package" - * @generated - */ -public interface MyDslPackage extends EPackage -{ - /** - * The package name. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - String eNAME = "myDsl"; - - /** - * The package namespace URI. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - String eNS_URI = "http://www.xtext.org/example/mydsl/MyDsl"; - - /** - * The package namespace name. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - String eNS_PREFIX = "myDsl"; - - /** - * The singleton instance of the package. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - MyDslPackage eINSTANCE = org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl.init(); - - /** - * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ModelImpl <em>Model</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.impl.ModelImpl - * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getModel() - * @generated - */ - int MODEL = 0; - - /** - * The feature id for the '<em><b>Terms</b></em>' containment reference list. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int MODEL__TERMS = 0; - - /** - * The number of structural features of the '<em>Model</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int MODEL_FEATURE_COUNT = 1; - - /** - * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ExpressionImpl <em>Expression</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.impl.ExpressionImpl - * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getExpression() - * @generated - */ - int EXPRESSION = 1; - - /** - * The feature id for the '<em><b>Term Operations</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int EXPRESSION__TERM_OPERATIONS = 0; - - /** - * The number of structural features of the '<em>Expression</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int EXPRESSION_FEATURE_COUNT = 1; - - /** - * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.TermImpl <em>Term</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.impl.TermImpl - * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTerm() - * @generated - */ - int TERM = 2; - - /** - * The feature id for the '<em><b>Term Operations</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int TERM__TERM_OPERATIONS = EXPRESSION__TERM_OPERATIONS; - - /** - * The feature id for the '<em><b>Left</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int TERM__LEFT = EXPRESSION_FEATURE_COUNT + 0; - - /** - * The feature id for the '<em><b>Operations</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int TERM__OPERATIONS = EXPRESSION_FEATURE_COUNT + 1; - - /** - * The feature id for the '<em><b>Right</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int TERM__RIGHT = EXPRESSION_FEATURE_COUNT + 2; - - /** - * The number of structural features of the '<em>Term</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int TERM_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; - - /** - * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.OperationsType <em>Operations Type</em>}' enum. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.OperationsType - * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getOperationsType() - * @generated - */ - int OPERATIONS_TYPE = 3; - - - /** - * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Model <em>Model</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for class '<em>Model</em>'. - * @see org.xtext.example.mydsl.myDsl.Model - * @generated - */ - EClass getModel(); - - /** - * Returns the meta object for the containment reference list '{@link org.xtext.example.mydsl.myDsl.Model#getTerms <em>Terms</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the containment reference list '<em>Terms</em>'. - * @see org.xtext.example.mydsl.myDsl.Model#getTerms() - * @see #getModel() - * @generated - */ - EReference getModel_Terms(); - - /** - * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Expression <em>Expression</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for class '<em>Expression</em>'. - * @see org.xtext.example.mydsl.myDsl.Expression - * @generated - */ - EClass getExpression(); - - /** - * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Expression#getTermOperations <em>Term Operations</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Term Operations</em>'. - * @see org.xtext.example.mydsl.myDsl.Expression#getTermOperations() - * @see #getExpression() - * @generated - */ - EAttribute getExpression_TermOperations(); - - /** - * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Term <em>Term</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for class '<em>Term</em>'. - * @see org.xtext.example.mydsl.myDsl.Term - * @generated - */ - EClass getTerm(); - - /** - * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the containment reference '<em>Left</em>'. - * @see org.xtext.example.mydsl.myDsl.Term#getLeft() - * @see #getTerm() - * @generated - */ - EReference getTerm_Left(); - - /** - * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Term#getOperations <em>Operations</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the containment reference '<em>Operations</em>'. - * @see org.xtext.example.mydsl.myDsl.Term#getOperations() - * @see #getTerm() - * @generated - */ - EReference getTerm_Operations(); - - /** - * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the containment reference '<em>Right</em>'. - * @see org.xtext.example.mydsl.myDsl.Term#getRight() - * @see #getTerm() - * @generated - */ - EReference getTerm_Right(); - - /** - * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.OperationsType <em>Operations Type</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for enum '<em>Operations Type</em>'. - * @see org.xtext.example.mydsl.myDsl.OperationsType - * @generated - */ - EEnum getOperationsType(); - - /** - * Returns the factory that creates the instances of the model. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the factory that creates the instances of the model. - * @generated - */ - MyDslFactory getMyDslFactory(); - - /** - * <!-- begin-user-doc --> - * Defines literals for the meta objects that represent - * <ul> - * <li>each class,</li> - * <li>each feature of each class,</li> - * <li>each enum,</li> - * <li>and each data type</li> - * </ul> - * <!-- end-user-doc --> - * @generated - */ - interface Literals - { - /** - * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ModelImpl <em>Model</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.impl.ModelImpl - * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getModel() - * @generated - */ - EClass MODEL = eINSTANCE.getModel(); - - /** - * The meta object literal for the '<em><b>Terms</b></em>' containment reference list feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EReference MODEL__TERMS = eINSTANCE.getModel_Terms(); - - /** - * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ExpressionImpl <em>Expression</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.impl.ExpressionImpl - * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getExpression() - * @generated - */ - EClass EXPRESSION = eINSTANCE.getExpression(); - - /** - * The meta object literal for the '<em><b>Term Operations</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EAttribute EXPRESSION__TERM_OPERATIONS = eINSTANCE.getExpression_TermOperations(); - - /** - * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.TermImpl <em>Term</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.impl.TermImpl - * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTerm() - * @generated - */ - EClass TERM = eINSTANCE.getTerm(); - - /** - * The meta object literal for the '<em><b>Left</b></em>' containment reference feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EReference TERM__LEFT = eINSTANCE.getTerm_Left(); - - /** - * The meta object literal for the '<em><b>Operations</b></em>' containment reference feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EReference TERM__OPERATIONS = eINSTANCE.getTerm_Operations(); - - /** - * The meta object literal for the '<em><b>Right</b></em>' containment reference feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EReference TERM__RIGHT = eINSTANCE.getTerm_Right(); - - /** - * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.OperationsType <em>Operations Type</em>}' enum. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.OperationsType - * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getOperationsType() - * @generated - */ - EEnum OPERATIONS_TYPE = eINSTANCE.getOperationsType(); - - } - -} //MyDslPackage +/** + */ +package org.xtext.example.mydsl.myDsl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.MyDslFactory + * @model kind="package" + * @generated + */ +public interface MyDslPackage extends EPackage +{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "myDsl"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.xtext.org/example/mydsl/MyDsl"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "myDsl"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + MyDslPackage eINSTANCE = org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl.init(); + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ModelImpl <em>Model</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.ModelImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getModel() + * @generated + */ + int MODEL = 0; + + /** + * The feature id for the '<em><b>Terms</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MODEL__TERMS = 0; + + /** + * The number of structural features of the '<em>Model</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MODEL_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ExpressionImpl <em>Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.ExpressionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getExpression() + * @generated + */ + int EXPRESSION = 1; + + /** + * The number of structural features of the '<em>Expression</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EXPRESSION_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.FunctionImpl <em>Function</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.FunctionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getFunction() + * @generated + */ + int FUNCTION = 2; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION__NAME = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Parameters</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION__PARAMETERS = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Function</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl <em>Formal Parameter</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getFormalParameter() + * @generated + */ + int FORMAL_PARAMETER = 3; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FORMAL_PARAMETER__VALUE = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Formal Parameter</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FORMAL_PARAMETER_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl <em>Boolean Literal</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBooleanLiteral() + * @generated + */ + int BOOLEAN_LITERAL = 4; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BOOLEAN_LITERAL__VALUE = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Boolean Literal</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BOOLEAN_LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl <em>Int Literal</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getIntLiteral() + * @generated + */ + int INT_LITERAL = 5; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INT_LITERAL__VALUE = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Int Literal</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INT_LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl <em>Double Literal</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getDoubleLiteral() + * @generated + */ + int DOUBLE_LITERAL = 6; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DOUBLE_LITERAL__VALUE = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Double Literal</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DOUBLE_LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl <em>If Else Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getIfElseExpression() + * @generated + */ + int IF_ELSE_EXPRESSION = 7; + + /** + * The feature id for the '<em><b>Condition</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int IF_ELSE_EXPRESSION__CONDITION = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>True Exp</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int IF_ELSE_EXPRESSION__TRUE_EXP = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>False Exp</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int IF_ELSE_EXPRESSION__FALSE_EXP = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>If Else Expression</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int IF_ELSE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl <em>Binary Boolean Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBinaryBooleanExpression() + * @generated + */ + int BINARY_BOOLEAN_EXPRESSION = 8; + + /** + * The feature id for the '<em><b>Left</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BINARY_BOOLEAN_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Operation</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BINARY_BOOLEAN_EXPRESSION__OPERATION = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Right</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BINARY_BOOLEAN_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Binary Boolean Expression</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BINARY_BOOLEAN_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl <em>Unary Boolean Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getUnaryBooleanExpression() + * @generated + */ + int UNARY_BOOLEAN_EXPRESSION = 9; + + /** + * The feature id for the '<em><b>Inner</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int UNARY_BOOLEAN_EXPRESSION__INNER = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Unary Boolean Expression</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int UNARY_BOOLEAN_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl <em>Comparison</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.ComparisonImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getComparison() + * @generated + */ + int COMPARISON = 10; + + /** + * The feature id for the '<em><b>Left</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Operation</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON__OPERATION = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Right</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Comparison</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.TermImpl <em>Term</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.TermImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTerm() + * @generated + */ + int TERM = 11; + + /** + * The feature id for the '<em><b>Left</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TERM__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Operation</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TERM__OPERATION = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Right</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TERM__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Term</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TERM_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl <em>Product</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.ProductImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getProduct() + * @generated + */ + int PRODUCT = 12; + + /** + * The feature id for the '<em><b>Left</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRODUCT__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Operation</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRODUCT__OPERATION = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Right</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRODUCT__RIGHT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>Product</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRODUCT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.impl.PowerImpl <em>Power</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.PowerImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getPower() + * @generated + */ + int POWER = 13; + + /** + * The feature id for the '<em><b>Base</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int POWER__BASE = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Exponent</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int POWER__EXPONENT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Power</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int POWER_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.ProductOperation <em>Product Operation</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.ProductOperation + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getProductOperation() + * @generated + */ + int PRODUCT_OPERATION = 14; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.TermOperation <em>Term Operation</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.TermOperation + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTermOperation() + * @generated + */ + int TERM_OPERATION = 15; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.CompareOperation <em>Compare Operation</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.CompareOperation + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getCompareOperation() + * @generated + */ + int COMPARE_OPERATION = 16; + + /** + * The meta object id for the '{@link org.xtext.example.mydsl.myDsl.BooleanOperation <em>Boolean Operation</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.BooleanOperation + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBooleanOperation() + * @generated + */ + int BOOLEAN_OPERATION = 17; + + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Model <em>Model</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Model</em>'. + * @see org.xtext.example.mydsl.myDsl.Model + * @generated + */ + EClass getModel(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Model#getTerms <em>Terms</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Terms</em>'. + * @see org.xtext.example.mydsl.myDsl.Model#getTerms() + * @see #getModel() + * @generated + */ + EReference getModel_Terms(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Expression <em>Expression</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Expression</em>'. + * @see org.xtext.example.mydsl.myDsl.Expression + * @generated + */ + EClass getExpression(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Function <em>Function</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Function</em>'. + * @see org.xtext.example.mydsl.myDsl.Function + * @generated + */ + EClass getFunction(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Function#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see org.xtext.example.mydsl.myDsl.Function#getName() + * @see #getFunction() + * @generated + */ + EAttribute getFunction_Name(); + + /** + * Returns the meta object for the containment reference list '{@link org.xtext.example.mydsl.myDsl.Function#getParameters <em>Parameters</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Parameters</em>'. + * @see org.xtext.example.mydsl.myDsl.Function#getParameters() + * @see #getFunction() + * @generated + */ + EReference getFunction_Parameters(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.FormalParameter <em>Formal Parameter</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Formal Parameter</em>'. + * @see org.xtext.example.mydsl.myDsl.FormalParameter + * @generated + */ + EClass getFormalParameter(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.FormalParameter#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.xtext.example.mydsl.myDsl.FormalParameter#getValue() + * @see #getFormalParameter() + * @generated + */ + EAttribute getFormalParameter_Value(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.BooleanLiteral <em>Boolean Literal</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Boolean Literal</em>'. + * @see org.xtext.example.mydsl.myDsl.BooleanLiteral + * @generated + */ + EClass getBooleanLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.BooleanLiteral#isValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.xtext.example.mydsl.myDsl.BooleanLiteral#isValue() + * @see #getBooleanLiteral() + * @generated + */ + EAttribute getBooleanLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.IntLiteral <em>Int Literal</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Int Literal</em>'. + * @see org.xtext.example.mydsl.myDsl.IntLiteral + * @generated + */ + EClass getIntLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.IntLiteral#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.xtext.example.mydsl.myDsl.IntLiteral#getValue() + * @see #getIntLiteral() + * @generated + */ + EAttribute getIntLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.DoubleLiteral <em>Double Literal</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Double Literal</em>'. + * @see org.xtext.example.mydsl.myDsl.DoubleLiteral + * @generated + */ + EClass getDoubleLiteral(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.DoubleLiteral#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.xtext.example.mydsl.myDsl.DoubleLiteral#getValue() + * @see #getDoubleLiteral() + * @generated + */ + EAttribute getDoubleLiteral_Value(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.IfElseExpression <em>If Else Expression</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>If Else Expression</em>'. + * @see org.xtext.example.mydsl.myDsl.IfElseExpression + * @generated + */ + EClass getIfElseExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getCondition <em>Condition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Condition</em>'. + * @see org.xtext.example.mydsl.myDsl.IfElseExpression#getCondition() + * @see #getIfElseExpression() + * @generated + */ + EReference getIfElseExpression_Condition(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getTrueExp <em>True Exp</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>True Exp</em>'. + * @see org.xtext.example.mydsl.myDsl.IfElseExpression#getTrueExp() + * @see #getIfElseExpression() + * @generated + */ + EReference getIfElseExpression_TrueExp(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.IfElseExpression#getFalseExp <em>False Exp</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>False Exp</em>'. + * @see org.xtext.example.mydsl.myDsl.IfElseExpression#getFalseExp() + * @see #getIfElseExpression() + * @generated + */ + EReference getIfElseExpression_FalseExp(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression <em>Binary Boolean Expression</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Binary Boolean Expression</em>'. + * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression + * @generated + */ + EClass getBinaryBooleanExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getLeft <em>Left</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Left</em>'. + * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getLeft() + * @see #getBinaryBooleanExpression() + * @generated + */ + EReference getBinaryBooleanExpression_Left(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getOperation <em>Operation</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Operation</em>'. + * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getOperation() + * @see #getBinaryBooleanExpression() + * @generated + */ + EAttribute getBinaryBooleanExpression_Operation(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getRight <em>Right</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Right</em>'. + * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression#getRight() + * @see #getBinaryBooleanExpression() + * @generated + */ + EReference getBinaryBooleanExpression_Right(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression <em>Unary Boolean Expression</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Unary Boolean Expression</em>'. + * @see org.xtext.example.mydsl.myDsl.UnaryBooleanExpression + * @generated + */ + EClass getUnaryBooleanExpression(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression#getInner <em>Inner</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Inner</em>'. + * @see org.xtext.example.mydsl.myDsl.UnaryBooleanExpression#getInner() + * @see #getUnaryBooleanExpression() + * @generated + */ + EReference getUnaryBooleanExpression_Inner(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Comparison <em>Comparison</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Comparison</em>'. + * @see org.xtext.example.mydsl.myDsl.Comparison + * @generated + */ + EClass getComparison(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Comparison#getLeft <em>Left</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Left</em>'. + * @see org.xtext.example.mydsl.myDsl.Comparison#getLeft() + * @see #getComparison() + * @generated + */ + EReference getComparison_Left(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Comparison#getOperation <em>Operation</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Operation</em>'. + * @see org.xtext.example.mydsl.myDsl.Comparison#getOperation() + * @see #getComparison() + * @generated + */ + EAttribute getComparison_Operation(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Comparison#getRight <em>Right</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Right</em>'. + * @see org.xtext.example.mydsl.myDsl.Comparison#getRight() + * @see #getComparison() + * @generated + */ + EReference getComparison_Right(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Term <em>Term</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Term</em>'. + * @see org.xtext.example.mydsl.myDsl.Term + * @generated + */ + EClass getTerm(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Left</em>'. + * @see org.xtext.example.mydsl.myDsl.Term#getLeft() + * @see #getTerm() + * @generated + */ + EReference getTerm_Left(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Term#getOperation <em>Operation</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Operation</em>'. + * @see org.xtext.example.mydsl.myDsl.Term#getOperation() + * @see #getTerm() + * @generated + */ + EAttribute getTerm_Operation(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Right</em>'. + * @see org.xtext.example.mydsl.myDsl.Term#getRight() + * @see #getTerm() + * @generated + */ + EReference getTerm_Right(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Product <em>Product</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Product</em>'. + * @see org.xtext.example.mydsl.myDsl.Product + * @generated + */ + EClass getProduct(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Product#getLeft <em>Left</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Left</em>'. + * @see org.xtext.example.mydsl.myDsl.Product#getLeft() + * @see #getProduct() + * @generated + */ + EReference getProduct_Left(); + + /** + * Returns the meta object for the attribute '{@link org.xtext.example.mydsl.myDsl.Product#getOperation <em>Operation</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Operation</em>'. + * @see org.xtext.example.mydsl.myDsl.Product#getOperation() + * @see #getProduct() + * @generated + */ + EAttribute getProduct_Operation(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Product#getRight <em>Right</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Right</em>'. + * @see org.xtext.example.mydsl.myDsl.Product#getRight() + * @see #getProduct() + * @generated + */ + EReference getProduct_Right(); + + /** + * Returns the meta object for class '{@link org.xtext.example.mydsl.myDsl.Power <em>Power</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Power</em>'. + * @see org.xtext.example.mydsl.myDsl.Power + * @generated + */ + EClass getPower(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Power#getBase <em>Base</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Base</em>'. + * @see org.xtext.example.mydsl.myDsl.Power#getBase() + * @see #getPower() + * @generated + */ + EReference getPower_Base(); + + /** + * Returns the meta object for the containment reference '{@link org.xtext.example.mydsl.myDsl.Power#getExponent <em>Exponent</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Exponent</em>'. + * @see org.xtext.example.mydsl.myDsl.Power#getExponent() + * @see #getPower() + * @generated + */ + EReference getPower_Exponent(); + + /** + * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.ProductOperation <em>Product Operation</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Product Operation</em>'. + * @see org.xtext.example.mydsl.myDsl.ProductOperation + * @generated + */ + EEnum getProductOperation(); + + /** + * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.TermOperation <em>Term Operation</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Term Operation</em>'. + * @see org.xtext.example.mydsl.myDsl.TermOperation + * @generated + */ + EEnum getTermOperation(); + + /** + * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.CompareOperation <em>Compare Operation</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Compare Operation</em>'. + * @see org.xtext.example.mydsl.myDsl.CompareOperation + * @generated + */ + EEnum getCompareOperation(); + + /** + * Returns the meta object for enum '{@link org.xtext.example.mydsl.myDsl.BooleanOperation <em>Boolean Operation</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Boolean Operation</em>'. + * @see org.xtext.example.mydsl.myDsl.BooleanOperation + * @generated + */ + EEnum getBooleanOperation(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + MyDslFactory getMyDslFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals + { + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ModelImpl <em>Model</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.ModelImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getModel() + * @generated + */ + EClass MODEL = eINSTANCE.getModel(); + + /** + * The meta object literal for the '<em><b>Terms</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MODEL__TERMS = eINSTANCE.getModel_Terms(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ExpressionImpl <em>Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.ExpressionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getExpression() + * @generated + */ + EClass EXPRESSION = eINSTANCE.getExpression(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.FunctionImpl <em>Function</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.FunctionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getFunction() + * @generated + */ + EClass FUNCTION = eINSTANCE.getFunction(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FUNCTION__NAME = eINSTANCE.getFunction_Name(); + + /** + * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FUNCTION__PARAMETERS = eINSTANCE.getFunction_Parameters(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl <em>Formal Parameter</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getFormalParameter() + * @generated + */ + EClass FORMAL_PARAMETER = eINSTANCE.getFormalParameter(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FORMAL_PARAMETER__VALUE = eINSTANCE.getFormalParameter_Value(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl <em>Boolean Literal</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBooleanLiteral() + * @generated + */ + EClass BOOLEAN_LITERAL = eINSTANCE.getBooleanLiteral(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute BOOLEAN_LITERAL__VALUE = eINSTANCE.getBooleanLiteral_Value(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl <em>Int Literal</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getIntLiteral() + * @generated + */ + EClass INT_LITERAL = eINSTANCE.getIntLiteral(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute INT_LITERAL__VALUE = eINSTANCE.getIntLiteral_Value(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl <em>Double Literal</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getDoubleLiteral() + * @generated + */ + EClass DOUBLE_LITERAL = eINSTANCE.getDoubleLiteral(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute DOUBLE_LITERAL__VALUE = eINSTANCE.getDoubleLiteral_Value(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl <em>If Else Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getIfElseExpression() + * @generated + */ + EClass IF_ELSE_EXPRESSION = eINSTANCE.getIfElseExpression(); + + /** + * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference IF_ELSE_EXPRESSION__CONDITION = eINSTANCE.getIfElseExpression_Condition(); + + /** + * The meta object literal for the '<em><b>True Exp</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference IF_ELSE_EXPRESSION__TRUE_EXP = eINSTANCE.getIfElseExpression_TrueExp(); + + /** + * The meta object literal for the '<em><b>False Exp</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference IF_ELSE_EXPRESSION__FALSE_EXP = eINSTANCE.getIfElseExpression_FalseExp(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl <em>Binary Boolean Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBinaryBooleanExpression() + * @generated + */ + EClass BINARY_BOOLEAN_EXPRESSION = eINSTANCE.getBinaryBooleanExpression(); + + /** + * The meta object literal for the '<em><b>Left</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference BINARY_BOOLEAN_EXPRESSION__LEFT = eINSTANCE.getBinaryBooleanExpression_Left(); + + /** + * The meta object literal for the '<em><b>Operation</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute BINARY_BOOLEAN_EXPRESSION__OPERATION = eINSTANCE.getBinaryBooleanExpression_Operation(); + + /** + * The meta object literal for the '<em><b>Right</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference BINARY_BOOLEAN_EXPRESSION__RIGHT = eINSTANCE.getBinaryBooleanExpression_Right(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl <em>Unary Boolean Expression</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getUnaryBooleanExpression() + * @generated + */ + EClass UNARY_BOOLEAN_EXPRESSION = eINSTANCE.getUnaryBooleanExpression(); + + /** + * The meta object literal for the '<em><b>Inner</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference UNARY_BOOLEAN_EXPRESSION__INNER = eINSTANCE.getUnaryBooleanExpression_Inner(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl <em>Comparison</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.ComparisonImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getComparison() + * @generated + */ + EClass COMPARISON = eINSTANCE.getComparison(); + + /** + * The meta object literal for the '<em><b>Left</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left(); + + /** + * The meta object literal for the '<em><b>Operation</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COMPARISON__OPERATION = eINSTANCE.getComparison_Operation(); + + /** + * The meta object literal for the '<em><b>Right</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.TermImpl <em>Term</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.TermImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTerm() + * @generated + */ + EClass TERM = eINSTANCE.getTerm(); + + /** + * The meta object literal for the '<em><b>Left</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TERM__LEFT = eINSTANCE.getTerm_Left(); + + /** + * The meta object literal for the '<em><b>Operation</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute TERM__OPERATION = eINSTANCE.getTerm_Operation(); + + /** + * The meta object literal for the '<em><b>Right</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference TERM__RIGHT = eINSTANCE.getTerm_Right(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl <em>Product</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.ProductImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getProduct() + * @generated + */ + EClass PRODUCT = eINSTANCE.getProduct(); + + /** + * The meta object literal for the '<em><b>Left</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRODUCT__LEFT = eINSTANCE.getProduct_Left(); + + /** + * The meta object literal for the '<em><b>Operation</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute PRODUCT__OPERATION = eINSTANCE.getProduct_Operation(); + + /** + * The meta object literal for the '<em><b>Right</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRODUCT__RIGHT = eINSTANCE.getProduct_Right(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.impl.PowerImpl <em>Power</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.impl.PowerImpl + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getPower() + * @generated + */ + EClass POWER = eINSTANCE.getPower(); + + /** + * The meta object literal for the '<em><b>Base</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference POWER__BASE = eINSTANCE.getPower_Base(); + + /** + * The meta object literal for the '<em><b>Exponent</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference POWER__EXPONENT = eINSTANCE.getPower_Exponent(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.ProductOperation <em>Product Operation</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.ProductOperation + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getProductOperation() + * @generated + */ + EEnum PRODUCT_OPERATION = eINSTANCE.getProductOperation(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.TermOperation <em>Term Operation</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.TermOperation + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getTermOperation() + * @generated + */ + EEnum TERM_OPERATION = eINSTANCE.getTermOperation(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.CompareOperation <em>Compare Operation</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.CompareOperation + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getCompareOperation() + * @generated + */ + EEnum COMPARE_OPERATION = eINSTANCE.getCompareOperation(); + + /** + * The meta object literal for the '{@link org.xtext.example.mydsl.myDsl.BooleanOperation <em>Boolean Operation</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.BooleanOperation + * @see org.xtext.example.mydsl.myDsl.impl.MyDslPackageImpl#getBooleanOperation() + * @generated + */ + EEnum BOOLEAN_OPERATION = eINSTANCE.getBooleanOperation(); + + } + +} //MyDslPackage diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Power.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Power.java new file mode 100644 index 0000000000000000000000000000000000000000..6be0fe8d100b7af46d988b54d7d9c03a5d44a27b --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Power.java @@ -0,0 +1,77 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Power</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.Power#getBase <em>Base</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.Power#getExponent <em>Exponent</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getPower() + * @model + * @generated + */ +public interface Power extends Expression +{ + /** + * Returns the value of the '<em><b>Base</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Base</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Base</em>' containment reference. + * @see #setBase(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getPower_Base() + * @model containment="true" + * @generated + */ + Expression getBase(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Power#getBase <em>Base</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Base</em>' containment reference. + * @see #getBase() + * @generated + */ + void setBase(Expression value); + + /** + * Returns the value of the '<em><b>Exponent</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Exponent</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Exponent</em>' containment reference. + * @see #setExponent(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getPower_Exponent() + * @model containment="true" + * @generated + */ + Expression getExponent(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Power#getExponent <em>Exponent</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Exponent</em>' containment reference. + * @see #getExponent() + * @generated + */ + void setExponent(Expression value); + +} // Power diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Product.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Product.java new file mode 100644 index 0000000000000000000000000000000000000000..5bf2f6327b71386d5d3520bb35656d87513cdbfa --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Product.java @@ -0,0 +1,107 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Product</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.Product#getLeft <em>Left</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.Product#getOperation <em>Operation</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.Product#getRight <em>Right</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProduct() + * @model + * @generated + */ +public interface Product extends Expression +{ + /** + * Returns the value of the '<em><b>Left</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Left</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Left</em>' containment reference. + * @see #setLeft(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProduct_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Product#getLeft <em>Left</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Left</em>' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the '<em><b>Operation</b></em>' attribute. + * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.ProductOperation}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Operation</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Operation</em>' attribute. + * @see org.xtext.example.mydsl.myDsl.ProductOperation + * @see #setOperation(ProductOperation) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProduct_Operation() + * @model + * @generated + */ + ProductOperation getOperation(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Product#getOperation <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Operation</em>' attribute. + * @see org.xtext.example.mydsl.myDsl.ProductOperation + * @see #getOperation() + * @generated + */ + void setOperation(ProductOperation value); + + /** + * Returns the value of the '<em><b>Right</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Right</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Right</em>' containment reference. + * @see #setRight(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProduct_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Product#getRight <em>Right</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Right</em>' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Product diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/ProductOperation.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/ProductOperation.java new file mode 100644 index 0000000000000000000000000000000000000000..ca0479d13eb2e6a9770e26d86bdf8f6df41d182b --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/ProductOperation.java @@ -0,0 +1,250 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Product Operation</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getProductOperation() + * @model + * @generated + */ +public enum ProductOperation implements Enumerator +{ + /** + * The '<em><b>MULT</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #MULT_VALUE + * @generated + * @ordered + */ + MULT(0, "MULT", "*"), + + /** + * The '<em><b>DIV</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #DIV_VALUE + * @generated + * @ordered + */ + DIV(1, "DIV", "/"), + + /** + * The '<em><b>MOD</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #MOD_VALUE + * @generated + * @ordered + */ + MOD(2, "MOD", "%"); + + /** + * The '<em><b>MULT</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>MULT</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #MULT + * @model literal="*" + * @generated + * @ordered + */ + public static final int MULT_VALUE = 0; + + /** + * The '<em><b>DIV</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>DIV</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #DIV + * @model literal="/" + * @generated + * @ordered + */ + public static final int DIV_VALUE = 1; + + /** + * The '<em><b>MOD</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>MOD</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #MOD + * @model literal="%" + * @generated + * @ordered + */ + public static final int MOD_VALUE = 2; + + /** + * An array of all the '<em><b>Product Operation</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final ProductOperation[] VALUES_ARRAY = + new ProductOperation[] + { + MULT, + DIV, + MOD, + }; + + /** + * A public read-only list of all the '<em><b>Product Operation</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<ProductOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Product Operation</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static ProductOperation get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + ProductOperation result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Product Operation</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static ProductOperation getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + ProductOperation result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Product Operation</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static ProductOperation get(int value) + { + switch (value) + { + case MULT_VALUE: return MULT; + case DIV_VALUE: return DIV; + case MOD_VALUE: return MOD; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private ProductOperation(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //ProductOperation diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Term.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Term.java index 22909702e72de35c179e57364f7e1c072f5fe670..3c6a9ce590a8056f8a448adb17801acb5859f15c 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Term.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Term.java @@ -1,104 +1,107 @@ -/** - */ -package org.xtext.example.mydsl.myDsl; - - -/** - * <!-- begin-user-doc --> - * A representation of the model object '<em><b>Term</b></em>'. - * <!-- end-user-doc --> - * - * <p> - * The following features are supported: - * <ul> - * <li>{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}</li> - * <li>{@link org.xtext.example.mydsl.myDsl.Term#getOperations <em>Operations</em>}</li> - * <li>{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}</li> - * </ul> - * </p> - * - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm() - * @model - * @generated - */ -public interface Term extends Expression -{ - /** - * Returns the value of the '<em><b>Left</b></em>' containment reference. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Left</em>' containment reference isn't clear, - * there really should be more of a description here... - * </p> - * <!-- end-user-doc --> - * @return the value of the '<em>Left</em>' containment reference. - * @see #setLeft(Expression) - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Left() - * @model containment="true" - * @generated - */ - Expression getLeft(); - - /** - * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Left</em>' containment reference. - * @see #getLeft() - * @generated - */ - void setLeft(Expression value); - - /** - * Returns the value of the '<em><b>Operations</b></em>' containment reference. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Operations</em>' containment reference isn't clear, - * there really should be more of a description here... - * </p> - * <!-- end-user-doc --> - * @return the value of the '<em>Operations</em>' containment reference. - * @see #setOperations(Expression) - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Operations() - * @model containment="true" - * @generated - */ - Expression getOperations(); - - /** - * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getOperations <em>Operations</em>}' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Operations</em>' containment reference. - * @see #getOperations() - * @generated - */ - void setOperations(Expression value); - - /** - * Returns the value of the '<em><b>Right</b></em>' containment reference. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Right</em>' containment reference isn't clear, - * there really should be more of a description here... - * </p> - * <!-- end-user-doc --> - * @return the value of the '<em>Right</em>' containment reference. - * @see #setRight(Expression) - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Right() - * @model containment="true" - * @generated - */ - Expression getRight(); - - /** - * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Right</em>' containment reference. - * @see #getRight() - * @generated - */ - void setRight(Expression value); - -} // Term +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Term</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.Term#getOperation <em>Operation</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm() + * @model + * @generated + */ +public interface Term extends Expression +{ + /** + * Returns the value of the '<em><b>Left</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Left</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Left</em>' containment reference. + * @see #setLeft(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getLeft <em>Left</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Left</em>' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the '<em><b>Operation</b></em>' attribute. + * The literals are from the enumeration {@link org.xtext.example.mydsl.myDsl.TermOperation}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Operation</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Operation</em>' attribute. + * @see org.xtext.example.mydsl.myDsl.TermOperation + * @see #setOperation(TermOperation) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Operation() + * @model + * @generated + */ + TermOperation getOperation(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getOperation <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Operation</em>' attribute. + * @see org.xtext.example.mydsl.myDsl.TermOperation + * @see #getOperation() + * @generated + */ + void setOperation(TermOperation value); + + /** + * Returns the value of the '<em><b>Right</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Right</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Right</em>' containment reference. + * @see #setRight(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTerm_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.Term#getRight <em>Right</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Right</em>' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Term diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/TermOperation.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/TermOperation.java new file mode 100644 index 0000000000000000000000000000000000000000..69c9b4c975351c88b6aeed319db3254e022e064e --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/TermOperation.java @@ -0,0 +1,223 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Term Operation</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getTermOperation() + * @model + * @generated + */ +public enum TermOperation implements Enumerator +{ + /** + * The '<em><b>ADD</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #ADD_VALUE + * @generated + * @ordered + */ + ADD(0, "ADD", "+"), + + /** + * The '<em><b>SUB</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #SUB_VALUE + * @generated + * @ordered + */ + SUB(1, "SUB", "-"); + + /** + * The '<em><b>ADD</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>ADD</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #ADD + * @model literal="+" + * @generated + * @ordered + */ + public static final int ADD_VALUE = 0; + + /** + * The '<em><b>SUB</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>SUB</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #SUB + * @model literal="-" + * @generated + * @ordered + */ + public static final int SUB_VALUE = 1; + + /** + * An array of all the '<em><b>Term Operation</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final TermOperation[] VALUES_ARRAY = + new TermOperation[] + { + ADD, + SUB, + }; + + /** + * A public read-only list of all the '<em><b>Term Operation</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<TermOperation> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Term Operation</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static TermOperation get(String literal) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + TermOperation result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Term Operation</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static TermOperation getByName(String name) + { + for (int i = 0; i < VALUES_ARRAY.length; ++i) + { + TermOperation result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) + { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Term Operation</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static TermOperation get(int value) + { + switch (value) + { + case ADD_VALUE: return ADD; + case SUB_VALUE: return SUB; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private TermOperation(int value, String name, String literal) + { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() + { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + return literal; + } + +} //TermOperation diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/UnaryBooleanExpression.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/UnaryBooleanExpression.java new file mode 100644 index 0000000000000000000000000000000000000000..38ffd6e6dbe1966279206cfcc984c41eb7ca5bc4 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/UnaryBooleanExpression.java @@ -0,0 +1,50 @@ +/** + */ +package org.xtext.example.mydsl.myDsl; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Unary Boolean Expression</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression#getInner <em>Inner</em>}</li> + * </ul> + * </p> + * + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getUnaryBooleanExpression() + * @model + * @generated + */ +public interface UnaryBooleanExpression extends Expression +{ + /** + * Returns the value of the '<em><b>Inner</b></em>' containment reference. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Inner</em>' containment reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Inner</em>' containment reference. + * @see #setInner(Expression) + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#getUnaryBooleanExpression_Inner() + * @model containment="true" + * @generated + */ + Expression getInner(); + + /** + * Sets the value of the '{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression#getInner <em>Inner</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Inner</em>' containment reference. + * @see #getInner() + * @generated + */ + void setInner(Expression value); + +} // UnaryBooleanExpression diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BinaryBooleanExpressionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BinaryBooleanExpressionImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..14ecb1af4ee797ecb099fbe118e558f486f11b10 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BinaryBooleanExpressionImpl.java @@ -0,0 +1,336 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.BinaryBooleanExpression; +import org.xtext.example.mydsl.myDsl.BooleanOperation; +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Binary Boolean Expression</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl#getLeft <em>Left</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl#getOperation <em>Operation</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.BinaryBooleanExpressionImpl#getRight <em>Right</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class BinaryBooleanExpressionImpl extends ExpressionImpl implements BinaryBooleanExpression +{ + /** + * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperation() + * @generated + * @ordered + */ + protected static final BooleanOperation OPERATION_EDEFAULT = BooleanOperation.AND; + + /** + * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperation() + * @generated + * @ordered + */ + protected BooleanOperation operation = OPERATION_EDEFAULT; + + /** + * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected BinaryBooleanExpressionImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT, newLeft, newLeft)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BooleanOperation getOperation() + { + return operation; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOperation(BooleanOperation newOperation) + { + BooleanOperation oldOperation = operation; + operation = newOperation == null ? OPERATION_EDEFAULT : newOperation; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION, oldOperation, operation)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT, newRight, newRight)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT: + return basicSetLeft(null, msgs); + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT: + return getLeft(); + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION: + return getOperation(); + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT: + setLeft((Expression)newValue); + return; + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION: + setOperation((BooleanOperation)newValue); + return; + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT: + setLeft((Expression)null); + return; + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION: + setOperation(OPERATION_EDEFAULT); + return; + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__LEFT: + return left != null; + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION: + return operation != OPERATION_EDEFAULT; + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (operation: "); + result.append(operation); + result.append(')'); + return result.toString(); + } + +} //BinaryBooleanExpressionImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BooleanLiteralImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BooleanLiteralImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..3d2f553a42c1029b6724a796ebd962e8f2996dfd --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/BooleanLiteralImpl.java @@ -0,0 +1,176 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.BooleanLiteral; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Boolean Literal</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.BooleanLiteralImpl#isValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class BooleanLiteralImpl extends ExpressionImpl implements BooleanLiteral +{ + /** + * The default value of the '{@link #isValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isValue() + * @generated + * @ordered + */ + protected static final boolean VALUE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isValue() + * @generated + * @ordered + */ + protected boolean value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected BooleanLiteralImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.BOOLEAN_LITERAL; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(boolean newValue) + { + boolean oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.BOOLEAN_LITERAL__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.BOOLEAN_LITERAL__VALUE: + return isValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.BOOLEAN_LITERAL__VALUE: + setValue((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.BOOLEAN_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.BOOLEAN_LITERAL__VALUE: + return value != VALUE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //BooleanLiteralImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ComparisonImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ComparisonImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..c9e1700476affd5cd1cdb1f541c409f472b7e127 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ComparisonImpl.java @@ -0,0 +1,336 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.CompareOperation; +import org.xtext.example.mydsl.myDsl.Comparison; +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Comparison</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl#getLeft <em>Left</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl#getOperation <em>Operation</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.ComparisonImpl#getRight <em>Right</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class ComparisonImpl extends ExpressionImpl implements Comparison +{ + /** + * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperation() + * @generated + * @ordered + */ + protected static final CompareOperation OPERATION_EDEFAULT = CompareOperation.GREATER; + + /** + * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperation() + * @generated + * @ordered + */ + protected CompareOperation operation = OPERATION_EDEFAULT; + + /** + * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ComparisonImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.COMPARISON; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.COMPARISON__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.COMPARISON__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__LEFT, newLeft, newLeft)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CompareOperation getOperation() + { + return operation; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOperation(CompareOperation newOperation) + { + CompareOperation oldOperation = operation; + operation = newOperation == null ? OPERATION_EDEFAULT : newOperation; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__OPERATION, oldOperation, operation)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.COMPARISON__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.COMPARISON__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.COMPARISON__RIGHT, newRight, newRight)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.COMPARISON__LEFT: + return basicSetLeft(null, msgs); + case MyDslPackage.COMPARISON__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.COMPARISON__LEFT: + return getLeft(); + case MyDslPackage.COMPARISON__OPERATION: + return getOperation(); + case MyDslPackage.COMPARISON__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.COMPARISON__LEFT: + setLeft((Expression)newValue); + return; + case MyDslPackage.COMPARISON__OPERATION: + setOperation((CompareOperation)newValue); + return; + case MyDslPackage.COMPARISON__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.COMPARISON__LEFT: + setLeft((Expression)null); + return; + case MyDslPackage.COMPARISON__OPERATION: + setOperation(OPERATION_EDEFAULT); + return; + case MyDslPackage.COMPARISON__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.COMPARISON__LEFT: + return left != null; + case MyDslPackage.COMPARISON__OPERATION: + return operation != OPERATION_EDEFAULT; + case MyDslPackage.COMPARISON__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (operation: "); + result.append(operation); + result.append(')'); + return result.toString(); + } + +} //ComparisonImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/DoubleLiteralImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/DoubleLiteralImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..7e1b280a5e55a1a178cc7d2f069fcf03179b44f0 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/DoubleLiteralImpl.java @@ -0,0 +1,178 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import java.math.BigDecimal; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.DoubleLiteral; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Double Literal</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.DoubleLiteralImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class DoubleLiteralImpl extends ExpressionImpl implements DoubleLiteral +{ + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final BigDecimal VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected BigDecimal value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected DoubleLiteralImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.DOUBLE_LITERAL; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigDecimal getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(BigDecimal newValue) + { + BigDecimal oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.DOUBLE_LITERAL__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.DOUBLE_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.DOUBLE_LITERAL__VALUE: + setValue((BigDecimal)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.DOUBLE_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.DOUBLE_LITERAL__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //DoubleLiteralImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ExpressionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ExpressionImpl.java index c842c14483e5a09d8a1bb8cc70991d96128b3bc3..ef10b4be481eb56853dd9155f4fd38a0b978e799 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ExpressionImpl.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ExpressionImpl.java @@ -1,178 +1,44 @@ -/** - */ -package org.xtext.example.mydsl.myDsl.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.xtext.example.mydsl.myDsl.Expression; -import org.xtext.example.mydsl.myDsl.MyDslPackage; -import org.xtext.example.mydsl.myDsl.OperationsType; - -/** - * <!-- begin-user-doc --> - * An implementation of the model object '<em><b>Expression</b></em>'. - * <!-- end-user-doc --> - * <p> - * The following features are implemented: - * <ul> - * <li>{@link org.xtext.example.mydsl.myDsl.impl.ExpressionImpl#getTermOperations <em>Term Operations</em>}</li> - * </ul> - * </p> - * - * @generated - */ -public class ExpressionImpl extends MinimalEObjectImpl.Container implements Expression -{ - /** - * The default value of the '{@link #getTermOperations() <em>Term Operations</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getTermOperations() - * @generated - * @ordered - */ - protected static final OperationsType TERM_OPERATIONS_EDEFAULT = OperationsType.ADD; - - /** - * The cached value of the '{@link #getTermOperations() <em>Term Operations</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getTermOperations() - * @generated - * @ordered - */ - protected OperationsType termOperations = TERM_OPERATIONS_EDEFAULT; - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected ExpressionImpl() - { - super(); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - protected EClass eStaticClass() - { - return MyDslPackage.Literals.EXPRESSION; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public OperationsType getTermOperations() - { - return termOperations; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public void setTermOperations(OperationsType newTermOperations) - { - OperationsType oldTermOperations = termOperations; - termOperations = newTermOperations == null ? TERM_OPERATIONS_EDEFAULT : newTermOperations; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.EXPRESSION__TERM_OPERATIONS, oldTermOperations, termOperations)); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case MyDslPackage.EXPRESSION__TERM_OPERATIONS: - return getTermOperations(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case MyDslPackage.EXPRESSION__TERM_OPERATIONS: - setTermOperations((OperationsType)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case MyDslPackage.EXPRESSION__TERM_OPERATIONS: - setTermOperations(TERM_OPERATIONS_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case MyDslPackage.EXPRESSION__TERM_OPERATIONS: - return termOperations != TERM_OPERATIONS_EDEFAULT; - } - return super.eIsSet(featureID); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String toString() - { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (termOperations: "); - result.append(termOperations); - result.append(')'); - return result.toString(); - } - -} //ExpressionImpl +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Expression</b></em>'. + * <!-- end-user-doc --> + * <p> + * </p> + * + * @generated + */ +public class ExpressionImpl extends MinimalEObjectImpl.Container implements Expression +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ExpressionImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.EXPRESSION; + } + +} //ExpressionImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FormalParameterImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FormalParameterImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..72df4e25535e3c9dbf39b86b4095ea5cbf1071a8 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FormalParameterImpl.java @@ -0,0 +1,176 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.FormalParameter; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Formal Parameter</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.FormalParameterImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FormalParameterImpl extends ExpressionImpl implements FormalParameter +{ + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final String VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected String value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FormalParameterImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.FORMAL_PARAMETER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(String newValue) + { + String oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.FORMAL_PARAMETER__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.FORMAL_PARAMETER__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.FORMAL_PARAMETER__VALUE: + setValue((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.FORMAL_PARAMETER__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.FORMAL_PARAMETER__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //FormalParameterImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FunctionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FunctionImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..7b2393681dfe062d1ca587b1e7023d9723d356ae --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/FunctionImpl.java @@ -0,0 +1,239 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.Function; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Function</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.FunctionImpl#getName <em>Name</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.FunctionImpl#getParameters <em>Parameters</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class FunctionImpl extends ExpressionImpl implements Function +{ + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getParameters() + * @generated + * @ordered + */ + protected EList<Expression> parameters; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FunctionImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.FUNCTION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.FUNCTION__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EList<Expression> getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList<Expression>(Expression.class, this, MyDslPackage.FUNCTION__PARAMETERS); + } + return parameters; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.FUNCTION__PARAMETERS: + return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.FUNCTION__NAME: + return getName(); + case MyDslPackage.FUNCTION__PARAMETERS: + return getParameters(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.FUNCTION__NAME: + setName((String)newValue); + return; + case MyDslPackage.FUNCTION__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection<? extends Expression>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.FUNCTION__NAME: + setName(NAME_EDEFAULT); + return; + case MyDslPackage.FUNCTION__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.FUNCTION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case MyDslPackage.FUNCTION__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //FunctionImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IfElseExpressionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IfElseExpressionImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..87ec0fd4c41f3430d7b0200775a0c0b8597104de --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IfElseExpressionImpl.java @@ -0,0 +1,335 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.IfElseExpression; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>If Else Expression</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl#getCondition <em>Condition</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl#getTrueExp <em>True Exp</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.IfElseExpressionImpl#getFalseExp <em>False Exp</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class IfElseExpressionImpl extends ExpressionImpl implements IfElseExpression +{ + /** + * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * The cached value of the '{@link #getTrueExp() <em>True Exp</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTrueExp() + * @generated + * @ordered + */ + protected Expression trueExp; + + /** + * The cached value of the '{@link #getFalseExp() <em>False Exp</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFalseExp() + * @generated + * @ordered + */ + protected Expression falseExp; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IfElseExpressionImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.IF_ELSE_EXPRESSION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getCondition() + { + return condition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__CONDITION, newCondition, newCondition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getTrueExp() + { + return trueExp; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetTrueExp(Expression newTrueExp, NotificationChain msgs) + { + Expression oldTrueExp = trueExp; + trueExp = newTrueExp; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP, oldTrueExp, newTrueExp); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTrueExp(Expression newTrueExp) + { + if (newTrueExp != trueExp) + { + NotificationChain msgs = null; + if (trueExp != null) + msgs = ((InternalEObject)trueExp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP, null, msgs); + if (newTrueExp != null) + msgs = ((InternalEObject)newTrueExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP, null, msgs); + msgs = basicSetTrueExp(newTrueExp, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP, newTrueExp, newTrueExp)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getFalseExp() + { + return falseExp; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetFalseExp(Expression newFalseExp, NotificationChain msgs) + { + Expression oldFalseExp = falseExp; + falseExp = newFalseExp; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP, oldFalseExp, newFalseExp); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setFalseExp(Expression newFalseExp) + { + if (newFalseExp != falseExp) + { + NotificationChain msgs = null; + if (falseExp != null) + msgs = ((InternalEObject)falseExp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP, null, msgs); + if (newFalseExp != null) + msgs = ((InternalEObject)newFalseExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP, null, msgs); + msgs = basicSetFalseExp(newFalseExp, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP, newFalseExp, newFalseExp)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION: + return basicSetCondition(null, msgs); + case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP: + return basicSetTrueExp(null, msgs); + case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP: + return basicSetFalseExp(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION: + return getCondition(); + case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP: + return getTrueExp(); + case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP: + return getFalseExp(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION: + setCondition((Expression)newValue); + return; + case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP: + setTrueExp((Expression)newValue); + return; + case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP: + setFalseExp((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION: + setCondition((Expression)null); + return; + case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP: + setTrueExp((Expression)null); + return; + case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP: + setFalseExp((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.IF_ELSE_EXPRESSION__CONDITION: + return condition != null; + case MyDslPackage.IF_ELSE_EXPRESSION__TRUE_EXP: + return trueExp != null; + case MyDslPackage.IF_ELSE_EXPRESSION__FALSE_EXP: + return falseExp != null; + } + return super.eIsSet(featureID); + } + +} //IfElseExpressionImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IntLiteralImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IntLiteralImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..d4aa2b01474dfcb40acdb766c40047db6d2d7a21 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/IntLiteralImpl.java @@ -0,0 +1,178 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import java.math.BigInteger; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.IntLiteral; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Int Literal</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.IntLiteralImpl#getValue <em>Value</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class IntLiteralImpl extends ExpressionImpl implements IntLiteral +{ + /** + * The default value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected static final BigInteger VALUE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getValue() + * @generated + * @ordered + */ + protected BigInteger value = VALUE_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected IntLiteralImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.INT_LITERAL; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BigInteger getValue() + { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setValue(BigInteger newValue) + { + BigInteger oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.INT_LITERAL__VALUE, oldValue, value)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.INT_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.INT_LITERAL__VALUE: + setValue((BigInteger)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.INT_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.INT_LITERAL__VALUE: + return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //IntLiteralImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ModelImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ModelImpl.java index 285e692f908e166bf05aedccb76b0dccd16f1326..749d1b592190bf6a161d703adc04936599c6282d 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ModelImpl.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ModelImpl.java @@ -1,167 +1,194 @@ -/** - */ -package org.xtext.example.mydsl.myDsl.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.xtext.example.mydsl.myDsl.Expression; -import org.xtext.example.mydsl.myDsl.Model; -import org.xtext.example.mydsl.myDsl.MyDslPackage; - -/** - * <!-- begin-user-doc --> - * An implementation of the model object '<em><b>Model</b></em>'. - * <!-- end-user-doc --> - * <p> - * The following features are implemented: - * <ul> - * <li>{@link org.xtext.example.mydsl.myDsl.impl.ModelImpl#getTerms <em>Terms</em>}</li> - * </ul> - * </p> - * - * @generated - */ -public class ModelImpl extends MinimalEObjectImpl.Container implements Model -{ - /** - * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference list. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getTerms() - * @generated - * @ordered - */ - protected EList<Expression> terms; - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected ModelImpl() - { - super(); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - protected EClass eStaticClass() - { - return MyDslPackage.Literals.MODEL; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EList<Expression> getTerms() - { - if (terms == null) - { - terms = new EObjectContainmentEList<Expression>(Expression.class, this, MyDslPackage.MODEL__TERMS); - } - return terms; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case MyDslPackage.MODEL__TERMS: - return ((InternalEList<?>)getTerms()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case MyDslPackage.MODEL__TERMS: - return getTerms(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case MyDslPackage.MODEL__TERMS: - getTerms().clear(); - getTerms().addAll((Collection<? extends Expression>)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case MyDslPackage.MODEL__TERMS: - getTerms().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case MyDslPackage.MODEL__TERMS: - return terms != null && !terms.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //ModelImpl +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.Model; +import org.xtext.example.mydsl.myDsl.MyDslPackage; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Model</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.ModelImpl#getTerms <em>Terms</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class ModelImpl extends MinimalEObjectImpl.Container implements Model +{ + /** + * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getTerms() + * @generated + * @ordered + */ + protected Expression terms; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ModelImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.MODEL; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getTerms() + { + return terms; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetTerms(Expression newTerms, NotificationChain msgs) + { + Expression oldTerms = terms; + terms = newTerms; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.MODEL__TERMS, oldTerms, newTerms); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setTerms(Expression newTerms) + { + if (newTerms != terms) + { + NotificationChain msgs = null; + if (terms != null) + msgs = ((InternalEObject)terms).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.MODEL__TERMS, null, msgs); + if (newTerms != null) + msgs = ((InternalEObject)newTerms).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.MODEL__TERMS, null, msgs); + msgs = basicSetTerms(newTerms, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.MODEL__TERMS, newTerms, newTerms)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.MODEL__TERMS: + return basicSetTerms(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.MODEL__TERMS: + return getTerms(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.MODEL__TERMS: + setTerms((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.MODEL__TERMS: + setTerms((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.MODEL__TERMS: + return terms != null; + } + return super.eIsSet(featureID); + } + +} //ModelImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslFactoryImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslFactoryImpl.java index 267411954d9783fe758ae7b6d488b33df2011faf..1818c9ad4917b01a774f5761a4a391dc50153b6b 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslFactoryImpl.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslFactoryImpl.java @@ -1,187 +1,397 @@ -/** - */ -package org.xtext.example.mydsl.myDsl.impl; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -import org.xtext.example.mydsl.myDsl.*; - -/** - * <!-- begin-user-doc --> - * An implementation of the model <b>Factory</b>. - * <!-- end-user-doc --> - * @generated - */ -public class MyDslFactoryImpl extends EFactoryImpl implements MyDslFactory -{ - /** - * Creates the default factory implementation. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public static MyDslFactory init() - { - try - { - MyDslFactory theMyDslFactory = (MyDslFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.xtext.org/example/mydsl/MyDsl"); - if (theMyDslFactory != null) - { - return theMyDslFactory; - } - } - catch (Exception exception) - { - EcorePlugin.INSTANCE.log(exception); - } - return new MyDslFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public MyDslFactoryImpl() - { - super(); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public EObject create(EClass eClass) - { - switch (eClass.getClassifierID()) - { - case MyDslPackage.MODEL: return createModel(); - case MyDslPackage.EXPRESSION: return createExpression(); - case MyDslPackage.TERM: return createTerm(); - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Object createFromString(EDataType eDataType, String initialValue) - { - switch (eDataType.getClassifierID()) - { - case MyDslPackage.OPERATIONS_TYPE: - return createOperationsTypeFromString(eDataType, initialValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String convertToString(EDataType eDataType, Object instanceValue) - { - switch (eDataType.getClassifierID()) - { - case MyDslPackage.OPERATIONS_TYPE: - return convertOperationsTypeToString(eDataType, instanceValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public Model createModel() - { - ModelImpl model = new ModelImpl(); - return model; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public Expression createExpression() - { - ExpressionImpl expression = new ExpressionImpl(); - return expression; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public Term createTerm() - { - TermImpl term = new TermImpl(); - return term; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public OperationsType createOperationsTypeFromString(EDataType eDataType, String initialValue) - { - OperationsType result = OperationsType.get(initialValue); - if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public String convertOperationsTypeToString(EDataType eDataType, Object instanceValue) - { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public MyDslPackage getMyDslPackage() - { - return (MyDslPackage)getEPackage(); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @deprecated - * @generated - */ - @Deprecated - public static MyDslPackage getPackage() - { - return MyDslPackage.eINSTANCE; - } - -} //MyDslFactoryImpl +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import org.xtext.example.mydsl.myDsl.*; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class MyDslFactoryImpl extends EFactoryImpl implements MyDslFactory +{ + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static MyDslFactory init() + { + try + { + MyDslFactory theMyDslFactory = (MyDslFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.xtext.org/example/mydsl/MyDsl"); + if (theMyDslFactory != null) + { + return theMyDslFactory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new MyDslFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MyDslFactoryImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + case MyDslPackage.MODEL: return createModel(); + case MyDslPackage.EXPRESSION: return createExpression(); + case MyDslPackage.FUNCTION: return createFunction(); + case MyDslPackage.FORMAL_PARAMETER: return createFormalParameter(); + case MyDslPackage.BOOLEAN_LITERAL: return createBooleanLiteral(); + case MyDslPackage.INT_LITERAL: return createIntLiteral(); + case MyDslPackage.DOUBLE_LITERAL: return createDoubleLiteral(); + case MyDslPackage.IF_ELSE_EXPRESSION: return createIfElseExpression(); + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION: return createBinaryBooleanExpression(); + case MyDslPackage.UNARY_BOOLEAN_EXPRESSION: return createUnaryBooleanExpression(); + case MyDslPackage.COMPARISON: return createComparison(); + case MyDslPackage.TERM: return createTerm(); + case MyDslPackage.PRODUCT: return createProduct(); + case MyDslPackage.POWER: return createPower(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) + { + switch (eDataType.getClassifierID()) + { + case MyDslPackage.PRODUCT_OPERATION: + return createProductOperationFromString(eDataType, initialValue); + case MyDslPackage.TERM_OPERATION: + return createTermOperationFromString(eDataType, initialValue); + case MyDslPackage.COMPARE_OPERATION: + return createCompareOperationFromString(eDataType, initialValue); + case MyDslPackage.BOOLEAN_OPERATION: + return createBooleanOperationFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) + { + switch (eDataType.getClassifierID()) + { + case MyDslPackage.PRODUCT_OPERATION: + return convertProductOperationToString(eDataType, instanceValue); + case MyDslPackage.TERM_OPERATION: + return convertTermOperationToString(eDataType, instanceValue); + case MyDslPackage.COMPARE_OPERATION: + return convertCompareOperationToString(eDataType, instanceValue); + case MyDslPackage.BOOLEAN_OPERATION: + return convertBooleanOperationToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Model createModel() + { + ModelImpl model = new ModelImpl(); + return model; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression createExpression() + { + ExpressionImpl expression = new ExpressionImpl(); + return expression; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Function createFunction() + { + FunctionImpl function = new FunctionImpl(); + return function; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FormalParameter createFormalParameter() + { + FormalParameterImpl formalParameter = new FormalParameterImpl(); + return formalParameter; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BooleanLiteral createBooleanLiteral() + { + BooleanLiteralImpl booleanLiteral = new BooleanLiteralImpl(); + return booleanLiteral; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IntLiteral createIntLiteral() + { + IntLiteralImpl intLiteral = new IntLiteralImpl(); + return intLiteral; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public DoubleLiteral createDoubleLiteral() + { + DoubleLiteralImpl doubleLiteral = new DoubleLiteralImpl(); + return doubleLiteral; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public IfElseExpression createIfElseExpression() + { + IfElseExpressionImpl ifElseExpression = new IfElseExpressionImpl(); + return ifElseExpression; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BinaryBooleanExpression createBinaryBooleanExpression() + { + BinaryBooleanExpressionImpl binaryBooleanExpression = new BinaryBooleanExpressionImpl(); + return binaryBooleanExpression; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public UnaryBooleanExpression createUnaryBooleanExpression() + { + UnaryBooleanExpressionImpl unaryBooleanExpression = new UnaryBooleanExpressionImpl(); + return unaryBooleanExpression; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Comparison createComparison() + { + ComparisonImpl comparison = new ComparisonImpl(); + return comparison; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Term createTerm() + { + TermImpl term = new TermImpl(); + return term; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Product createProduct() + { + ProductImpl product = new ProductImpl(); + return product; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Power createPower() + { + PowerImpl power = new PowerImpl(); + return power; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ProductOperation createProductOperationFromString(EDataType eDataType, String initialValue) + { + ProductOperation result = ProductOperation.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertProductOperationToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TermOperation createTermOperationFromString(EDataType eDataType, String initialValue) + { + TermOperation result = TermOperation.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertTermOperationToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public CompareOperation createCompareOperationFromString(EDataType eDataType, String initialValue) + { + CompareOperation result = CompareOperation.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertCompareOperationToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public BooleanOperation createBooleanOperationFromString(EDataType eDataType, String initialValue) + { + BooleanOperation result = BooleanOperation.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String convertBooleanOperationToString(EDataType eDataType, Object instanceValue) + { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MyDslPackage getMyDslPackage() + { + return (MyDslPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static MyDslPackage getPackage() + { + return MyDslPackage.eINSTANCE; + } + +} //MyDslFactoryImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslPackageImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslPackageImpl.java index 43380a7b29b982db35e51487213518f65773be5e..c2424078d4b8d0645d1d572d56959078a2bf4849 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslPackageImpl.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslPackageImpl.java @@ -1,318 +1,874 @@ -/** - */ -package org.xtext.example.mydsl.myDsl.impl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -import org.xtext.example.mydsl.myDsl.Expression; -import org.xtext.example.mydsl.myDsl.Model; -import org.xtext.example.mydsl.myDsl.MyDslFactory; -import org.xtext.example.mydsl.myDsl.MyDslPackage; -import org.xtext.example.mydsl.myDsl.OperationsType; -import org.xtext.example.mydsl.myDsl.Term; - -/** - * <!-- begin-user-doc --> - * An implementation of the model <b>Package</b>. - * <!-- end-user-doc --> - * @generated - */ -public class MyDslPackageImpl extends EPackageImpl implements MyDslPackage -{ - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - private EClass modelEClass = null; - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - private EClass expressionEClass = null; - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - private EClass termEClass = null; - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - private EEnum operationsTypeEEnum = null; - - /** - * Creates an instance of the model <b>Package</b>, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - * <p>Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see org.xtext.example.mydsl.myDsl.MyDslPackage#eNS_URI - * @see #init() - * @generated - */ - private MyDslPackageImpl() - { - super(eNS_URI, MyDslFactory.eINSTANCE); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. - * - * <p>This method is used to initialize {@link MyDslPackage#eINSTANCE} when that field is accessed. - * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static MyDslPackage init() - { - if (isInited) return (MyDslPackage)EPackage.Registry.INSTANCE.getEPackage(MyDslPackage.eNS_URI); - - // Obtain or create and register package - MyDslPackageImpl theMyDslPackage = (MyDslPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MyDslPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MyDslPackageImpl()); - - isInited = true; - - // Create package meta-data objects - theMyDslPackage.createPackageContents(); - - // Initialize created meta-data - theMyDslPackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theMyDslPackage.freeze(); - - - // Update the registry and return the package - EPackage.Registry.INSTANCE.put(MyDslPackage.eNS_URI, theMyDslPackage); - return theMyDslPackage; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EClass getModel() - { - return modelEClass; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EReference getModel_Terms() - { - return (EReference)modelEClass.getEStructuralFeatures().get(0); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EClass getExpression() - { - return expressionEClass; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EAttribute getExpression_TermOperations() - { - return (EAttribute)expressionEClass.getEStructuralFeatures().get(0); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EClass getTerm() - { - return termEClass; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EReference getTerm_Left() - { - return (EReference)termEClass.getEStructuralFeatures().get(0); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EReference getTerm_Operations() - { - return (EReference)termEClass.getEStructuralFeatures().get(1); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EReference getTerm_Right() - { - return (EReference)termEClass.getEStructuralFeatures().get(2); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public EEnum getOperationsType() - { - return operationsTypeEEnum; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public MyDslFactory getMyDslFactory() - { - return (MyDslFactory)getEFactoryInstance(); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public void createPackageContents() - { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - modelEClass = createEClass(MODEL); - createEReference(modelEClass, MODEL__TERMS); - - expressionEClass = createEClass(EXPRESSION); - createEAttribute(expressionEClass, EXPRESSION__TERM_OPERATIONS); - - termEClass = createEClass(TERM); - createEReference(termEClass, TERM__LEFT); - createEReference(termEClass, TERM__OPERATIONS); - createEReference(termEClass, TERM__RIGHT); - - // Create enums - operationsTypeEEnum = createEEnum(OPERATIONS_TYPE); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public void initializePackageContents() - { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Create type parameters - - // Set bounds for type parameters - - // Add supertypes to classes - termEClass.getESuperTypes().add(this.getExpression()); - - // Initialize classes and features; add operations and parameters - initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getModel_Terms(), this.getExpression(), null, "terms", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getExpression_TermOperations(), this.getOperationsType(), "termOperations", null, 0, 1, Expression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(termEClass, Term.class, "Term", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getTerm_Left(), this.getExpression(), null, "left", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getTerm_Operations(), this.getExpression(), null, "Operations", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getTerm_Right(), this.getExpression(), null, "right", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - // Initialize enums and add enum literals - initEEnum(operationsTypeEEnum, OperationsType.class, "OperationsType"); - addEEnumLiteral(operationsTypeEEnum, OperationsType.ADD); - addEEnumLiteral(operationsTypeEEnum, OperationsType.SUB); - addEEnumLiteral(operationsTypeEEnum, OperationsType.MULT); - addEEnumLiteral(operationsTypeEEnum, OperationsType.DIV); - addEEnumLiteral(operationsTypeEEnum, OperationsType.MOD); - addEEnumLiteral(operationsTypeEEnum, OperationsType.GREATER); - addEEnumLiteral(operationsTypeEEnum, OperationsType.LESS); - addEEnumLiteral(operationsTypeEEnum, OperationsType.EQUALS); - addEEnumLiteral(operationsTypeEEnum, OperationsType.NOTEQUAL); - addEEnumLiteral(operationsTypeEEnum, OperationsType.LESSEQUAL); - addEEnumLiteral(operationsTypeEEnum, OperationsType.GREATEREQUAL); - addEEnumLiteral(operationsTypeEEnum, OperationsType.AND); - addEEnumLiteral(operationsTypeEEnum, OperationsType.OR); - addEEnumLiteral(operationsTypeEEnum, OperationsType.XOR); - - // Create resource - createResource(eNS_URI); - } - -} //MyDslPackageImpl +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import org.xtext.example.mydsl.myDsl.BinaryBooleanExpression; +import org.xtext.example.mydsl.myDsl.BooleanLiteral; +import org.xtext.example.mydsl.myDsl.BooleanOperation; +import org.xtext.example.mydsl.myDsl.CompareOperation; +import org.xtext.example.mydsl.myDsl.Comparison; +import org.xtext.example.mydsl.myDsl.DoubleLiteral; +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.FormalParameter; +import org.xtext.example.mydsl.myDsl.Function; +import org.xtext.example.mydsl.myDsl.IfElseExpression; +import org.xtext.example.mydsl.myDsl.IntLiteral; +import org.xtext.example.mydsl.myDsl.Model; +import org.xtext.example.mydsl.myDsl.MyDslFactory; +import org.xtext.example.mydsl.myDsl.MyDslPackage; +import org.xtext.example.mydsl.myDsl.Power; +import org.xtext.example.mydsl.myDsl.Product; +import org.xtext.example.mydsl.myDsl.ProductOperation; +import org.xtext.example.mydsl.myDsl.Term; +import org.xtext.example.mydsl.myDsl.TermOperation; +import org.xtext.example.mydsl.myDsl.UnaryBooleanExpression; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class MyDslPackageImpl extends EPackageImpl implements MyDslPackage +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass modelEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass expressionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass functionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass formalParameterEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass booleanLiteralEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass intLiteralEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass doubleLiteralEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass ifElseExpressionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass binaryBooleanExpressionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass unaryBooleanExpressionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass comparisonEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass termEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass productEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass powerEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum productOperationEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum termOperationEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum compareOperationEEnum = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EEnum booleanOperationEEnum = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.xtext.example.mydsl.myDsl.MyDslPackage#eNS_URI + * @see #init() + * @generated + */ + private MyDslPackageImpl() + { + super(eNS_URI, MyDslFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link MyDslPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static MyDslPackage init() + { + if (isInited) return (MyDslPackage)EPackage.Registry.INSTANCE.getEPackage(MyDslPackage.eNS_URI); + + // Obtain or create and register package + MyDslPackageImpl theMyDslPackage = (MyDslPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MyDslPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MyDslPackageImpl()); + + isInited = true; + + // Create package meta-data objects + theMyDslPackage.createPackageContents(); + + // Initialize created meta-data + theMyDslPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theMyDslPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(MyDslPackage.eNS_URI, theMyDslPackage); + return theMyDslPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getModel() + { + return modelEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getModel_Terms() + { + return (EReference)modelEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getExpression() + { + return expressionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFunction() + { + return functionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFunction_Name() + { + return (EAttribute)functionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getFunction_Parameters() + { + return (EReference)functionEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getFormalParameter() + { + return formalParameterEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getFormalParameter_Value() + { + return (EAttribute)formalParameterEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getBooleanLiteral() + { + return booleanLiteralEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getBooleanLiteral_Value() + { + return (EAttribute)booleanLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getIntLiteral() + { + return intLiteralEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getIntLiteral_Value() + { + return (EAttribute)intLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getDoubleLiteral() + { + return doubleLiteralEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getDoubleLiteral_Value() + { + return (EAttribute)doubleLiteralEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getIfElseExpression() + { + return ifElseExpressionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getIfElseExpression_Condition() + { + return (EReference)ifElseExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getIfElseExpression_TrueExp() + { + return (EReference)ifElseExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getIfElseExpression_FalseExp() + { + return (EReference)ifElseExpressionEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getBinaryBooleanExpression() + { + return binaryBooleanExpressionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getBinaryBooleanExpression_Left() + { + return (EReference)binaryBooleanExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getBinaryBooleanExpression_Operation() + { + return (EAttribute)binaryBooleanExpressionEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getBinaryBooleanExpression_Right() + { + return (EReference)binaryBooleanExpressionEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getUnaryBooleanExpression() + { + return unaryBooleanExpressionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getUnaryBooleanExpression_Inner() + { + return (EReference)unaryBooleanExpressionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getComparison() + { + return comparisonEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getComparison_Left() + { + return (EReference)comparisonEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getComparison_Operation() + { + return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getComparison_Right() + { + return (EReference)comparisonEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getTerm() + { + return termEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTerm_Left() + { + return (EReference)termEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getTerm_Operation() + { + return (EAttribute)termEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getTerm_Right() + { + return (EReference)termEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getProduct() + { + return productEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getProduct_Left() + { + return (EReference)productEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EAttribute getProduct_Operation() + { + return (EAttribute)productEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getProduct_Right() + { + return (EReference)productEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EClass getPower() + { + return powerEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getPower_Base() + { + return (EReference)powerEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getPower_Exponent() + { + return (EReference)powerEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getProductOperation() + { + return productOperationEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getTermOperation() + { + return termOperationEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getCompareOperation() + { + return compareOperationEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EEnum getBooleanOperation() + { + return booleanOperationEEnum; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MyDslFactory getMyDslFactory() + { + return (MyDslFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + modelEClass = createEClass(MODEL); + createEReference(modelEClass, MODEL__TERMS); + + expressionEClass = createEClass(EXPRESSION); + + functionEClass = createEClass(FUNCTION); + createEAttribute(functionEClass, FUNCTION__NAME); + createEReference(functionEClass, FUNCTION__PARAMETERS); + + formalParameterEClass = createEClass(FORMAL_PARAMETER); + createEAttribute(formalParameterEClass, FORMAL_PARAMETER__VALUE); + + booleanLiteralEClass = createEClass(BOOLEAN_LITERAL); + createEAttribute(booleanLiteralEClass, BOOLEAN_LITERAL__VALUE); + + intLiteralEClass = createEClass(INT_LITERAL); + createEAttribute(intLiteralEClass, INT_LITERAL__VALUE); + + doubleLiteralEClass = createEClass(DOUBLE_LITERAL); + createEAttribute(doubleLiteralEClass, DOUBLE_LITERAL__VALUE); + + ifElseExpressionEClass = createEClass(IF_ELSE_EXPRESSION); + createEReference(ifElseExpressionEClass, IF_ELSE_EXPRESSION__CONDITION); + createEReference(ifElseExpressionEClass, IF_ELSE_EXPRESSION__TRUE_EXP); + createEReference(ifElseExpressionEClass, IF_ELSE_EXPRESSION__FALSE_EXP); + + binaryBooleanExpressionEClass = createEClass(BINARY_BOOLEAN_EXPRESSION); + createEReference(binaryBooleanExpressionEClass, BINARY_BOOLEAN_EXPRESSION__LEFT); + createEAttribute(binaryBooleanExpressionEClass, BINARY_BOOLEAN_EXPRESSION__OPERATION); + createEReference(binaryBooleanExpressionEClass, BINARY_BOOLEAN_EXPRESSION__RIGHT); + + unaryBooleanExpressionEClass = createEClass(UNARY_BOOLEAN_EXPRESSION); + createEReference(unaryBooleanExpressionEClass, UNARY_BOOLEAN_EXPRESSION__INNER); + + comparisonEClass = createEClass(COMPARISON); + createEReference(comparisonEClass, COMPARISON__LEFT); + createEAttribute(comparisonEClass, COMPARISON__OPERATION); + createEReference(comparisonEClass, COMPARISON__RIGHT); + + termEClass = createEClass(TERM); + createEReference(termEClass, TERM__LEFT); + createEAttribute(termEClass, TERM__OPERATION); + createEReference(termEClass, TERM__RIGHT); + + productEClass = createEClass(PRODUCT); + createEReference(productEClass, PRODUCT__LEFT); + createEAttribute(productEClass, PRODUCT__OPERATION); + createEReference(productEClass, PRODUCT__RIGHT); + + powerEClass = createEClass(POWER); + createEReference(powerEClass, POWER__BASE); + createEReference(powerEClass, POWER__EXPONENT); + + // Create enums + productOperationEEnum = createEEnum(PRODUCT_OPERATION); + termOperationEEnum = createEEnum(TERM_OPERATION); + compareOperationEEnum = createEEnum(COMPARE_OPERATION); + booleanOperationEEnum = createEEnum(BOOLEAN_OPERATION); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + functionEClass.getESuperTypes().add(this.getExpression()); + formalParameterEClass.getESuperTypes().add(this.getExpression()); + booleanLiteralEClass.getESuperTypes().add(this.getExpression()); + intLiteralEClass.getESuperTypes().add(this.getExpression()); + doubleLiteralEClass.getESuperTypes().add(this.getExpression()); + ifElseExpressionEClass.getESuperTypes().add(this.getExpression()); + binaryBooleanExpressionEClass.getESuperTypes().add(this.getExpression()); + unaryBooleanExpressionEClass.getESuperTypes().add(this.getExpression()); + comparisonEClass.getESuperTypes().add(this.getExpression()); + termEClass.getESuperTypes().add(this.getExpression()); + productEClass.getESuperTypes().add(this.getExpression()); + powerEClass.getESuperTypes().add(this.getExpression()); + + // Initialize classes and features; add operations and parameters + initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getModel_Terms(), this.getExpression(), null, "terms", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getFunction_Name(), ecorePackage.getEString(), "name", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getFunction_Parameters(), this.getExpression(), null, "parameters", null, 0, -1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(formalParameterEClass, FormalParameter.class, "FormalParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getFormalParameter_Value(), ecorePackage.getEString(), "value", null, 0, 1, FormalParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(booleanLiteralEClass, BooleanLiteral.class, "BooleanLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getBooleanLiteral_Value(), ecorePackage.getEBoolean(), "value", null, 0, 1, BooleanLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(intLiteralEClass, IntLiteral.class, "IntLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getIntLiteral_Value(), ecorePackage.getEBigInteger(), "value", null, 0, 1, IntLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(doubleLiteralEClass, DoubleLiteral.class, "DoubleLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getDoubleLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, DoubleLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(ifElseExpressionEClass, IfElseExpression.class, "IfElseExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getIfElseExpression_Condition(), this.getExpression(), null, "condition", null, 0, 1, IfElseExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getIfElseExpression_TrueExp(), this.getExpression(), null, "trueExp", null, 0, 1, IfElseExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getIfElseExpression_FalseExp(), this.getExpression(), null, "falseExp", null, 0, 1, IfElseExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(binaryBooleanExpressionEClass, BinaryBooleanExpression.class, "BinaryBooleanExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getBinaryBooleanExpression_Left(), this.getExpression(), null, "left", null, 0, 1, BinaryBooleanExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getBinaryBooleanExpression_Operation(), this.getBooleanOperation(), "operation", null, 0, 1, BinaryBooleanExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getBinaryBooleanExpression_Right(), this.getExpression(), null, "right", null, 0, 1, BinaryBooleanExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(unaryBooleanExpressionEClass, UnaryBooleanExpression.class, "UnaryBooleanExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getUnaryBooleanExpression_Inner(), this.getExpression(), null, "inner", null, 0, 1, UnaryBooleanExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getComparison_Left(), this.getExpression(), null, "left", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getComparison_Operation(), this.getCompareOperation(), "operation", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getComparison_Right(), this.getExpression(), null, "right", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(termEClass, Term.class, "Term", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getTerm_Left(), this.getExpression(), null, "left", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getTerm_Operation(), this.getTermOperation(), "operation", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTerm_Right(), this.getExpression(), null, "right", null, 0, 1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(productEClass, Product.class, "Product", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getProduct_Left(), this.getExpression(), null, "left", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getProduct_Operation(), this.getProductOperation(), "operation", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getProduct_Right(), this.getExpression(), null, "right", null, 0, 1, Product.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(powerEClass, Power.class, "Power", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getPower_Base(), this.getExpression(), null, "base", null, 0, 1, Power.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getPower_Exponent(), this.getExpression(), null, "exponent", null, 0, 1, Power.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Initialize enums and add enum literals + initEEnum(productOperationEEnum, ProductOperation.class, "ProductOperation"); + addEEnumLiteral(productOperationEEnum, ProductOperation.MULT); + addEEnumLiteral(productOperationEEnum, ProductOperation.DIV); + addEEnumLiteral(productOperationEEnum, ProductOperation.MOD); + + initEEnum(termOperationEEnum, TermOperation.class, "TermOperation"); + addEEnumLiteral(termOperationEEnum, TermOperation.ADD); + addEEnumLiteral(termOperationEEnum, TermOperation.SUB); + + initEEnum(compareOperationEEnum, CompareOperation.class, "CompareOperation"); + addEEnumLiteral(compareOperationEEnum, CompareOperation.GREATER); + addEEnumLiteral(compareOperationEEnum, CompareOperation.LESS); + addEEnumLiteral(compareOperationEEnum, CompareOperation.EQUALS); + addEEnumLiteral(compareOperationEEnum, CompareOperation.NOTEQUAL); + addEEnumLiteral(compareOperationEEnum, CompareOperation.LESSEQUAL); + addEEnumLiteral(compareOperationEEnum, CompareOperation.GREATEREQUAL); + + initEEnum(booleanOperationEEnum, BooleanOperation.class, "BooleanOperation"); + addEEnumLiteral(booleanOperationEEnum, BooleanOperation.AND); + addEEnumLiteral(booleanOperationEEnum, BooleanOperation.OR); + addEEnumLiteral(booleanOperationEEnum, BooleanOperation.XOR); + + // Create resource + createResource(eNS_URI); + } + +} //MyDslPackageImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/PowerImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/PowerImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..181b952c9788a47d9484ae2f709edd2741a85e0b --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/PowerImpl.java @@ -0,0 +1,264 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.MyDslPackage; +import org.xtext.example.mydsl.myDsl.Power; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Power</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.PowerImpl#getBase <em>Base</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.PowerImpl#getExponent <em>Exponent</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class PowerImpl extends ExpressionImpl implements Power +{ + /** + * The cached value of the '{@link #getBase() <em>Base</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getBase() + * @generated + * @ordered + */ + protected Expression base; + + /** + * The cached value of the '{@link #getExponent() <em>Exponent</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getExponent() + * @generated + * @ordered + */ + protected Expression exponent; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected PowerImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.POWER; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getBase() + { + return base; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetBase(Expression newBase, NotificationChain msgs) + { + Expression oldBase = base; + base = newBase; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.POWER__BASE, oldBase, newBase); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setBase(Expression newBase) + { + if (newBase != base) + { + NotificationChain msgs = null; + if (base != null) + msgs = ((InternalEObject)base).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.POWER__BASE, null, msgs); + if (newBase != null) + msgs = ((InternalEObject)newBase).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.POWER__BASE, null, msgs); + msgs = basicSetBase(newBase, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.POWER__BASE, newBase, newBase)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getExponent() + { + return exponent; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetExponent(Expression newExponent, NotificationChain msgs) + { + Expression oldExponent = exponent; + exponent = newExponent; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.POWER__EXPONENT, oldExponent, newExponent); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setExponent(Expression newExponent) + { + if (newExponent != exponent) + { + NotificationChain msgs = null; + if (exponent != null) + msgs = ((InternalEObject)exponent).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.POWER__EXPONENT, null, msgs); + if (newExponent != null) + msgs = ((InternalEObject)newExponent).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.POWER__EXPONENT, null, msgs); + msgs = basicSetExponent(newExponent, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.POWER__EXPONENT, newExponent, newExponent)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.POWER__BASE: + return basicSetBase(null, msgs); + case MyDslPackage.POWER__EXPONENT: + return basicSetExponent(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.POWER__BASE: + return getBase(); + case MyDslPackage.POWER__EXPONENT: + return getExponent(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.POWER__BASE: + setBase((Expression)newValue); + return; + case MyDslPackage.POWER__EXPONENT: + setExponent((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.POWER__BASE: + setBase((Expression)null); + return; + case MyDslPackage.POWER__EXPONENT: + setExponent((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.POWER__BASE: + return base != null; + case MyDslPackage.POWER__EXPONENT: + return exponent != null; + } + return super.eIsSet(featureID); + } + +} //PowerImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ProductImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ProductImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..2d589fb45ba233ca2da8be76da61256c95750e9a --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ProductImpl.java @@ -0,0 +1,336 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.MyDslPackage; +import org.xtext.example.mydsl.myDsl.Product; +import org.xtext.example.mydsl.myDsl.ProductOperation; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Product</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl#getLeft <em>Left</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl#getOperation <em>Operation</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.ProductImpl#getRight <em>Right</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class ProductImpl extends ExpressionImpl implements Product +{ + /** + * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperation() + * @generated + * @ordered + */ + protected static final ProductOperation OPERATION_EDEFAULT = ProductOperation.MULT; + + /** + * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperation() + * @generated + * @ordered + */ + protected ProductOperation operation = OPERATION_EDEFAULT; + + /** + * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ProductImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.PRODUCT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.PRODUCT__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.PRODUCT__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__LEFT, newLeft, newLeft)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ProductOperation getOperation() + { + return operation; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOperation(ProductOperation newOperation) + { + ProductOperation oldOperation = operation; + operation = newOperation == null ? OPERATION_EDEFAULT : newOperation; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__OPERATION, oldOperation, operation)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.PRODUCT__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.PRODUCT__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.PRODUCT__RIGHT, newRight, newRight)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.PRODUCT__LEFT: + return basicSetLeft(null, msgs); + case MyDslPackage.PRODUCT__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.PRODUCT__LEFT: + return getLeft(); + case MyDslPackage.PRODUCT__OPERATION: + return getOperation(); + case MyDslPackage.PRODUCT__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.PRODUCT__LEFT: + setLeft((Expression)newValue); + return; + case MyDslPackage.PRODUCT__OPERATION: + setOperation((ProductOperation)newValue); + return; + case MyDslPackage.PRODUCT__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.PRODUCT__LEFT: + setLeft((Expression)null); + return; + case MyDslPackage.PRODUCT__OPERATION: + setOperation(OPERATION_EDEFAULT); + return; + case MyDslPackage.PRODUCT__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.PRODUCT__LEFT: + return left != null; + case MyDslPackage.PRODUCT__OPERATION: + return operation != OPERATION_EDEFAULT; + case MyDslPackage.PRODUCT__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (operation: "); + result.append(operation); + result.append(')'); + return result.toString(); + } + +} //ProductImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/TermImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/TermImpl.java index e4105a91c00488faa16996a6c87dbaa56e53c327..3c34b29cc4f633936d7410e1b71cc842f615cd5d 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/TermImpl.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/TermImpl.java @@ -1,335 +1,336 @@ -/** - */ -package org.xtext.example.mydsl.myDsl.impl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.xtext.example.mydsl.myDsl.Expression; -import org.xtext.example.mydsl.myDsl.MyDslPackage; -import org.xtext.example.mydsl.myDsl.Term; - -/** - * <!-- begin-user-doc --> - * An implementation of the model object '<em><b>Term</b></em>'. - * <!-- end-user-doc --> - * <p> - * The following features are implemented: - * <ul> - * <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getLeft <em>Left</em>}</li> - * <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getOperations <em>Operations</em>}</li> - * <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getRight <em>Right</em>}</li> - * </ul> - * </p> - * - * @generated - */ -public class TermImpl extends ExpressionImpl implements Term -{ - /** - * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getLeft() - * @generated - * @ordered - */ - protected Expression left; - - /** - * The cached value of the '{@link #getOperations() <em>Operations</em>}' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getOperations() - * @generated - * @ordered - */ - protected Expression operations; - - /** - * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getRight() - * @generated - * @ordered - */ - protected Expression right; - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected TermImpl() - { - super(); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - protected EClass eStaticClass() - { - return MyDslPackage.Literals.TERM; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public Expression getLeft() - { - return left; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) - { - Expression oldLeft = left; - left = newLeft; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__LEFT, oldLeft, newLeft); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public void setLeft(Expression newLeft) - { - if (newLeft != left) - { - NotificationChain msgs = null; - if (left != null) - msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__LEFT, null, msgs); - if (newLeft != null) - msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__LEFT, null, msgs); - msgs = basicSetLeft(newLeft, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__LEFT, newLeft, newLeft)); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public Expression getOperations() - { - return operations; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public NotificationChain basicSetOperations(Expression newOperations, NotificationChain msgs) - { - Expression oldOperations = operations; - operations = newOperations; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__OPERATIONS, oldOperations, newOperations); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public void setOperations(Expression newOperations) - { - if (newOperations != operations) - { - NotificationChain msgs = null; - if (operations != null) - msgs = ((InternalEObject)operations).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__OPERATIONS, null, msgs); - if (newOperations != null) - msgs = ((InternalEObject)newOperations).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__OPERATIONS, null, msgs); - msgs = basicSetOperations(newOperations, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__OPERATIONS, newOperations, newOperations)); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public Expression getRight() - { - return right; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) - { - Expression oldRight = right; - right = newRight; - if (eNotificationRequired()) - { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__RIGHT, oldRight, newRight); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public void setRight(Expression newRight) - { - if (newRight != right) - { - NotificationChain msgs = null; - if (right != null) - msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__RIGHT, null, msgs); - if (newRight != null) - msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__RIGHT, null, msgs); - msgs = basicSetRight(newRight, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__RIGHT, newRight, newRight)); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) - { - switch (featureID) - { - case MyDslPackage.TERM__LEFT: - return basicSetLeft(null, msgs); - case MyDslPackage.TERM__OPERATIONS: - return basicSetOperations(null, msgs); - case MyDslPackage.TERM__RIGHT: - return basicSetRight(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) - { - switch (featureID) - { - case MyDslPackage.TERM__LEFT: - return getLeft(); - case MyDslPackage.TERM__OPERATIONS: - return getOperations(); - case MyDslPackage.TERM__RIGHT: - return getRight(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) - { - switch (featureID) - { - case MyDslPackage.TERM__LEFT: - setLeft((Expression)newValue); - return; - case MyDslPackage.TERM__OPERATIONS: - setOperations((Expression)newValue); - return; - case MyDslPackage.TERM__RIGHT: - setRight((Expression)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void eUnset(int featureID) - { - switch (featureID) - { - case MyDslPackage.TERM__LEFT: - setLeft((Expression)null); - return; - case MyDslPackage.TERM__OPERATIONS: - setOperations((Expression)null); - return; - case MyDslPackage.TERM__RIGHT: - setRight((Expression)null); - return; - } - super.eUnset(featureID); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public boolean eIsSet(int featureID) - { - switch (featureID) - { - case MyDslPackage.TERM__LEFT: - return left != null; - case MyDslPackage.TERM__OPERATIONS: - return operations != null; - case MyDslPackage.TERM__RIGHT: - return right != null; - } - return super.eIsSet(featureID); - } - -} //TermImpl +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.MyDslPackage; +import org.xtext.example.mydsl.myDsl.Term; +import org.xtext.example.mydsl.myDsl.TermOperation; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Term</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getLeft <em>Left</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getOperation <em>Operation</em>}</li> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.TermImpl#getRight <em>Right</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class TermImpl extends ExpressionImpl implements Term +{ + /** + * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The default value of the '{@link #getOperation() <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperation() + * @generated + * @ordered + */ + protected static final TermOperation OPERATION_EDEFAULT = TermOperation.ADD; + + /** + * The cached value of the '{@link #getOperation() <em>Operation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOperation() + * @generated + * @ordered + */ + protected TermOperation operation = OPERATION_EDEFAULT; + + /** + * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected TermImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.TERM; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__LEFT, newLeft, newLeft)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public TermOperation getOperation() + { + return operation; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOperation(TermOperation newOperation) + { + TermOperation oldOperation = operation; + operation = newOperation == null ? OPERATION_EDEFAULT : newOperation; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__OPERATION, oldOperation, operation)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.TERM__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.TERM__RIGHT, newRight, newRight)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.TERM__LEFT: + return basicSetLeft(null, msgs); + case MyDslPackage.TERM__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.TERM__LEFT: + return getLeft(); + case MyDslPackage.TERM__OPERATION: + return getOperation(); + case MyDslPackage.TERM__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.TERM__LEFT: + setLeft((Expression)newValue); + return; + case MyDslPackage.TERM__OPERATION: + setOperation((TermOperation)newValue); + return; + case MyDslPackage.TERM__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.TERM__LEFT: + setLeft((Expression)null); + return; + case MyDslPackage.TERM__OPERATION: + setOperation(OPERATION_EDEFAULT); + return; + case MyDslPackage.TERM__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.TERM__LEFT: + return left != null; + case MyDslPackage.TERM__OPERATION: + return operation != OPERATION_EDEFAULT; + case MyDslPackage.TERM__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (operation: "); + result.append(operation); + result.append(')'); + return result.toString(); + } + +} //TermImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/UnaryBooleanExpressionImpl.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/UnaryBooleanExpressionImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..233b2c9716b0eb30e77b191c041fe374f1ec5079 --- /dev/null +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/UnaryBooleanExpressionImpl.java @@ -0,0 +1,193 @@ +/** + */ +package org.xtext.example.mydsl.myDsl.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.MyDslPackage; +import org.xtext.example.mydsl.myDsl.UnaryBooleanExpression; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Unary Boolean Expression</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.xtext.example.mydsl.myDsl.impl.UnaryBooleanExpressionImpl#getInner <em>Inner</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class UnaryBooleanExpressionImpl extends ExpressionImpl implements UnaryBooleanExpression +{ + /** + * The cached value of the '{@link #getInner() <em>Inner</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getInner() + * @generated + * @ordered + */ + protected Expression inner; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UnaryBooleanExpressionImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return MyDslPackage.Literals.UNARY_BOOLEAN_EXPRESSION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Expression getInner() + { + return inner; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetInner(Expression newInner, NotificationChain msgs) + { + Expression oldInner = inner; + inner = newInner; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER, oldInner, newInner); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setInner(Expression newInner) + { + if (newInner != inner) + { + NotificationChain msgs = null; + if (inner != null) + msgs = ((InternalEObject)inner).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER, null, msgs); + if (newInner != null) + msgs = ((InternalEObject)newInner).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER, null, msgs); + msgs = basicSetInner(newInner, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER, newInner, newInner)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER: + return basicSetInner(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER: + return getInner(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER: + setInner((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER: + setInner((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case MyDslPackage.UNARY_BOOLEAN_EXPRESSION__INNER: + return inner != null; + } + return super.eIsSet(featureID); + } + +} //UnaryBooleanExpressionImpl diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslAdapterFactory.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslAdapterFactory.java index bfc73f61bc4bd99612fe86b1fd9afa5343759acb..959a87406da67d7eece6663281cdd2038a51c77e 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslAdapterFactory.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslAdapterFactory.java @@ -1,172 +1,392 @@ -/** - */ -package org.xtext.example.mydsl.myDsl.util; - -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notifier; - -import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; - -import org.eclipse.emf.ecore.EObject; - -import org.xtext.example.mydsl.myDsl.*; - -/** - * <!-- begin-user-doc --> - * The <b>Adapter Factory</b> for the model. - * It provides an adapter <code>createXXX</code> method for each class of the model. - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.MyDslPackage - * @generated - */ -public class MyDslAdapterFactory extends AdapterFactoryImpl -{ - /** - * The cached model package. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected static MyDslPackage modelPackage; - - /** - * Creates an instance of the adapter factory. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public MyDslAdapterFactory() - { - if (modelPackage == null) - { - modelPackage = MyDslPackage.eINSTANCE; - } - } - - /** - * Returns whether this factory is applicable for the type of the object. - * <!-- begin-user-doc --> - * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. - * <!-- end-user-doc --> - * @return whether this factory is applicable for the type of the object. - * @generated - */ - @Override - public boolean isFactoryForType(Object object) - { - if (object == modelPackage) - { - return true; - } - if (object instanceof EObject) - { - return ((EObject)object).eClass().getEPackage() == modelPackage; - } - return false; - } - - /** - * The switch that delegates to the <code>createXXX</code> methods. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected MyDslSwitch<Adapter> modelSwitch = - new MyDslSwitch<Adapter>() - { - @Override - public Adapter caseModel(Model object) - { - return createModelAdapter(); - } - @Override - public Adapter caseExpression(Expression object) - { - return createExpressionAdapter(); - } - @Override - public Adapter caseTerm(Term object) - { - return createTermAdapter(); - } - @Override - public Adapter defaultCase(EObject object) - { - return createEObjectAdapter(); - } - }; - - /** - * Creates an adapter for the <code>target</code>. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param target the object to adapt. - * @return the adapter for the <code>target</code>. - * @generated - */ - @Override - public Adapter createAdapter(Notifier target) - { - return modelSwitch.doSwitch((EObject)target); - } - - - /** - * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Model <em>Model</em>}'. - * <!-- begin-user-doc --> - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * <!-- end-user-doc --> - * @return the new adapter. - * @see org.xtext.example.mydsl.myDsl.Model - * @generated - */ - public Adapter createModelAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Expression <em>Expression</em>}'. - * <!-- begin-user-doc --> - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * <!-- end-user-doc --> - * @return the new adapter. - * @see org.xtext.example.mydsl.myDsl.Expression - * @generated - */ - public Adapter createExpressionAdapter() - { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Term <em>Term</em>}'. - * <!-- begin-user-doc --> - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * <!-- end-user-doc --> - * @return the new adapter. - * @see org.xtext.example.mydsl.myDsl.Term - * @generated - */ - public Adapter createTermAdapter() - { - return null; - } - - /** - * Creates a new adapter for the default case. - * <!-- begin-user-doc --> - * This default implementation returns null. - * <!-- end-user-doc --> - * @return the new adapter. - * @generated - */ - public Adapter createEObjectAdapter() - { - return null; - } - -} //MyDslAdapterFactory +/** + */ +package org.xtext.example.mydsl.myDsl.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.xtext.example.mydsl.myDsl.*; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.MyDslPackage + * @generated + */ +public class MyDslAdapterFactory extends AdapterFactoryImpl +{ + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static MyDslPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MyDslAdapterFactory() + { + if (modelPackage == null) + { + modelPackage = MyDslPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) + { + if (object == modelPackage) + { + return true; + } + if (object instanceof EObject) + { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MyDslSwitch<Adapter> modelSwitch = + new MyDslSwitch<Adapter>() + { + @Override + public Adapter caseModel(Model object) + { + return createModelAdapter(); + } + @Override + public Adapter caseExpression(Expression object) + { + return createExpressionAdapter(); + } + @Override + public Adapter caseFunction(Function object) + { + return createFunctionAdapter(); + } + @Override + public Adapter caseFormalParameter(FormalParameter object) + { + return createFormalParameterAdapter(); + } + @Override + public Adapter caseBooleanLiteral(BooleanLiteral object) + { + return createBooleanLiteralAdapter(); + } + @Override + public Adapter caseIntLiteral(IntLiteral object) + { + return createIntLiteralAdapter(); + } + @Override + public Adapter caseDoubleLiteral(DoubleLiteral object) + { + return createDoubleLiteralAdapter(); + } + @Override + public Adapter caseIfElseExpression(IfElseExpression object) + { + return createIfElseExpressionAdapter(); + } + @Override + public Adapter caseBinaryBooleanExpression(BinaryBooleanExpression object) + { + return createBinaryBooleanExpressionAdapter(); + } + @Override + public Adapter caseUnaryBooleanExpression(UnaryBooleanExpression object) + { + return createUnaryBooleanExpressionAdapter(); + } + @Override + public Adapter caseComparison(Comparison object) + { + return createComparisonAdapter(); + } + @Override + public Adapter caseTerm(Term object) + { + return createTermAdapter(); + } + @Override + public Adapter caseProduct(Product object) + { + return createProductAdapter(); + } + @Override + public Adapter casePower(Power object) + { + return createPowerAdapter(); + } + @Override + public Adapter defaultCase(EObject object) + { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) + { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Model <em>Model</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.Model + * @generated + */ + public Adapter createModelAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Expression <em>Expression</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.Expression + * @generated + */ + public Adapter createExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Function <em>Function</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.Function + * @generated + */ + public Adapter createFunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.FormalParameter <em>Formal Parameter</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.FormalParameter + * @generated + */ + public Adapter createFormalParameterAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.BooleanLiteral <em>Boolean Literal</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.BooleanLiteral + * @generated + */ + public Adapter createBooleanLiteralAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.IntLiteral <em>Int Literal</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.IntLiteral + * @generated + */ + public Adapter createIntLiteralAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.DoubleLiteral <em>Double Literal</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.DoubleLiteral + * @generated + */ + public Adapter createDoubleLiteralAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.IfElseExpression <em>If Else Expression</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.IfElseExpression + * @generated + */ + public Adapter createIfElseExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.BinaryBooleanExpression <em>Binary Boolean Expression</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.BinaryBooleanExpression + * @generated + */ + public Adapter createBinaryBooleanExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.UnaryBooleanExpression <em>Unary Boolean Expression</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.UnaryBooleanExpression + * @generated + */ + public Adapter createUnaryBooleanExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Comparison <em>Comparison</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.Comparison + * @generated + */ + public Adapter createComparisonAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Term <em>Term</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.Term + * @generated + */ + public Adapter createTermAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Product <em>Product</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.Product + * @generated + */ + public Adapter createProductAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link org.xtext.example.mydsl.myDsl.Power <em>Power</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.xtext.example.mydsl.myDsl.Power + * @generated + */ + public Adapter createPowerAdapter() + { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() + { + return null; + } + +} //MyDslAdapterFactory diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslSwitch.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslSwitch.java index 5006fb1742786932b516f52e3cc243b098e34ac5..796b3709bb02b796b1aaa78ff60e24c2256fb72c 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslSwitch.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslSwitch.java @@ -1,166 +1,430 @@ -/** - */ -package org.xtext.example.mydsl.myDsl.util; - -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.util.Switch; - -import org.xtext.example.mydsl.myDsl.*; - -/** - * <!-- begin-user-doc --> - * The <b>Switch</b> for the model's inheritance hierarchy. - * It supports the call {@link #doSwitch(EObject) doSwitch(object)} - * to invoke the <code>caseXXX</code> method for each class of the model, - * starting with the actual class of the object - * and proceeding up the inheritance hierarchy - * until a non-null result is returned, - * which is the result of the switch. - * <!-- end-user-doc --> - * @see org.xtext.example.mydsl.myDsl.MyDslPackage - * @generated - */ -public class MyDslSwitch<T> extends Switch<T> -{ - /** - * The cached model package - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected static MyDslPackage modelPackage; - - /** - * Creates an instance of the switch. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public MyDslSwitch() - { - if (modelPackage == null) - { - modelPackage = MyDslPackage.eINSTANCE; - } - } - - /** - * Checks whether this is a switch for the given package. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @parameter ePackage the package in question. - * @return whether this is a switch for the given package. - * @generated - */ - @Override - protected boolean isSwitchFor(EPackage ePackage) - { - return ePackage == modelPackage; - } - - /** - * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the first non-null result returned by a <code>caseXXX</code> call. - * @generated - */ - @Override - protected T doSwitch(int classifierID, EObject theEObject) - { - switch (classifierID) - { - case MyDslPackage.MODEL: - { - Model model = (Model)theEObject; - T result = caseModel(model); - if (result == null) result = defaultCase(theEObject); - return result; - } - case MyDslPackage.EXPRESSION: - { - Expression expression = (Expression)theEObject; - T result = caseExpression(expression); - if (result == null) result = defaultCase(theEObject); - return result; - } - case MyDslPackage.TERM: - { - Term term = (Term)theEObject; - T result = caseTerm(term); - if (result == null) result = caseExpression(term); - if (result == null) result = defaultCase(theEObject); - return result; - } - default: return defaultCase(theEObject); - } - } - - /** - * Returns the result of interpreting the object as an instance of '<em>Model</em>'. - * <!-- begin-user-doc --> - * This implementation returns null; - * returning a non-null result will terminate the switch. - * <!-- end-user-doc --> - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of '<em>Model</em>'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseModel(Model object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of '<em>Expression</em>'. - * <!-- begin-user-doc --> - * This implementation returns null; - * returning a non-null result will terminate the switch. - * <!-- end-user-doc --> - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of '<em>Expression</em>'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseExpression(Expression object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of '<em>Term</em>'. - * <!-- begin-user-doc --> - * This implementation returns null; - * returning a non-null result will terminate the switch. - * <!-- end-user-doc --> - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of '<em>Term</em>'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseTerm(Term object) - { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. - * <!-- begin-user-doc --> - * This implementation returns null; - * returning a non-null result will terminate the switch, but this is the last case anyway. - * <!-- end-user-doc --> - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of '<em>EObject</em>'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) - * @generated - */ - @Override - public T defaultCase(EObject object) - { - return null; - } - -} //MyDslSwitch +/** + */ +package org.xtext.example.mydsl.myDsl.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import org.xtext.example.mydsl.myDsl.*; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see org.xtext.example.mydsl.myDsl.MyDslPackage + * @generated + */ +public class MyDslSwitch<T> extends Switch<T> +{ + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static MyDslPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public MyDslSwitch() + { + if (modelPackage == null) + { + modelPackage = MyDslPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @parameter ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) + { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) + { + switch (classifierID) + { + case MyDslPackage.MODEL: + { + Model model = (Model)theEObject; + T result = caseModel(model); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.EXPRESSION: + { + Expression expression = (Expression)theEObject; + T result = caseExpression(expression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.FUNCTION: + { + Function function = (Function)theEObject; + T result = caseFunction(function); + if (result == null) result = caseExpression(function); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.FORMAL_PARAMETER: + { + FormalParameter formalParameter = (FormalParameter)theEObject; + T result = caseFormalParameter(formalParameter); + if (result == null) result = caseExpression(formalParameter); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.BOOLEAN_LITERAL: + { + BooleanLiteral booleanLiteral = (BooleanLiteral)theEObject; + T result = caseBooleanLiteral(booleanLiteral); + if (result == null) result = caseExpression(booleanLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.INT_LITERAL: + { + IntLiteral intLiteral = (IntLiteral)theEObject; + T result = caseIntLiteral(intLiteral); + if (result == null) result = caseExpression(intLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.DOUBLE_LITERAL: + { + DoubleLiteral doubleLiteral = (DoubleLiteral)theEObject; + T result = caseDoubleLiteral(doubleLiteral); + if (result == null) result = caseExpression(doubleLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.IF_ELSE_EXPRESSION: + { + IfElseExpression ifElseExpression = (IfElseExpression)theEObject; + T result = caseIfElseExpression(ifElseExpression); + if (result == null) result = caseExpression(ifElseExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION: + { + BinaryBooleanExpression binaryBooleanExpression = (BinaryBooleanExpression)theEObject; + T result = caseBinaryBooleanExpression(binaryBooleanExpression); + if (result == null) result = caseExpression(binaryBooleanExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.UNARY_BOOLEAN_EXPRESSION: + { + UnaryBooleanExpression unaryBooleanExpression = (UnaryBooleanExpression)theEObject; + T result = caseUnaryBooleanExpression(unaryBooleanExpression); + if (result == null) result = caseExpression(unaryBooleanExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.COMPARISON: + { + Comparison comparison = (Comparison)theEObject; + T result = caseComparison(comparison); + if (result == null) result = caseExpression(comparison); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.TERM: + { + Term term = (Term)theEObject; + T result = caseTerm(term); + if (result == null) result = caseExpression(term); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.PRODUCT: + { + Product product = (Product)theEObject; + T result = caseProduct(product); + if (result == null) result = caseExpression(product); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MyDslPackage.POWER: + { + Power power = (Power)theEObject; + T result = casePower(power); + if (result == null) result = caseExpression(power); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Model</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Model</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseModel(Model object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Expression</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Expression</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpression(Expression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Function</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Function</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunction(Function object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Formal Parameter</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Formal Parameter</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFormalParameter(FormalParameter object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Boolean Literal</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Boolean Literal</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBooleanLiteral(BooleanLiteral object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Int Literal</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Int Literal</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIntLiteral(IntLiteral object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Double Literal</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Double Literal</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDoubleLiteral(DoubleLiteral object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>If Else Expression</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>If Else Expression</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIfElseExpression(IfElseExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Binary Boolean Expression</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Binary Boolean Expression</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBinaryBooleanExpression(BinaryBooleanExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Unary Boolean Expression</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Unary Boolean Expression</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryBooleanExpression(UnaryBooleanExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Comparison</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Comparison</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparison(Comparison object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Term</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Term</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTerm(Term object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Product</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Product</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProduct(Product object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Power</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Power</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePower(Power object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) + { + return null; + } + +} //MyDslSwitch diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g index f15696f61fc0b0852d912deb53b1d2dd08671ff0..a4a99d1e56dd59be665b3256474ce2ea29243a9e 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g @@ -81,71 +81,598 @@ ruleModel returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getModelAccess().getTermsTermParserRuleCall_0()); + newCompositeNode(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); } - lv_terms_0_0=ruleTerm { + lv_terms_0_0=ruleIfElseExpression { if ($current==null) { $current = createModelElementForParent(grammarAccess.getModelRule()); } - add( + set( + $current, + "terms", + lv_terms_0_0, + "IfElseExpression"); + afterParserOrEnumRuleCall(); + } + +) +) +; + + + + + +// Entry rule entryRuleDouble +entryRuleDouble returns [String current=null] + : + { newCompositeNode(grammarAccess.getDoubleRule()); } + iv_ruleDouble=ruleDouble + { $current=$iv_ruleDouble.current.getText(); } + EOF +; + +// Rule Double +ruleDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); + } +)? this_INT_1=RULE_INT { + $current.merge(this_INT_1); + } + + { + newLeafNode(this_INT_1, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); + } + + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getDoubleAccess().getFullStopKeyword_2()); + } + this_INT_3=RULE_INT { + $current.merge(this_INT_3); + } + + { + newLeafNode(this_INT_3, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); + } +) + ; + + + + + +// Entry rule entryRuleInteger +entryRuleInteger returns [String current=null] + : + { newCompositeNode(grammarAccess.getIntegerRule()); } + iv_ruleInteger=ruleInteger + { $current=$iv_ruleInteger.current.getText(); } + EOF +; + +// Rule Integer +ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); + } +)? this_INT_1=RULE_INT { + $current.merge(this_INT_1); + } + + { + newLeafNode(this_INT_1, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); + } +) + ; + + + + + +// Entry rule entryRuleEString +entryRuleEString returns [String current=null] + : + { newCompositeNode(grammarAccess.getEStringRule()); } + iv_ruleEString=ruleEString + { $current=$iv_ruleEString.current.getText(); } + EOF +; + +// Rule EString +ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] + @init { enterRule(); + } + @after { leaveRule(); }: +( this_STRING_0=RULE_STRING { + $current.merge(this_STRING_0); + } + + { + newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + } + + | this_ID_1=RULE_ID { + $current.merge(this_ID_1); + } + + { + newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + } +) + ; + + + + + +// Entry rule entryRuleEBoolean +entryRuleEBoolean returns [String current=null] + : + { newCompositeNode(grammarAccess.getEBooleanRule()); } + iv_ruleEBoolean=ruleEBoolean + { $current=$iv_ruleEBoolean.current.getText(); } + EOF +; + +// Rule EBoolean +ruleEBoolean returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] + @init { enterRule(); + } + @after { leaveRule(); }: +( + kw='true' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0()); + } + + | + kw='false' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getEBooleanAccess().getFalseKeyword_1()); + } +) + ; + + + + + +// Entry rule entryRuleRootExpression +entryRuleRootExpression returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getRootExpressionRule()); } + iv_ruleRootExpression=ruleRootExpression + { $current=$iv_ruleRootExpression.current; } + EOF +; + +// Rule RootExpression +ruleRootExpression returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: + + { + newCompositeNode(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); + } + this_IfElseExpression_0=ruleIfElseExpression + { + $current = $this_IfElseExpression_0.current; + afterParserOrEnumRuleCall(); + } + +; + + + + + +// Entry rule entryRuleIfElseExpression +entryRuleIfElseExpression returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getIfElseExpressionRule()); } + iv_ruleIfElseExpression=ruleIfElseExpression + { $current=$iv_ruleIfElseExpression.current; } + EOF +; + +// Rule IfElseExpression +ruleIfElseExpression returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); + } + this_BinaryBooleanExpression_0=ruleBinaryBooleanExpression + { + $current = $this_BinaryBooleanExpression_0.current; + afterParserOrEnumRuleCall(); + } +(( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0(), + $current); + } +) otherlv_2='?' + { + newLeafNode(otherlv_2, grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); + } +( +( + { + newCompositeNode(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); + } + lv_trueExp_3_0=ruleIfElseExpression { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIfElseExpressionRule()); + } + set( + $current, + "trueExp", + lv_trueExp_3_0, + "IfElseExpression"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); + } +( +( + { + newCompositeNode(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); + } + lv_falseExp_5_0=ruleIfElseExpression { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIfElseExpressionRule()); + } + set( + $current, + "falseExp", + lv_falseExp_5_0, + "IfElseExpression"); + afterParserOrEnumRuleCall(); + } + +) +))?) +; + + + + + +// Entry rule entryRuleBinaryBooleanExpression +entryRuleBinaryBooleanExpression returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getBinaryBooleanExpressionRule()); } + iv_ruleBinaryBooleanExpression=ruleBinaryBooleanExpression + { $current=$iv_ruleBinaryBooleanExpression.current; } + EOF +; + +// Rule BinaryBooleanExpression +ruleBinaryBooleanExpression returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); + } + this_UnaryBooleanExpression_0=ruleUnaryBooleanExpression + { + $current = $this_UnaryBooleanExpression_0.current; + afterParserOrEnumRuleCall(); + } +(( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0(), + $current); + } +)( +( + { + newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); + } + lv_operation_2_0=ruleBooleanOperation { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBinaryBooleanExpressionRule()); + } + set( + $current, + "operation", + lv_operation_2_0, + "BooleanOperation"); + afterParserOrEnumRuleCall(); + } + +) +)( +( + { + newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleUnaryBooleanExpression { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBinaryBooleanExpressionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "UnaryBooleanExpression"); + afterParserOrEnumRuleCall(); + } + +) +))*) +; + + + + + +// Entry rule entryRuleUnaryBooleanExpression +entryRuleUnaryBooleanExpression returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getUnaryBooleanExpressionRule()); } + iv_ruleUnaryBooleanExpression=ruleUnaryBooleanExpression + { $current=$iv_ruleUnaryBooleanExpression.current; } + EOF +; + +// Rule UnaryBooleanExpression +ruleUnaryBooleanExpression returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( otherlv_0='NOT' + { + newLeafNode(otherlv_0, grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); + } + + { + newCompositeNode(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); + } + this_Comparison_1=ruleComparison + { + $current = $this_Comparison_1.current; + afterParserOrEnumRuleCall(); + } +( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2(), + $current); + } +)) + | + { + newCompositeNode(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); + } + this_Comparison_3=ruleComparison + { + $current = $this_Comparison_3.current; + afterParserOrEnumRuleCall(); + } +) +; + + + + + +// Entry rule entryRuleComparison +entryRuleComparison returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getComparisonRule()); } + iv_ruleComparison=ruleComparison + { $current=$iv_ruleComparison.current; } + EOF +; + +// Rule Comparison +ruleComparison returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); + } + this_Term_0=ruleTerm + { + $current = $this_Term_0.current; + afterParserOrEnumRuleCall(); + } +(( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0(), + $current); + } +)( +( + { + newCompositeNode(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); + } + lv_operation_2_0=ruleCompareOperation { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonRule()); + } + set( + $current, + "operation", + lv_operation_2_0, + "CompareOperation"); + afterParserOrEnumRuleCall(); + } + +) +)( +( + { + newCompositeNode(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleTerm { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonRule()); + } + set( + $current, + "right", + lv_right_3_0, + "Term"); + afterParserOrEnumRuleCall(); + } + +) +))*) +; + + + + + +// Entry rule entryRuleTerm +entryRuleTerm returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getTermRule()); } + iv_ruleTerm=ruleTerm + { $current=$iv_ruleTerm.current; } + EOF +; + +// Rule Term +ruleTerm returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getTermAccess().getProductParserRuleCall_0()); + } + this_Product_0=ruleProduct + { + $current = $this_Product_0.current; + afterParserOrEnumRuleCall(); + } +(( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getTermAccess().getTermLeftAction_1_0(), + $current); + } +)( +( + { + newCompositeNode(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); + } + lv_operation_2_0=ruleTermOperation { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTermRule()); + } + set( $current, - "terms", - lv_terms_0_0, - "Term"); + "operation", + lv_operation_2_0, + "TermOperation"); afterParserOrEnumRuleCall(); } ) +)( +( + { + newCompositeNode(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleProduct { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTermRule()); + } + set( + $current, + "right", + lv_right_3_0, + "Product"); + afterParserOrEnumRuleCall(); + } + ) +))*) ; -// Entry rule entryRuleTerm -entryRuleTerm returns [EObject current=null] +// Entry rule entryRuleProduct +entryRuleProduct returns [EObject current=null] : - { newCompositeNode(grammarAccess.getTermRule()); } - iv_ruleTerm=ruleTerm - { $current=$iv_ruleTerm.current; } + { newCompositeNode(grammarAccess.getProductRule()); } + iv_ruleProduct=ruleProduct + { $current=$iv_ruleProduct.current; } EOF ; -// Rule Term -ruleTerm returns [EObject current=null] +// Rule Product +ruleProduct returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( { - newCompositeNode(grammarAccess.getTermAccess().getTypesParserRuleCall_0()); + newCompositeNode(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); } - this_Types_0=ruleTypes + this_Power_0=rulePower { - $current = $this_Types_0.current; + $current = $this_Power_0.current; afterParserOrEnumRuleCall(); } (( { $current = forceCreateModelElementAndSet( - grammarAccess.getTermAccess().getTermLeftAction_1_0(), + grammarAccess.getProductAccess().getProductLeftAction_1_0(), $current); } )( ( { - newCompositeNode(grammarAccess.getTermAccess().getOperationsOperationsParserRuleCall_1_1_0()); + newCompositeNode(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); } - lv_Operations_2_0=ruleOperations { + lv_operation_2_0=ruleProductOperation { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTermRule()); + $current = createModelElementForParent(grammarAccess.getProductRule()); } set( $current, - "Operations", - lv_Operations_2_0, - "Operations"); + "operation", + lv_operation_2_0, + "ProductOperation"); afterParserOrEnumRuleCall(); } @@ -153,17 +680,17 @@ ruleTerm returns [EObject current=null] )( ( { - newCompositeNode(grammarAccess.getTermAccess().getRightTypesParserRuleCall_1_2_0()); + newCompositeNode(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); } - lv_right_3_0=ruleTypes { + lv_right_3_0=rulePower { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTermRule()); + $current = createModelElementForParent(grammarAccess.getProductRule()); } set( $current, "right", lv_right_3_0, - "Types"); + "Power"); afterParserOrEnumRuleCall(); } @@ -175,91 +702,201 @@ ruleTerm returns [EObject current=null] -// Entry rule entryRuleTypes -entryRuleTypes returns [EObject current=null] +// Entry rule entryRulePower +entryRulePower returns [EObject current=null] : - { newCompositeNode(grammarAccess.getTypesRule()); } - iv_ruleTypes=ruleTypes - { $current=$iv_ruleTypes.current; } + { newCompositeNode(grammarAccess.getPowerRule()); } + iv_rulePower=rulePower + { $current=$iv_rulePower.current; } EOF ; -// Rule Types -ruleTypes returns [EObject current=null] +// Rule Power +rulePower returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( { - newCompositeNode(grammarAccess.getTypesAccess().getArithmeticsParserRuleCall_0()); + newCompositeNode(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); } - this_Arithmetics_0=ruleArithmetics + this_Atom_0=ruleAtom { - $current = $this_Arithmetics_0.current; + $current = $this_Atom_0.current; afterParserOrEnumRuleCall(); } +(( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getPowerAccess().getPowerBaseAction_1_0(), + $current); + } +) otherlv_2='^' + { + newLeafNode(otherlv_2, grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); + } +( +( + { + newCompositeNode(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); + } + lv_exponent_3_0=ruleAtom { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPowerRule()); + } + set( + $current, + "exponent", + lv_exponent_3_0, + "Atom"); + afterParserOrEnumRuleCall(); + } - | +) +))*) +; + + + + + +// Entry rule entryRuleAtom +entryRuleAtom returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getAtomRule()); } + iv_ruleAtom=ruleAtom + { $current=$iv_ruleAtom.current; } + EOF +; + +// Rule Atom +ruleAtom returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( { - newCompositeNode(grammarAccess.getTypesAccess().getStringsParserRuleCall_1()); + newCompositeNode(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); } - this_Strings_1=ruleStrings + this_Literal_0=ruleLiteral { - $current = $this_Strings_1.current; + $current = $this_Literal_0.current; afterParserOrEnumRuleCall(); } - |( otherlv_2='(' + |( otherlv_1='(' { - newLeafNode(otherlv_2, grammarAccess.getTypesAccess().getLeftParenthesisKeyword_2_0()); + newLeafNode(otherlv_1, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); } { - newCompositeNode(grammarAccess.getTypesAccess().getTermParserRuleCall_2_1()); + newCompositeNode(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); } - this_Term_3=ruleTerm + this_RootExpression_2=ruleRootExpression { - $current = $this_Term_3.current; + $current = $this_RootExpression_2.current; afterParserOrEnumRuleCall(); } - otherlv_4=')' + otherlv_3=')' { - newLeafNode(otherlv_4, grammarAccess.getTypesAccess().getRightParenthesisKeyword_2_2()); + newLeafNode(otherlv_3, grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); } -)) +) + | + { + newCompositeNode(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); + } + this_Function_4=ruleFunction + { + $current = $this_Function_4.current; + afterParserOrEnumRuleCall(); + } +) ; -// Entry rule entryRuleArithmetics -entryRuleArithmetics returns [EObject current=null] +// Entry rule entryRuleFunction +entryRuleFunction returns [EObject current=null] : - { newCompositeNode(grammarAccess.getArithmeticsRule()); } - iv_ruleArithmetics=ruleArithmetics - { $current=$iv_ruleArithmetics.current; } + { newCompositeNode(grammarAccess.getFunctionRule()); } + iv_ruleFunction=ruleFunction + { $current=$iv_ruleFunction.current; } EOF ; -// Rule Arithmetics -ruleArithmetics returns [EObject current=null] +// Rule Function +ruleFunction returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: (( +( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFunctionRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "ID"); + } + +) +) otherlv_1='(' { - $current = forceCreateModelElement( - grammarAccess.getArithmeticsAccess().getExpressionAction_0(), - $current); + newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); } +(( +( + { + newCompositeNode(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); + } + lv_parameters_2_0=ruleRootExpression { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionRule()); + } + add( + $current, + "parameters", + lv_parameters_2_0, + "RootExpression"); + afterParserOrEnumRuleCall(); + } + ) - { - newCompositeNode(grammarAccess.getArithmeticsAccess().getDECIMALParserRuleCall_1()); +)( otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); } -ruleDECIMAL - { - afterParserOrEnumRuleCall(); +( +( + { + newCompositeNode(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); + } + lv_parameters_4_0=ruleRootExpression { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionRule()); + } + add( + $current, + "parameters", + lv_parameters_4_0, + "RootExpression"); + afterParserOrEnumRuleCall(); + } + +) +))*)? otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); } ) ; @@ -268,32 +905,47 @@ ruleDECIMAL -// Entry rule entryRuleStrings -entryRuleStrings returns [EObject current=null] +// Entry rule entryRuleLiteral +entryRuleLiteral returns [EObject current=null] : - { newCompositeNode(grammarAccess.getStringsRule()); } - iv_ruleStrings=ruleStrings - { $current=$iv_ruleStrings.current; } + { newCompositeNode(grammarAccess.getLiteralRule()); } + iv_ruleLiteral=ruleLiteral + { $current=$iv_ruleLiteral.current; } EOF ; -// Rule Strings -ruleStrings returns [EObject current=null] +// Rule Literal +ruleLiteral returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: -(( - { - $current = forceCreateModelElement( - grammarAccess.getStringsAccess().getExpressionAction_0(), - $current); +( + { + newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); } -) + this_NumberLiteral_0=ruleNumberLiteral + { + $current = $this_NumberLiteral_0.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); + } + this_BooleanLiteral_1=ruleBooleanLiteral + { + $current = $this_BooleanLiteral_1.current; + afterParserOrEnumRuleCall(); + } + + | { - newCompositeNode(grammarAccess.getStringsAccess().getE_STRINGParserRuleCall_1()); + newCompositeNode(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); } -ruleE_STRING + this_FormalParameter_2=ruleFormalParameter { + $current = $this_FormalParameter_2.current; afterParserOrEnumRuleCall(); } ) @@ -303,117 +955,191 @@ ruleE_STRING -// Entry rule entryRuleDECIMAL -entryRuleDECIMAL returns [String current=null] +// Entry rule entryRuleFormalParameter +entryRuleFormalParameter returns [EObject current=null] : - { newCompositeNode(grammarAccess.getDECIMALRule()); } - iv_ruleDECIMAL=ruleDECIMAL - { $current=$iv_ruleDECIMAL.current.getText(); } + { newCompositeNode(grammarAccess.getFormalParameterRule()); } + iv_ruleFormalParameter=ruleFormalParameter + { $current=$iv_ruleFormalParameter.current; } EOF ; -// Rule DECIMAL -ruleDECIMAL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +// Rule FormalParameter +ruleFormalParameter returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: -(( - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getDECIMALAccess().getHyphenMinusKeyword_0()); - } -)? this_INT_1=RULE_INT { - $current.merge(this_INT_1); - } +( +( + { + newCompositeNode(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); + } + lv_value_0_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFormalParameterRule()); + } + set( + $current, + "value", + lv_value_0_0, + "EString"); + afterParserOrEnumRuleCall(); + } - { - newLeafNode(this_INT_1, grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_1()); +) +) +; + + + + + +// Entry rule entryRuleBooleanLiteral +entryRuleBooleanLiteral returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getBooleanLiteralRule()); } + iv_ruleBooleanLiteral=ruleBooleanLiteral + { $current=$iv_ruleBooleanLiteral.current; } + EOF +; + +// Rule BooleanLiteral +ruleBooleanLiteral returns [EObject current=null] + @init { enterRule(); } + @after { leaveRule(); }: ( - kw='.' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getDECIMALAccess().getFullStopKeyword_2_0()); - } - this_INT_3=RULE_INT { - $current.merge(this_INT_3); - } +( + { + newCompositeNode(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); + } + lv_value_0_0=ruleEBoolean { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBooleanLiteralRule()); + } + set( + $current, + "value", + lv_value_0_0, + "EBoolean"); + afterParserOrEnumRuleCall(); + } - { - newLeafNode(this_INT_3, grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_2_1()); - } -)?) - ; +) +) +; -// Entry rule entryRuleE_STRING -entryRuleE_STRING returns [String current=null] +// Entry rule entryRuleNumberLiteral +entryRuleNumberLiteral returns [EObject current=null] : - { newCompositeNode(grammarAccess.getE_STRINGRule()); } - iv_ruleE_STRING=ruleE_STRING - { $current=$iv_ruleE_STRING.current.getText(); } + { newCompositeNode(grammarAccess.getNumberLiteralRule()); } + iv_ruleNumberLiteral=ruleNumberLiteral + { $current=$iv_ruleNumberLiteral.current; } EOF ; -// Rule E_STRING -ruleE_STRING returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +// Rule NumberLiteral +ruleNumberLiteral returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: -( this_STRING_0=RULE_STRING { - $current.merge(this_STRING_0); +( + { + newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); } - + this_IntLiteral_0=ruleIntLiteral { - newLeafNode(this_STRING_0, grammarAccess.getE_STRINGAccess().getSTRINGTerminalRuleCall_0()); + $current = $this_IntLiteral_0.current; + afterParserOrEnumRuleCall(); } - | this_ID_1=RULE_ID { - $current.merge(this_ID_1); + | + { + newCompositeNode(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); } - + this_DoubleLiteral_1=ruleDoubleLiteral { - newLeafNode(this_ID_1, grammarAccess.getE_STRINGAccess().getIDTerminalRuleCall_1()); + $current = $this_DoubleLiteral_1.current; + afterParserOrEnumRuleCall(); } ) - ; +; + + + + + +// Entry rule entryRuleIntLiteral +entryRuleIntLiteral returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getIntLiteralRule()); } + iv_ruleIntLiteral=ruleIntLiteral + { $current=$iv_ruleIntLiteral.current; } + EOF +; + +// Rule IntLiteral +ruleIntLiteral returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( +( + { + newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); + } + lv_value_0_0=ruleInteger { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIntLiteralRule()); + } + set( + $current, + "value", + lv_value_0_0, + "Integer"); + afterParserOrEnumRuleCall(); + } + +) +) +; -// Entry rule entryRuleOperations -entryRuleOperations returns [EObject current=null] +// Entry rule entryRuleDoubleLiteral +entryRuleDoubleLiteral returns [EObject current=null] : - { newCompositeNode(grammarAccess.getOperationsRule()); } - iv_ruleOperations=ruleOperations - { $current=$iv_ruleOperations.current; } + { newCompositeNode(grammarAccess.getDoubleLiteralRule()); } + iv_ruleDoubleLiteral=ruleDoubleLiteral + { $current=$iv_ruleDoubleLiteral.current; } EOF ; -// Rule Operations -ruleOperations returns [EObject current=null] +// Rule DoubleLiteral +ruleDoubleLiteral returns [EObject current=null] @init { enterRule(); } @after { leaveRule(); }: ( ( { - newCompositeNode(grammarAccess.getOperationsAccess().getTermOperationsOperationsTypeEnumRuleCall_0()); + newCompositeNode(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); } - lv_termOperations_0_0=ruleOperationsType { + lv_value_0_0=ruleDouble { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getOperationsRule()); + $current = createModelElementForParent(grammarAccess.getDoubleLiteralRule()); } set( $current, - "termOperations", - lv_termOperations_0_0, - "OperationsType"); + "value", + lv_value_0_0, + "Double"); afterParserOrEnumRuleCall(); } @@ -425,92 +1151,113 @@ ruleOperations returns [EObject current=null] -// Rule OperationsType -ruleOperationsType returns [Enumerator current=null] +// Rule ProductOperation +ruleProductOperation returns [Enumerator current=null] @init { enterRule(); } @after { leaveRule(); }: -(( enumLiteral_0='+' +(( enumLiteral_0='*' { - $current = grammarAccess.getOperationsTypeAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getOperationsTypeAccess().getADDEnumLiteralDeclaration_0()); + $current = grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); } ) - |( enumLiteral_1='-' + |( enumLiteral_1='/' { - $current = grammarAccess.getOperationsTypeAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getOperationsTypeAccess().getSUBEnumLiteralDeclaration_1()); + $current = grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); } ) - |( enumLiteral_2='*' + |( enumLiteral_2='%' { - $current = grammarAccess.getOperationsTypeAccess().getMULTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getOperationsTypeAccess().getMULTEnumLiteralDeclaration_2()); + $current = grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); } -) - |( enumLiteral_3='/' +)); + + + +// Rule TermOperation +ruleTermOperation returns [Enumerator current=null] + @init { enterRule(); } + @after { leaveRule(); }: +(( enumLiteral_0='+' { - $current = grammarAccess.getOperationsTypeAccess().getDIVEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getOperationsTypeAccess().getDIVEnumLiteralDeclaration_3()); + $current = grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); } ) - |( enumLiteral_4='%' + |( enumLiteral_1='-' { - $current = grammarAccess.getOperationsTypeAccess().getMODEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getOperationsTypeAccess().getMODEnumLiteralDeclaration_4()); + $current = grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); } -) - |( enumLiteral_5='>' +)); + + + +// Rule CompareOperation +ruleCompareOperation returns [Enumerator current=null] + @init { enterRule(); } + @after { leaveRule(); }: +(( enumLiteral_0='>' { - $current = grammarAccess.getOperationsTypeAccess().getGREATEREnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getOperationsTypeAccess().getGREATEREnumLiteralDeclaration_5()); + $current = grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); } ) - |( enumLiteral_6='<' + |( enumLiteral_1='<' { - $current = grammarAccess.getOperationsTypeAccess().getLESSEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_6, grammarAccess.getOperationsTypeAccess().getLESSEnumLiteralDeclaration_6()); + $current = grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); } ) - |( enumLiteral_7='=' + |( enumLiteral_2='=' { - $current = grammarAccess.getOperationsTypeAccess().getEQUALSEnumLiteralDeclaration_7().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_7, grammarAccess.getOperationsTypeAccess().getEQUALSEnumLiteralDeclaration_7()); + $current = grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); } ) - |( enumLiteral_8='!=' + |( enumLiteral_3='!=' { - $current = grammarAccess.getOperationsTypeAccess().getNOTEQUALEnumLiteralDeclaration_8().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_8, grammarAccess.getOperationsTypeAccess().getNOTEQUALEnumLiteralDeclaration_8()); + $current = grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); } ) - |( enumLiteral_9='<=' + |( enumLiteral_4='<=' { - $current = grammarAccess.getOperationsTypeAccess().getLESSEQUALEnumLiteralDeclaration_9().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_9, grammarAccess.getOperationsTypeAccess().getLESSEQUALEnumLiteralDeclaration_9()); + $current = grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); } ) - |( enumLiteral_10='>=' + |( enumLiteral_5='>=' { - $current = grammarAccess.getOperationsTypeAccess().getGREATEREQUALEnumLiteralDeclaration_10().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_10, grammarAccess.getOperationsTypeAccess().getGREATEREQUALEnumLiteralDeclaration_10()); + $current = grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); } -) - |( enumLiteral_11='AND' +)); + + + +// Rule BooleanOperation +ruleBooleanOperation returns [Enumerator current=null] + @init { enterRule(); } + @after { leaveRule(); }: +(( enumLiteral_0='AND' { - $current = grammarAccess.getOperationsTypeAccess().getANDEnumLiteralDeclaration_11().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_11, grammarAccess.getOperationsTypeAccess().getANDEnumLiteralDeclaration_11()); + $current = grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); } ) - |( enumLiteral_12='OR' + |( enumLiteral_1='OR' { - $current = grammarAccess.getOperationsTypeAccess().getOREnumLiteralDeclaration_12().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_12, grammarAccess.getOperationsTypeAccess().getOREnumLiteralDeclaration_12()); + $current = grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); } ) - |( enumLiteral_13='XOR' + |( enumLiteral_2='XOR' { - $current = grammarAccess.getOperationsTypeAccess().getXOREnumLiteralDeclaration_13().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_13, grammarAccess.getOperationsTypeAccess().getXOREnumLiteralDeclaration_13()); + $current = grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); } )); diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens index 4c16ce2206c2bf9aaf6cd9ae94f62eab6668bcf5..7bffa1dbb63541505d90bc7c83dc8479c20d5d40 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens @@ -1,41 +1,55 @@ -RULE_ID=6 -T__27=27 -T__26=26 -T__25=25 -T__24=24 -T__23=23 -T__22=22 -RULE_ANY_OTHER=10 -T__21=21 -T__20=20 -RULE_SL_COMMENT=8 -RULE_ML_COMMENT=7 -T__19=19 -RULE_STRING=5 -T__16=16 -T__15=15 -T__18=18 -T__17=17 -T__12=12 -T__11=11 -T__14=14 -T__13=13 -RULE_INT=4 -RULE_WS=9 -'>='=24 -'/'=17 -'OR'=26 -'>'=19 -'XOR'=27 -'<='=23 -'!='=22 -'='=21 -'<'=20 -'('=11 -'-'=13 -'*'=16 -'+'=15 -')'=12 -'.'=14 -'AND'=25 -'%'=18 +RULE_ID=6 +T__29=29 +T__28=28 +T__27=27 +T__26=26 +T__25=25 +T__24=24 +T__23=23 +T__22=22 +RULE_ANY_OTHER=10 +T__21=21 +T__20=20 +RULE_SL_COMMENT=8 +RULE_ML_COMMENT=7 +T__30=30 +T__19=19 +T__31=31 +RULE_STRING=5 +T__32=32 +T__33=33 +T__16=16 +T__34=34 +T__15=15 +T__18=18 +T__17=17 +T__12=12 +T__11=11 +T__14=14 +T__13=13 +RULE_INT=4 +RULE_WS=9 +'true'=13 +'NOT'=17 +'>='=31 +'/'=23 +'OR'=33 +'>'=26 +'XOR'=34 +'?'=15 +'<='=30 +'!='=29 +'='=28 +'false'=14 +'<'=27 +':'=16 +'('=19 +'-'=11 +'*'=22 +'+'=25 +','=21 +'.'=12 +')'=20 +'AND'=32 +'^'=18 +'%'=24 diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslLexer.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslLexer.java index a35af1c2b726d97cf58fe1f5cb3ad694e1293536..f5c9b3f0fca54dac20751c79dc53c0e58e92ce68 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslLexer.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslLexer.java @@ -1,1287 +1,1525 @@ -package org.xtext.example.mydsl.parser.antlr.internal; - -// Hack: Use our own Lexer superclass by means of import. -// Currently there is no other way to specify the superclass for the lexer. -import org.eclipse.xtext.parser.antlr.Lexer; - - -import org.antlr.runtime.*; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; - +package org.xtext.example.mydsl.parser.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.parser.antlr.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + @SuppressWarnings("all") -public class InternalMyDslLexer extends Lexer { - public static final int RULE_ID=6; - public static final int T__27=27; - public static final int T__26=26; - public static final int T__25=25; - public static final int T__24=24; - public static final int T__23=23; - public static final int T__22=22; - public static final int RULE_ANY_OTHER=10; - public static final int T__21=21; - public static final int T__20=20; - public static final int EOF=-1; - public static final int RULE_SL_COMMENT=8; - public static final int RULE_ML_COMMENT=7; - public static final int T__19=19; - public static final int RULE_STRING=5; - public static final int T__16=16; - public static final int T__15=15; - public static final int T__18=18; - public static final int T__17=17; - public static final int T__12=12; - public static final int T__11=11; - public static final int T__14=14; - public static final int T__13=13; - public static final int RULE_INT=4; - public static final int RULE_WS=9; - - // delegates - // delegators - - public InternalMyDslLexer() {;} - public InternalMyDslLexer(CharStream input) { - this(input, new RecognizerSharedState()); - } - public InternalMyDslLexer(CharStream input, RecognizerSharedState state) { - super(input,state); - - } - public String getGrammarFileName() { return "../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g"; } - - // $ANTLR start "T__11" - public final void mT__11() throws RecognitionException { - try { - int _type = T__11; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:11:7: ( '(' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:11:9: '(' - { - match('('); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__11" - - // $ANTLR start "T__12" - public final void mT__12() throws RecognitionException { - try { - int _type = T__12; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:12:7: ( ')' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:12:9: ')' - { - match(')'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__12" - - // $ANTLR start "T__13" - public final void mT__13() throws RecognitionException { - try { - int _type = T__13; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:13:7: ( '-' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:13:9: '-' - { - match('-'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__13" - - // $ANTLR start "T__14" - public final void mT__14() throws RecognitionException { - try { - int _type = T__14; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:14:7: ( '.' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:14:9: '.' - { - match('.'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__14" - - // $ANTLR start "T__15" - public final void mT__15() throws RecognitionException { - try { - int _type = T__15; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:15:7: ( '+' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:15:9: '+' - { - match('+'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__15" - - // $ANTLR start "T__16" - public final void mT__16() throws RecognitionException { - try { - int _type = T__16; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:16:7: ( '*' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:16:9: '*' - { - match('*'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__16" - - // $ANTLR start "T__17" - public final void mT__17() throws RecognitionException { - try { - int _type = T__17; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:17:7: ( '/' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:17:9: '/' - { - match('/'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__17" - - // $ANTLR start "T__18" - public final void mT__18() throws RecognitionException { - try { - int _type = T__18; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:18:7: ( '%' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:18:9: '%' - { - match('%'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__18" - - // $ANTLR start "T__19" - public final void mT__19() throws RecognitionException { - try { - int _type = T__19; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:19:7: ( '>' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:19:9: '>' - { - match('>'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__19" - - // $ANTLR start "T__20" - public final void mT__20() throws RecognitionException { - try { - int _type = T__20; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:20:7: ( '<' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:20:9: '<' - { - match('<'); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__20" - - // $ANTLR start "T__21" - public final void mT__21() throws RecognitionException { - try { - int _type = T__21; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:21:7: ( '=' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:21:9: '=' - { - match('='); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__21" - - // $ANTLR start "T__22" - public final void mT__22() throws RecognitionException { - try { - int _type = T__22; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:22:7: ( '!=' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:22:9: '!=' - { - match("!="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__22" - - // $ANTLR start "T__23" - public final void mT__23() throws RecognitionException { - try { - int _type = T__23; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:23:7: ( '<=' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:23:9: '<=' - { - match("<="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__23" - - // $ANTLR start "T__24" - public final void mT__24() throws RecognitionException { - try { - int _type = T__24; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:24:7: ( '>=' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:24:9: '>=' - { - match(">="); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__24" - - // $ANTLR start "T__25" - public final void mT__25() throws RecognitionException { - try { - int _type = T__25; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:25:7: ( 'AND' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:25:9: 'AND' - { - match("AND"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__25" - - // $ANTLR start "T__26" - public final void mT__26() throws RecognitionException { - try { - int _type = T__26; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:26:7: ( 'OR' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:26:9: 'OR' - { - match("OR"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__26" - - // $ANTLR start "T__27" - public final void mT__27() throws RecognitionException { - try { - int _type = T__27; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:27:7: ( 'XOR' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:27:9: 'XOR' - { - match("XOR"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "T__27" - - // $ANTLR start "RULE_ID" - public final void mRULE_ID() throws RecognitionException { - try { - int _type = RULE_ID; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:11: ( '^' )? - int alt1=2; - int LA1_0 = input.LA(1); - - if ( (LA1_0=='^') ) { - alt1=1; - } - switch (alt1) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:11: '^' - { - match('^'); - - } - break; - - } - - if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* - loop2: - do { - int alt2=2; - int LA2_0 = input.LA(1); - - if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { - alt2=1; - } - - - switch (alt2) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g: - { - if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop2; - } - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ID" - - // $ANTLR start "RULE_INT" - public final void mRULE_INT() throws RecognitionException { - try { - int _type = RULE_INT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:521:10: ( ( '0' .. '9' )+ ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:521:12: ( '0' .. '9' )+ - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:521:12: ( '0' .. '9' )+ - int cnt3=0; - loop3: - do { - int alt3=2; - int LA3_0 = input.LA(1); - - if ( ((LA3_0>='0' && LA3_0<='9')) ) { - alt3=1; - } - - - switch (alt3) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:521:13: '0' .. '9' - { - matchRange('0','9'); - - } - break; - - default : - if ( cnt3 >= 1 ) break loop3; - EarlyExitException eee = - new EarlyExitException(3, input); - throw eee; - } - cnt3++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_INT" - - // $ANTLR start "RULE_STRING" - public final void mRULE_STRING() throws RecognitionException { - try { - int _type = RULE_STRING; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - int alt6=2; - int LA6_0 = input.LA(1); - - if ( (LA6_0=='\"') ) { - alt6=1; - } - else if ( (LA6_0=='\'') ) { - alt6=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); - - throw nvae; - } - switch (alt6) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' - { - match('\"'); - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* - loop4: - do { - int alt4=3; - int LA4_0 = input.LA(1); - - if ( (LA4_0=='\\') ) { - alt4=1; - } - else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) { - alt4=2; - } - - - switch (alt4) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) - { - match('\\'); - if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - case 2 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:66: ~ ( ( '\\\\' | '\"' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop4; - } - } while (true); - - match('\"'); - - } - break; - case 2 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' - { - match('\''); - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* - loop5: - do { - int alt5=3; - int LA5_0 = input.LA(1); - - if ( (LA5_0=='\\') ) { - alt5=1; - } - else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) { - alt5=2; - } - - - switch (alt5) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) - { - match('\\'); - if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - case 2 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:523:137: ~ ( ( '\\\\' | '\\'' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop5; - } - } while (true); - - match('\''); - - } - break; - - } - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_STRING" - - // $ANTLR start "RULE_ML_COMMENT" - public final void mRULE_ML_COMMENT() throws RecognitionException { - try { - int _type = RULE_ML_COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:525:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:525:19: '/*' ( options {greedy=false; } : . )* '*/' - { - match("/*"); - - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:525:24: ( options {greedy=false; } : . )* - loop7: - do { - int alt7=2; - int LA7_0 = input.LA(1); - - if ( (LA7_0=='*') ) { - int LA7_1 = input.LA(2); - - if ( (LA7_1=='/') ) { - alt7=2; - } - else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) { - alt7=1; - } - - - } - else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) { - alt7=1; - } - - - switch (alt7) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:525:52: . - { - matchAny(); - - } - break; - - default : - break loop7; - } - } while (true); - - match("*/"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ML_COMMENT" - - // $ANTLR start "RULE_SL_COMMENT" - public final void mRULE_SL_COMMENT() throws RecognitionException { - try { - int _type = RULE_SL_COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? - { - match("//"); - - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:24: (~ ( ( '\\n' | '\\r' ) ) )* - loop8: - do { - int alt8=2; - int LA8_0 = input.LA(1); - - if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) { - alt8=1; - } - - - switch (alt8) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:24: ~ ( ( '\\n' | '\\r' ) ) - { - if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - break loop8; - } - } while (true); - - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:40: ( ( '\\r' )? '\\n' )? - int alt10=2; - int LA10_0 = input.LA(1); - - if ( (LA10_0=='\n'||LA10_0=='\r') ) { - alt10=1; - } - switch (alt10) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:41: ( '\\r' )? '\\n' - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:41: ( '\\r' )? - int alt9=2; - int LA9_0 = input.LA(1); - - if ( (LA9_0=='\r') ) { - alt9=1; - } - switch (alt9) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:41: '\\r' - { - match('\r'); - - } - break; - - } - - match('\n'); - - } - break; - - } - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_SL_COMMENT" - - // $ANTLR start "RULE_WS" - public final void mRULE_WS() throws RecognitionException { - try { - int _type = RULE_WS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:529:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:529:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:529:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ - int cnt11=0; - loop11: - do { - int alt11=2; - int LA11_0 = input.LA(1); - - if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { - alt11=1; - } - - - switch (alt11) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g: - { - if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { - input.consume(); - - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse;} - - - } - break; - - default : - if ( cnt11 >= 1 ) break loop11; - EarlyExitException eee = - new EarlyExitException(11, input); - throw eee; - } - cnt11++; - } while (true); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_WS" - - // $ANTLR start "RULE_ANY_OTHER" - public final void mRULE_ANY_OTHER() throws RecognitionException { - try { - int _type = RULE_ANY_OTHER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:531:16: ( . ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:531:18: . - { - matchAny(); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "RULE_ANY_OTHER" - - public void mTokens() throws RecognitionException { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) - int alt12=24; - alt12 = dfa12.predict(input); - switch (alt12) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:10: T__11 - { - mT__11(); - - } - break; - case 2 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:16: T__12 - { - mT__12(); - - } - break; - case 3 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:22: T__13 - { - mT__13(); - - } - break; - case 4 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:28: T__14 - { - mT__14(); - - } - break; - case 5 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:34: T__15 - { - mT__15(); - - } - break; - case 6 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:40: T__16 - { - mT__16(); - - } - break; - case 7 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:46: T__17 - { - mT__17(); - - } - break; - case 8 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:52: T__18 - { - mT__18(); - - } - break; - case 9 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:58: T__19 - { - mT__19(); - - } - break; - case 10 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:64: T__20 - { - mT__20(); - - } - break; - case 11 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:70: T__21 - { - mT__21(); - - } - break; - case 12 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:76: T__22 - { - mT__22(); - - } - break; - case 13 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:82: T__23 - { - mT__23(); - - } - break; - case 14 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:88: T__24 - { - mT__24(); - - } - break; - case 15 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:94: T__25 - { - mT__25(); - - } - break; - case 16 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:100: T__26 - { - mT__26(); - - } - break; - case 17 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:106: T__27 - { - mT__27(); - - } - break; - case 18 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:112: RULE_ID - { - mRULE_ID(); - - } - break; - case 19 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:120: RULE_INT - { - mRULE_INT(); - - } - break; - case 20 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:129: RULE_STRING - { - mRULE_STRING(); - - } - break; - case 21 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:141: RULE_ML_COMMENT - { - mRULE_ML_COMMENT(); - - } - break; - case 22 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:157: RULE_SL_COMMENT - { - mRULE_SL_COMMENT(); - - } - break; - case 23 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:173: RULE_WS - { - mRULE_WS(); - - } - break; - case 24 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:181: RULE_ANY_OTHER - { - mRULE_ANY_OTHER(); - - } - break; - - } - - } - - - protected DFA12 dfa12 = new DFA12(this); - static final String DFA12_eotS = - "\7\uffff\1\37\1\uffff\1\42\1\44\1\uffff\1\26\3\50\1\26\2\uffff"+ - "\2\26\22\uffff\1\50\1\uffff\1\57\1\50\3\uffff\1\61\1\uffff\1\62"+ - "\2\uffff"; - static final String DFA12_eofS = - "\63\uffff"; - static final String DFA12_minS = - "\1\0\6\uffff\1\52\1\uffff\2\75\1\uffff\1\75\1\116\1\122\1\117\1"+ - "\101\2\uffff\2\0\22\uffff\1\104\1\uffff\1\60\1\122\3\uffff\1\60"+ - "\1\uffff\1\60\2\uffff"; - static final String DFA12_maxS = - "\1\uffff\6\uffff\1\57\1\uffff\2\75\1\uffff\1\75\1\116\1\122\1\117"+ - "\1\172\2\uffff\2\uffff\22\uffff\1\104\1\uffff\1\172\1\122\3\uffff"+ - "\1\172\1\uffff\1\172\2\uffff"; - static final String DFA12_acceptS = - "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\uffff\1\10\2\uffff\1\13\5\uffff"+ - "\1\22\1\23\2\uffff\1\27\1\30\1\1\1\2\1\3\1\4\1\5\1\6\1\25\1\26\1"+ - "\7\1\10\1\16\1\11\1\15\1\12\1\13\1\14\1\uffff\1\22\2\uffff\1\23"+ - "\1\24\1\27\1\uffff\1\20\1\uffff\1\17\1\21"; - static final String DFA12_specialS = - "\1\0\22\uffff\1\1\1\2\36\uffff}>"; - static final String[] DFA12_transitionS = { - "\11\26\2\25\2\26\1\25\22\26\1\25\1\14\1\23\2\26\1\10\1\26\1"+ - "\24\1\1\1\2\1\6\1\5\1\26\1\3\1\4\1\7\12\22\2\26\1\12\1\13\1"+ - "\11\2\26\1\15\15\21\1\16\10\21\1\17\2\21\3\26\1\20\1\21\1\26"+ - "\32\21\uff85\26", - "", - "", - "", - "", - "", - "", - "\1\35\4\uffff\1\36", - "", - "\1\41", - "\1\43", - "", - "\1\46", - "\1\47", - "\1\51", - "\1\52", - "\32\50\4\uffff\1\50\1\uffff\32\50", - "", - "", - "\0\54", - "\0\54", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\56", - "", - "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50", - "\1\60", - "", - "", - "", - "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50", - "", - "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50", - "", - "" - }; - - static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS); - static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS); - static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS); - static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS); - static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS); - static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS); - static final short[][] DFA12_transition; - - static { - int numStates = DFA12_transitionS.length; - DFA12_transition = new short[numStates][]; - for (int i=0; i<numStates; i++) { - DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]); - } - } - - class DFA12 extends DFA { - - public DFA12(BaseRecognizer recognizer) { - this.recognizer = recognizer; - this.decisionNumber = 12; - this.eot = DFA12_eot; - this.eof = DFA12_eof; - this.min = DFA12_min; - this.max = DFA12_max; - this.accept = DFA12_accept; - this.special = DFA12_special; - this.transition = DFA12_transition; - } - public String getDescription() { - return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; - } - public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { - IntStream input = _input; - int _s = s; - switch ( s ) { - case 0 : - int LA12_0 = input.LA(1); - - s = -1; - if ( (LA12_0=='(') ) {s = 1;} - - else if ( (LA12_0==')') ) {s = 2;} - - else if ( (LA12_0=='-') ) {s = 3;} - - else if ( (LA12_0=='.') ) {s = 4;} - - else if ( (LA12_0=='+') ) {s = 5;} - - else if ( (LA12_0=='*') ) {s = 6;} - - else if ( (LA12_0=='/') ) {s = 7;} - - else if ( (LA12_0=='%') ) {s = 8;} - - else if ( (LA12_0=='>') ) {s = 9;} - - else if ( (LA12_0=='<') ) {s = 10;} - - else if ( (LA12_0=='=') ) {s = 11;} - - else if ( (LA12_0=='!') ) {s = 12;} - - else if ( (LA12_0=='A') ) {s = 13;} - - else if ( (LA12_0=='O') ) {s = 14;} - - else if ( (LA12_0=='X') ) {s = 15;} - - else if ( (LA12_0=='^') ) {s = 16;} - - else if ( ((LA12_0>='B' && LA12_0<='N')||(LA12_0>='P' && LA12_0<='W')||(LA12_0>='Y' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) {s = 17;} - - else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 18;} - - else if ( (LA12_0=='\"') ) {s = 19;} - - else if ( (LA12_0=='\'') ) {s = 20;} - - else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 21;} - - else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||LA12_0==','||(LA12_0>=':' && LA12_0<=';')||(LA12_0>='?' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 22;} - - if ( s>=0 ) return s; - break; - case 1 : - int LA12_19 = input.LA(1); - - s = -1; - if ( ((LA12_19>='\u0000' && LA12_19<='\uFFFF')) ) {s = 44;} - - else s = 22; - - if ( s>=0 ) return s; - break; - case 2 : - int LA12_20 = input.LA(1); - - s = -1; - if ( ((LA12_20>='\u0000' && LA12_20<='\uFFFF')) ) {s = 44;} - - else s = 22; - - if ( s>=0 ) return s; - break; - } - NoViableAltException nvae = - new NoViableAltException(getDescription(), 12, _s, input); - error(nvae); - throw nvae; - } - } - - +public class InternalMyDslLexer extends Lexer { + public static final int RULE_ID=6; + public static final int T__29=29; + public static final int T__28=28; + public static final int T__27=27; + public static final int T__26=26; + public static final int T__25=25; + public static final int T__24=24; + public static final int T__23=23; + public static final int T__22=22; + public static final int RULE_ANY_OTHER=10; + public static final int T__21=21; + public static final int T__20=20; + public static final int EOF=-1; + public static final int RULE_SL_COMMENT=8; + public static final int RULE_ML_COMMENT=7; + public static final int T__30=30; + public static final int T__19=19; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_STRING=5; + public static final int T__16=16; + public static final int T__33=33; + public static final int T__15=15; + public static final int T__34=34; + public static final int T__18=18; + public static final int T__17=17; + public static final int T__12=12; + public static final int T__11=11; + public static final int T__14=14; + public static final int T__13=13; + public static final int RULE_INT=4; + public static final int RULE_WS=9; + + // delegates + // delegators + + public InternalMyDslLexer() {;} + public InternalMyDslLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalMyDslLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g"; } + + // $ANTLR start "T__11" + public final void mT__11() throws RecognitionException { + try { + int _type = T__11; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:11:7: ( '-' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:11:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__11" + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:12:7: ( '.' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:12:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__12" + + // $ANTLR start "T__13" + public final void mT__13() throws RecognitionException { + try { + int _type = T__13; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:13:7: ( 'true' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:13:9: 'true' + { + match("true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__13" + + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { + try { + int _type = T__14; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:14:7: ( 'false' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:14:9: 'false' + { + match("false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__14" + + // $ANTLR start "T__15" + public final void mT__15() throws RecognitionException { + try { + int _type = T__15; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:15:7: ( '?' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:15:9: '?' + { + match('?'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__15" + + // $ANTLR start "T__16" + public final void mT__16() throws RecognitionException { + try { + int _type = T__16; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:16:7: ( ':' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:16:9: ':' + { + match(':'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__16" + + // $ANTLR start "T__17" + public final void mT__17() throws RecognitionException { + try { + int _type = T__17; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:17:7: ( 'NOT' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:17:9: 'NOT' + { + match("NOT"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__17" + + // $ANTLR start "T__18" + public final void mT__18() throws RecognitionException { + try { + int _type = T__18; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:18:7: ( '^' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:18:9: '^' + { + match('^'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__18" + + // $ANTLR start "T__19" + public final void mT__19() throws RecognitionException { + try { + int _type = T__19; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:19:7: ( '(' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:19:9: '(' + { + match('('); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__19" + + // $ANTLR start "T__20" + public final void mT__20() throws RecognitionException { + try { + int _type = T__20; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:20:7: ( ')' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:20:9: ')' + { + match(')'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__20" + + // $ANTLR start "T__21" + public final void mT__21() throws RecognitionException { + try { + int _type = T__21; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:21:7: ( ',' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:21:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__21" + + // $ANTLR start "T__22" + public final void mT__22() throws RecognitionException { + try { + int _type = T__22; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:22:7: ( '*' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:22:9: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__22" + + // $ANTLR start "T__23" + public final void mT__23() throws RecognitionException { + try { + int _type = T__23; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:23:7: ( '/' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:23:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__23" + + // $ANTLR start "T__24" + public final void mT__24() throws RecognitionException { + try { + int _type = T__24; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:24:7: ( '%' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:24:9: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__24" + + // $ANTLR start "T__25" + public final void mT__25() throws RecognitionException { + try { + int _type = T__25; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:25:7: ( '+' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:25:9: '+' + { + match('+'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__25" + + // $ANTLR start "T__26" + public final void mT__26() throws RecognitionException { + try { + int _type = T__26; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:26:7: ( '>' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:26:9: '>' + { + match('>'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__26" + + // $ANTLR start "T__27" + public final void mT__27() throws RecognitionException { + try { + int _type = T__27; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:27:7: ( '<' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:27:9: '<' + { + match('<'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__27" + + // $ANTLR start "T__28" + public final void mT__28() throws RecognitionException { + try { + int _type = T__28; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:28:7: ( '=' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:28:9: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__28" + + // $ANTLR start "T__29" + public final void mT__29() throws RecognitionException { + try { + int _type = T__29; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:29:7: ( '!=' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:29:9: '!=' + { + match("!="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__29" + + // $ANTLR start "T__30" + public final void mT__30() throws RecognitionException { + try { + int _type = T__30; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:30:7: ( '<=' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:30:9: '<=' + { + match("<="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__30" + + // $ANTLR start "T__31" + public final void mT__31() throws RecognitionException { + try { + int _type = T__31; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:31:7: ( '>=' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:31:9: '>=' + { + match(">="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__31" + + // $ANTLR start "T__32" + public final void mT__32() throws RecognitionException { + try { + int _type = T__32; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:32:7: ( 'AND' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:32:9: 'AND' + { + match("AND"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__32" + + // $ANTLR start "T__33" + public final void mT__33() throws RecognitionException { + try { + int _type = T__33; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:33:7: ( 'OR' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:33:9: 'OR' + { + match("OR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__33" + + // $ANTLR start "T__34" + public final void mT__34() throws RecognitionException { + try { + int _type = T__34; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:34:7: ( 'XOR' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:34:9: 'XOR' + { + match("XOR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__34" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:11: ( '^' )? + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='^') ) { + alt1=1; + } + switch (alt1) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1266:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop2; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1268:10: ( ( '0' .. '9' )+ ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1268:12: ( '0' .. '9' )+ + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1268:12: ( '0' .. '9' )+ + int cnt3=0; + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( ((LA3_0>='0' && LA3_0<='9')) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1268:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt3 >= 1 ) break loop3; + EarlyExitException eee = + new EarlyExitException(3, input); + throw eee; + } + cnt3++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='\"') ) { + alt6=1; + } + else if ( (LA6_0=='\'') ) { + alt6=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* + loop4: + do { + int alt4=3; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='\\') ) { + alt4=1; + } + else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) { + alt4=2; + } + + + switch (alt4) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:66: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop4; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* + loop5: + do { + int alt5=3; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='\\') ) { + alt5=1; + } + else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) { + alt5=2; + } + + + switch (alt5) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1270:137: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop5; + } + } while (true); + + match('\''); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1272:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1272:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1272:24: ( options {greedy=false; } : . )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='*') ) { + int LA7_1 = input.LA(2); + + if ( (LA7_1=='/') ) { + alt7=2; + } + else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) { + alt7=1; + } + + + } + else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1272:52: . + { + matchAny(); + + } + break; + + default : + break loop7; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); + + if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:24: ~ ( ( '\\n' | '\\r' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop8; + } + } while (true); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:40: ( ( '\\r' )? '\\n' )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='\n'||LA10_0=='\r') ) { + alt10=1; + } + switch (alt10) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:41: ( '\\r' )? '\\n' + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:41: ( '\\r' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='\r') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1274:41: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1276:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1276:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1276:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt11=0; + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt11 >= 1 ) break loop11; + EarlyExitException eee = + new EarlyExitException(11, input); + throw eee; + } + cnt11++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1278:16: ( . ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1278:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt12=31; + alt12 = dfa12.predict(input); + switch (alt12) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:10: T__11 + { + mT__11(); + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:16: T__12 + { + mT__12(); + + } + break; + case 3 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:22: T__13 + { + mT__13(); + + } + break; + case 4 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:28: T__14 + { + mT__14(); + + } + break; + case 5 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:34: T__15 + { + mT__15(); + + } + break; + case 6 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:40: T__16 + { + mT__16(); + + } + break; + case 7 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:46: T__17 + { + mT__17(); + + } + break; + case 8 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:52: T__18 + { + mT__18(); + + } + break; + case 9 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:58: T__19 + { + mT__19(); + + } + break; + case 10 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:64: T__20 + { + mT__20(); + + } + break; + case 11 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:70: T__21 + { + mT__21(); + + } + break; + case 12 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:76: T__22 + { + mT__22(); + + } + break; + case 13 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:82: T__23 + { + mT__23(); + + } + break; + case 14 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:88: T__24 + { + mT__24(); + + } + break; + case 15 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:94: T__25 + { + mT__25(); + + } + break; + case 16 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:100: T__26 + { + mT__26(); + + } + break; + case 17 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:106: T__27 + { + mT__27(); + + } + break; + case 18 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:112: T__28 + { + mT__28(); + + } + break; + case 19 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:118: T__29 + { + mT__29(); + + } + break; + case 20 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:124: T__30 + { + mT__30(); + + } + break; + case 21 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:130: T__31 + { + mT__31(); + + } + break; + case 22 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:136: T__32 + { + mT__32(); + + } + break; + case 23 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:142: T__33 + { + mT__33(); + + } + break; + case 24 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:148: T__34 + { + mT__34(); + + } + break; + case 25 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:154: RULE_ID + { + mRULE_ID(); + + } + break; + case 26 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:162: RULE_INT + { + mRULE_INT(); + + } + break; + case 27 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:171: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 28 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:183: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 29 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:199: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 30 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:215: RULE_WS + { + mRULE_WS(); + + } + break; + case 31 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1:223: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA12 dfa12 = new DFA12(this); + static final String DFA12_eotS = + "\3\uffff\2\40\2\uffff\1\40\1\45\4\uffff\1\54\2\uffff\1\60\1\62\1"+ + "\uffff\1\34\3\40\2\uffff\2\34\4\uffff\1\40\1\uffff\1\40\2\uffff"+ + "\1\40\20\uffff\1\40\1\77\1\40\3\uffff\2\40\1\103\1\104\1\uffff\1"+ + "\105\1\106\1\40\4\uffff\1\110\1\uffff"; + static final String DFA12_eofS = + "\111\uffff"; + static final String DFA12_minS = + "\1\0\2\uffff\1\162\1\141\2\uffff\1\117\1\101\4\uffff\1\52\2\uffff"+ + "\2\75\1\uffff\1\75\1\116\1\122\1\117\2\uffff\2\0\4\uffff\1\165\1"+ + "\uffff\1\154\2\uffff\1\124\20\uffff\1\104\1\60\1\122\3\uffff\1\145"+ + "\1\163\2\60\1\uffff\2\60\1\145\4\uffff\1\60\1\uffff"; + static final String DFA12_maxS = + "\1\uffff\2\uffff\1\162\1\141\2\uffff\1\117\1\172\4\uffff\1\57\2"+ + "\uffff\2\75\1\uffff\1\75\1\116\1\122\1\117\2\uffff\2\uffff\4\uffff"+ + "\1\165\1\uffff\1\154\2\uffff\1\124\20\uffff\1\104\1\172\1\122\3"+ + "\uffff\1\145\1\163\2\172\1\uffff\2\172\1\145\4\uffff\1\172\1\uffff"; + static final String DFA12_acceptS = + "\1\uffff\1\1\1\2\2\uffff\1\5\1\6\2\uffff\1\11\1\12\1\13\1\14\1\uffff"+ + "\1\16\1\17\2\uffff\1\22\4\uffff\1\31\1\32\2\uffff\1\36\1\37\1\1"+ + "\1\2\1\uffff\1\31\1\uffff\1\5\1\6\1\uffff\1\10\1\11\1\12\1\13\1"+ + "\14\1\34\1\35\1\15\1\16\1\17\1\25\1\20\1\24\1\21\1\22\1\23\3\uffff"+ + "\1\32\1\33\1\36\4\uffff\1\27\3\uffff\1\7\1\26\1\30\1\3\1\uffff\1"+ + "\4"; + static final String DFA12_specialS = + "\1\1\30\uffff\1\0\1\2\56\uffff}>"; + static final String[] DFA12_transitionS = { + "\11\34\2\33\2\34\1\33\22\34\1\33\1\23\1\31\2\34\1\16\1\34\1"+ + "\32\1\11\1\12\1\14\1\17\1\13\1\1\1\2\1\15\12\30\1\6\1\34\1\21"+ + "\1\22\1\20\1\5\1\34\1\24\14\27\1\7\1\25\10\27\1\26\2\27\3\34"+ + "\1\10\1\27\1\34\5\27\1\4\15\27\1\3\6\27\uff85\34", + "", + "", + "\1\37", + "\1\41", + "", + "", + "\1\44", + "\32\40\4\uffff\1\40\1\uffff\32\40", + "", + "", + "", + "", + "\1\52\4\uffff\1\53", + "", + "", + "\1\57", + "\1\61", + "", + "\1\64", + "\1\65", + "\1\66", + "\1\67", + "", + "", + "\0\71", + "\0\71", + "", + "", + "", + "", + "\1\73", + "", + "\1\74", + "", + "", + "\1\75", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\76", + "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\1\100", + "", + "", + "", + "\1\101", + "\1\102", + "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "", + "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "\1\107", + "", + "", + "", + "", + "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40", + "" + }; + + static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS); + static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS); + static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS); + static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS); + static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS); + static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS); + static final short[][] DFA12_transition; + + static { + int numStates = DFA12_transitionS.length; + DFA12_transition = new short[numStates][]; + for (int i=0; i<numStates; i++) { + DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]); + } + } + + class DFA12 extends DFA { + + public DFA12(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 12; + this.eot = DFA12_eot; + this.eof = DFA12_eof; + this.min = DFA12_min; + this.max = DFA12_max; + this.accept = DFA12_accept; + this.special = DFA12_special; + this.transition = DFA12_transition; + } + public String getDescription() { + return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + IntStream input = _input; + int _s = s; + switch ( s ) { + case 0 : + int LA12_25 = input.LA(1); + + s = -1; + if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 57;} + + else s = 28; + + if ( s>=0 ) return s; + break; + case 1 : + int LA12_0 = input.LA(1); + + s = -1; + if ( (LA12_0=='-') ) {s = 1;} + + else if ( (LA12_0=='.') ) {s = 2;} + + else if ( (LA12_0=='t') ) {s = 3;} + + else if ( (LA12_0=='f') ) {s = 4;} + + else if ( (LA12_0=='?') ) {s = 5;} + + else if ( (LA12_0==':') ) {s = 6;} + + else if ( (LA12_0=='N') ) {s = 7;} + + else if ( (LA12_0=='^') ) {s = 8;} + + else if ( (LA12_0=='(') ) {s = 9;} + + else if ( (LA12_0==')') ) {s = 10;} + + else if ( (LA12_0==',') ) {s = 11;} + + else if ( (LA12_0=='*') ) {s = 12;} + + else if ( (LA12_0=='/') ) {s = 13;} + + else if ( (LA12_0=='%') ) {s = 14;} + + else if ( (LA12_0=='+') ) {s = 15;} + + else if ( (LA12_0=='>') ) {s = 16;} + + else if ( (LA12_0=='<') ) {s = 17;} + + else if ( (LA12_0=='=') ) {s = 18;} + + else if ( (LA12_0=='!') ) {s = 19;} + + else if ( (LA12_0=='A') ) {s = 20;} + + else if ( (LA12_0=='O') ) {s = 21;} + + else if ( (LA12_0=='X') ) {s = 22;} + + else if ( ((LA12_0>='B' && LA12_0<='M')||(LA12_0>='P' && LA12_0<='W')||(LA12_0>='Y' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='e')||(LA12_0>='g' && LA12_0<='s')||(LA12_0>='u' && LA12_0<='z')) ) {s = 23;} + + else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;} + + else if ( (LA12_0=='\"') ) {s = 25;} + + else if ( (LA12_0=='\'') ) {s = 26;} + + else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 27;} + + else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||LA12_0==';'||LA12_0=='@'||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 28;} + + if ( s>=0 ) return s; + break; + case 2 : + int LA12_26 = input.LA(1); + + s = -1; + if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 57;} + + else s = 28; + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 12, _s, input); + error(nvae); + throw nvae; + } + } + + } \ No newline at end of file diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslParser.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslParser.java index 9ebcb66e41f2878d733736b470a3b0a56f15c39d..33e0a2fe26ab9d3ddc49b43a9eaf403f92217147 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslParser.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslParser.java @@ -1,1491 +1,3670 @@ -package org.xtext.example.mydsl.parser.antlr.internal; - -import org.eclipse.xtext.*; -import org.eclipse.xtext.parser.*; -import org.eclipse.xtext.parser.impl.*; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.common.util.Enumerator; -import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; -import org.eclipse.xtext.parser.antlr.XtextTokenStream; -import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; -import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; -import org.xtext.example.mydsl.services.MyDslGrammarAccess; - - - -import org.antlr.runtime.*; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; - +package org.xtext.example.mydsl.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.common.util.Enumerator; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import org.xtext.example.mydsl.services.MyDslGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + @SuppressWarnings("all") -public class InternalMyDslParser extends AbstractInternalAntlrParser { - public static final String[] tokenNames = new String[] { - "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_STRING", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'('", "')'", "'-'", "'.'", "'+'", "'*'", "'/'", "'%'", "'>'", "'<'", "'='", "'!='", "'<='", "'>='", "'AND'", "'OR'", "'XOR'" - }; - public static final int RULE_ID=6; - public static final int T__27=27; - public static final int T__26=26; - public static final int T__25=25; - public static final int T__24=24; - public static final int T__23=23; - public static final int T__22=22; - public static final int RULE_ANY_OTHER=10; - public static final int T__21=21; - public static final int T__20=20; - public static final int RULE_SL_COMMENT=8; - public static final int EOF=-1; - public static final int RULE_ML_COMMENT=7; - public static final int T__19=19; - public static final int RULE_STRING=5; - public static final int T__16=16; - public static final int T__15=15; - public static final int T__18=18; - public static final int T__17=17; - public static final int T__12=12; - public static final int T__11=11; - public static final int T__14=14; - public static final int T__13=13; - public static final int RULE_INT=4; - public static final int RULE_WS=9; - - // delegates - // delegators - - - public InternalMyDslParser(TokenStream input) { - this(input, new RecognizerSharedState()); - } - public InternalMyDslParser(TokenStream input, RecognizerSharedState state) { - super(input, state); - - } - - - public String[] getTokenNames() { return InternalMyDslParser.tokenNames; } - public String getGrammarFileName() { return "../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g"; } - - - - private MyDslGrammarAccess grammarAccess; - - public InternalMyDslParser(TokenStream input, MyDslGrammarAccess grammarAccess) { - this(input); - this.grammarAccess = grammarAccess; - registerRules(grammarAccess.getGrammar()); - } - - @Override - protected String getFirstRuleName() { - return "Model"; - } - - @Override - protected MyDslGrammarAccess getGrammarAccess() { - return grammarAccess; - } - - - - // $ANTLR start "entryRuleModel" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:68:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ; - public final EObject entryRuleModel() throws RecognitionException { - EObject current = null; - - EObject iv_ruleModel = null; - - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:69:2: (iv_ruleModel= ruleModel EOF ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:70:2: iv_ruleModel= ruleModel EOF - { - newCompositeNode(grammarAccess.getModelRule()); - pushFollow(FOLLOW_ruleModel_in_entryRuleModel75); - iv_ruleModel=ruleModel(); - - state._fsp--; - - current =iv_ruleModel; - match(input,EOF,FOLLOW_EOF_in_entryRuleModel85); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleModel" - - - // $ANTLR start "ruleModel" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:77:1: ruleModel returns [EObject current=null] : ( (lv_terms_0_0= ruleTerm ) ) ; - public final EObject ruleModel() throws RecognitionException { - EObject current = null; - - EObject lv_terms_0_0 = null; - - - enterRule(); - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:80:28: ( ( (lv_terms_0_0= ruleTerm ) ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:81:1: ( (lv_terms_0_0= ruleTerm ) ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:81:1: ( (lv_terms_0_0= ruleTerm ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:82:1: (lv_terms_0_0= ruleTerm ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:82:1: (lv_terms_0_0= ruleTerm ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:83:3: lv_terms_0_0= ruleTerm - { - - newCompositeNode(grammarAccess.getModelAccess().getTermsTermParserRuleCall_0()); - - pushFollow(FOLLOW_ruleTerm_in_ruleModel130); - lv_terms_0_0=ruleTerm(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getModelRule()); - } - add( - current, - "terms", - lv_terms_0_0, - "Term"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleModel" - - - // $ANTLR start "entryRuleTerm" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:107:1: entryRuleTerm returns [EObject current=null] : iv_ruleTerm= ruleTerm EOF ; - public final EObject entryRuleTerm() throws RecognitionException { - EObject current = null; - - EObject iv_ruleTerm = null; - - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:108:2: (iv_ruleTerm= ruleTerm EOF ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:109:2: iv_ruleTerm= ruleTerm EOF - { - newCompositeNode(grammarAccess.getTermRule()); - pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm165); - iv_ruleTerm=ruleTerm(); - - state._fsp--; - - current =iv_ruleTerm; - match(input,EOF,FOLLOW_EOF_in_entryRuleTerm175); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleTerm" - - - // $ANTLR start "ruleTerm" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:116:1: ruleTerm returns [EObject current=null] : (this_Types_0= ruleTypes ( () ( (lv_Operations_2_0= ruleOperations ) ) ( (lv_right_3_0= ruleTypes ) ) )* ) ; - public final EObject ruleTerm() throws RecognitionException { - EObject current = null; - - EObject this_Types_0 = null; - - EObject lv_Operations_2_0 = null; - - EObject lv_right_3_0 = null; - - - enterRule(); - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:119:28: ( (this_Types_0= ruleTypes ( () ( (lv_Operations_2_0= ruleOperations ) ) ( (lv_right_3_0= ruleTypes ) ) )* ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:1: (this_Types_0= ruleTypes ( () ( (lv_Operations_2_0= ruleOperations ) ) ( (lv_right_3_0= ruleTypes ) ) )* ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:1: (this_Types_0= ruleTypes ( () ( (lv_Operations_2_0= ruleOperations ) ) ( (lv_right_3_0= ruleTypes ) ) )* ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:121:5: this_Types_0= ruleTypes ( () ( (lv_Operations_2_0= ruleOperations ) ) ( (lv_right_3_0= ruleTypes ) ) )* - { - - newCompositeNode(grammarAccess.getTermAccess().getTypesParserRuleCall_0()); - - pushFollow(FOLLOW_ruleTypes_in_ruleTerm222); - this_Types_0=ruleTypes(); - - state._fsp--; - - - current = this_Types_0; - afterParserOrEnumRuleCall(); - - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:129:1: ( () ( (lv_Operations_2_0= ruleOperations ) ) ( (lv_right_3_0= ruleTypes ) ) )* - loop1: - do { - int alt1=2; - int LA1_0 = input.LA(1); - - if ( (LA1_0==13||(LA1_0>=15 && LA1_0<=27)) ) { - alt1=1; - } - - - switch (alt1) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:129:2: () ( (lv_Operations_2_0= ruleOperations ) ) ( (lv_right_3_0= ruleTypes ) ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:129:2: () - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:130:5: - { - - current = forceCreateModelElementAndSet( - grammarAccess.getTermAccess().getTermLeftAction_1_0(), - current); - - - } - - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:135:2: ( (lv_Operations_2_0= ruleOperations ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:136:1: (lv_Operations_2_0= ruleOperations ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:136:1: (lv_Operations_2_0= ruleOperations ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:137:3: lv_Operations_2_0= ruleOperations - { - - newCompositeNode(grammarAccess.getTermAccess().getOperationsOperationsParserRuleCall_1_1_0()); - - pushFollow(FOLLOW_ruleOperations_in_ruleTerm252); - lv_Operations_2_0=ruleOperations(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getTermRule()); - } - set( - current, - "Operations", - lv_Operations_2_0, - "Operations"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:153:2: ( (lv_right_3_0= ruleTypes ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:154:1: (lv_right_3_0= ruleTypes ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:154:1: (lv_right_3_0= ruleTypes ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:155:3: lv_right_3_0= ruleTypes - { - - newCompositeNode(grammarAccess.getTermAccess().getRightTypesParserRuleCall_1_2_0()); - - pushFollow(FOLLOW_ruleTypes_in_ruleTerm273); - lv_right_3_0=ruleTypes(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getTermRule()); - } - set( - current, - "right", - lv_right_3_0, - "Types"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - default : - break loop1; - } - } while (true); - - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleTerm" - - - // $ANTLR start "entryRuleTypes" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:179:1: entryRuleTypes returns [EObject current=null] : iv_ruleTypes= ruleTypes EOF ; - public final EObject entryRuleTypes() throws RecognitionException { - EObject current = null; - - EObject iv_ruleTypes = null; - - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:180:2: (iv_ruleTypes= ruleTypes EOF ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:181:2: iv_ruleTypes= ruleTypes EOF - { - newCompositeNode(grammarAccess.getTypesRule()); - pushFollow(FOLLOW_ruleTypes_in_entryRuleTypes311); - iv_ruleTypes=ruleTypes(); - - state._fsp--; - - current =iv_ruleTypes; - match(input,EOF,FOLLOW_EOF_in_entryRuleTypes321); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleTypes" - - - // $ANTLR start "ruleTypes" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:188:1: ruleTypes returns [EObject current=null] : (this_Arithmetics_0= ruleArithmetics | this_Strings_1= ruleStrings | (otherlv_2= '(' this_Term_3= ruleTerm otherlv_4= ')' ) ) ; - public final EObject ruleTypes() throws RecognitionException { - EObject current = null; - - Token otherlv_2=null; - Token otherlv_4=null; - EObject this_Arithmetics_0 = null; - - EObject this_Strings_1 = null; - - EObject this_Term_3 = null; - - - enterRule(); - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:191:28: ( (this_Arithmetics_0= ruleArithmetics | this_Strings_1= ruleStrings | (otherlv_2= '(' this_Term_3= ruleTerm otherlv_4= ')' ) ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:192:1: (this_Arithmetics_0= ruleArithmetics | this_Strings_1= ruleStrings | (otherlv_2= '(' this_Term_3= ruleTerm otherlv_4= ')' ) ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:192:1: (this_Arithmetics_0= ruleArithmetics | this_Strings_1= ruleStrings | (otherlv_2= '(' this_Term_3= ruleTerm otherlv_4= ')' ) ) - int alt2=3; - switch ( input.LA(1) ) { - case RULE_INT: - case 13: - { - alt2=1; - } - break; - case RULE_STRING: - case RULE_ID: - { - alt2=2; - } - break; - case 11: - { - alt2=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 2, 0, input); - - throw nvae; - } - - switch (alt2) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:193:5: this_Arithmetics_0= ruleArithmetics - { - - newCompositeNode(grammarAccess.getTypesAccess().getArithmeticsParserRuleCall_0()); - - pushFollow(FOLLOW_ruleArithmetics_in_ruleTypes368); - this_Arithmetics_0=ruleArithmetics(); - - state._fsp--; - - - current = this_Arithmetics_0; - afterParserOrEnumRuleCall(); - - - } - break; - case 2 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:203:5: this_Strings_1= ruleStrings - { - - newCompositeNode(grammarAccess.getTypesAccess().getStringsParserRuleCall_1()); - - pushFollow(FOLLOW_ruleStrings_in_ruleTypes395); - this_Strings_1=ruleStrings(); - - state._fsp--; - - - current = this_Strings_1; - afterParserOrEnumRuleCall(); - - - } - break; - case 3 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:212:6: (otherlv_2= '(' this_Term_3= ruleTerm otherlv_4= ')' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:212:6: (otherlv_2= '(' this_Term_3= ruleTerm otherlv_4= ')' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:212:8: otherlv_2= '(' this_Term_3= ruleTerm otherlv_4= ')' - { - otherlv_2=(Token)match(input,11,FOLLOW_11_in_ruleTypes413); - - newLeafNode(otherlv_2, grammarAccess.getTypesAccess().getLeftParenthesisKeyword_2_0()); - - - newCompositeNode(grammarAccess.getTypesAccess().getTermParserRuleCall_2_1()); - - pushFollow(FOLLOW_ruleTerm_in_ruleTypes435); - this_Term_3=ruleTerm(); - - state._fsp--; - - - current = this_Term_3; - afterParserOrEnumRuleCall(); - - otherlv_4=(Token)match(input,12,FOLLOW_12_in_ruleTypes446); - - newLeafNode(otherlv_4, grammarAccess.getTypesAccess().getRightParenthesisKeyword_2_2()); - - - } - - - } - break; - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleTypes" - - - // $ANTLR start "entryRuleArithmetics" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:237:1: entryRuleArithmetics returns [EObject current=null] : iv_ruleArithmetics= ruleArithmetics EOF ; - public final EObject entryRuleArithmetics() throws RecognitionException { - EObject current = null; - - EObject iv_ruleArithmetics = null; - - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:238:2: (iv_ruleArithmetics= ruleArithmetics EOF ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:239:2: iv_ruleArithmetics= ruleArithmetics EOF - { - newCompositeNode(grammarAccess.getArithmeticsRule()); - pushFollow(FOLLOW_ruleArithmetics_in_entryRuleArithmetics483); - iv_ruleArithmetics=ruleArithmetics(); - - state._fsp--; - - current =iv_ruleArithmetics; - match(input,EOF,FOLLOW_EOF_in_entryRuleArithmetics493); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleArithmetics" - - - // $ANTLR start "ruleArithmetics" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:246:1: ruleArithmetics returns [EObject current=null] : ( () ruleDECIMAL ) ; - public final EObject ruleArithmetics() throws RecognitionException { - EObject current = null; - - enterRule(); - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:249:28: ( ( () ruleDECIMAL ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:250:1: ( () ruleDECIMAL ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:250:1: ( () ruleDECIMAL ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:250:2: () ruleDECIMAL - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:250:2: () - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:251:5: - { - - current = forceCreateModelElement( - grammarAccess.getArithmeticsAccess().getExpressionAction_0(), - current); - - - } - - - newCompositeNode(grammarAccess.getArithmeticsAccess().getDECIMALParserRuleCall_1()); - - pushFollow(FOLLOW_ruleDECIMAL_in_ruleArithmetics543); - ruleDECIMAL(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleArithmetics" - - - // $ANTLR start "entryRuleStrings" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:272:1: entryRuleStrings returns [EObject current=null] : iv_ruleStrings= ruleStrings EOF ; - public final EObject entryRuleStrings() throws RecognitionException { - EObject current = null; - - EObject iv_ruleStrings = null; - - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:273:2: (iv_ruleStrings= ruleStrings EOF ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:274:2: iv_ruleStrings= ruleStrings EOF - { - newCompositeNode(grammarAccess.getStringsRule()); - pushFollow(FOLLOW_ruleStrings_in_entryRuleStrings578); - iv_ruleStrings=ruleStrings(); - - state._fsp--; - - current =iv_ruleStrings; - match(input,EOF,FOLLOW_EOF_in_entryRuleStrings588); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleStrings" - - - // $ANTLR start "ruleStrings" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:281:1: ruleStrings returns [EObject current=null] : ( () ruleE_STRING ) ; - public final EObject ruleStrings() throws RecognitionException { - EObject current = null; - - enterRule(); - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:284:28: ( ( () ruleE_STRING ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:285:1: ( () ruleE_STRING ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:285:1: ( () ruleE_STRING ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:285:2: () ruleE_STRING - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:285:2: () - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:286:5: - { - - current = forceCreateModelElement( - grammarAccess.getStringsAccess().getExpressionAction_0(), - current); - - - } - - - newCompositeNode(grammarAccess.getStringsAccess().getE_STRINGParserRuleCall_1()); - - pushFollow(FOLLOW_ruleE_STRING_in_ruleStrings638); - ruleE_STRING(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleStrings" - - - // $ANTLR start "entryRuleDECIMAL" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:307:1: entryRuleDECIMAL returns [String current=null] : iv_ruleDECIMAL= ruleDECIMAL EOF ; - public final String entryRuleDECIMAL() throws RecognitionException { - String current = null; - - AntlrDatatypeRuleToken iv_ruleDECIMAL = null; - - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:308:2: (iv_ruleDECIMAL= ruleDECIMAL EOF ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:309:2: iv_ruleDECIMAL= ruleDECIMAL EOF - { - newCompositeNode(grammarAccess.getDECIMALRule()); - pushFollow(FOLLOW_ruleDECIMAL_in_entryRuleDECIMAL674); - iv_ruleDECIMAL=ruleDECIMAL(); - - state._fsp--; - - current =iv_ruleDECIMAL.getText(); - match(input,EOF,FOLLOW_EOF_in_entryRuleDECIMAL685); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleDECIMAL" - - - // $ANTLR start "ruleDECIMAL" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:316:1: ruleDECIMAL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT (kw= '.' this_INT_3= RULE_INT )? ) ; - public final AntlrDatatypeRuleToken ruleDECIMAL() throws RecognitionException { - AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - - Token kw=null; - Token this_INT_1=null; - Token this_INT_3=null; - - enterRule(); - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:319:28: ( ( (kw= '-' )? this_INT_1= RULE_INT (kw= '.' this_INT_3= RULE_INT )? ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:320:1: ( (kw= '-' )? this_INT_1= RULE_INT (kw= '.' this_INT_3= RULE_INT )? ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:320:1: ( (kw= '-' )? this_INT_1= RULE_INT (kw= '.' this_INT_3= RULE_INT )? ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:320:2: (kw= '-' )? this_INT_1= RULE_INT (kw= '.' this_INT_3= RULE_INT )? - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:320:2: (kw= '-' )? - int alt3=2; - int LA3_0 = input.LA(1); - - if ( (LA3_0==13) ) { - alt3=1; - } - switch (alt3) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:321:2: kw= '-' - { - kw=(Token)match(input,13,FOLLOW_13_in_ruleDECIMAL724); - - current.merge(kw); - newLeafNode(kw, grammarAccess.getDECIMALAccess().getHyphenMinusKeyword_0()); - - - } - break; - - } - - this_INT_1=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDECIMAL741); - - current.merge(this_INT_1); - - - newLeafNode(this_INT_1, grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_1()); - - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:333:1: (kw= '.' this_INT_3= RULE_INT )? - int alt4=2; - int LA4_0 = input.LA(1); - - if ( (LA4_0==14) ) { - alt4=1; - } - switch (alt4) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:334:2: kw= '.' this_INT_3= RULE_INT - { - kw=(Token)match(input,14,FOLLOW_14_in_ruleDECIMAL760); - - current.merge(kw); - newLeafNode(kw, grammarAccess.getDECIMALAccess().getFullStopKeyword_2_0()); - - this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDECIMAL775); - - current.merge(this_INT_3); - - - newLeafNode(this_INT_3, grammarAccess.getDECIMALAccess().getINTTerminalRuleCall_2_1()); - - - } - break; - - } - - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleDECIMAL" - - - // $ANTLR start "entryRuleE_STRING" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:354:1: entryRuleE_STRING returns [String current=null] : iv_ruleE_STRING= ruleE_STRING EOF ; - public final String entryRuleE_STRING() throws RecognitionException { - String current = null; - - AntlrDatatypeRuleToken iv_ruleE_STRING = null; - - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:355:2: (iv_ruleE_STRING= ruleE_STRING EOF ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:356:2: iv_ruleE_STRING= ruleE_STRING EOF - { - newCompositeNode(grammarAccess.getE_STRINGRule()); - pushFollow(FOLLOW_ruleE_STRING_in_entryRuleE_STRING823); - iv_ruleE_STRING=ruleE_STRING(); - - state._fsp--; - - current =iv_ruleE_STRING.getText(); - match(input,EOF,FOLLOW_EOF_in_entryRuleE_STRING834); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleE_STRING" - - - // $ANTLR start "ruleE_STRING" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:363:1: ruleE_STRING returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; - public final AntlrDatatypeRuleToken ruleE_STRING() throws RecognitionException { - AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - - Token this_STRING_0=null; - Token this_ID_1=null; - - enterRule(); - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:366:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:367:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:367:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) - int alt5=2; - int LA5_0 = input.LA(1); - - if ( (LA5_0==RULE_STRING) ) { - alt5=1; - } - else if ( (LA5_0==RULE_ID) ) { - alt5=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 5, 0, input); - - throw nvae; - } - switch (alt5) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:367:6: this_STRING_0= RULE_STRING - { - this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleE_STRING874); - - current.merge(this_STRING_0); - - - newLeafNode(this_STRING_0, grammarAccess.getE_STRINGAccess().getSTRINGTerminalRuleCall_0()); - - - } - break; - case 2 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:375:10: this_ID_1= RULE_ID - { - this_ID_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleE_STRING900); - - current.merge(this_ID_1); - - - newLeafNode(this_ID_1, grammarAccess.getE_STRINGAccess().getIDTerminalRuleCall_1()); - - - } - break; - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleE_STRING" - - - // $ANTLR start "entryRuleOperations" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:390:1: entryRuleOperations returns [EObject current=null] : iv_ruleOperations= ruleOperations EOF ; - public final EObject entryRuleOperations() throws RecognitionException { - EObject current = null; - - EObject iv_ruleOperations = null; - - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:391:2: (iv_ruleOperations= ruleOperations EOF ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:392:2: iv_ruleOperations= ruleOperations EOF - { - newCompositeNode(grammarAccess.getOperationsRule()); - pushFollow(FOLLOW_ruleOperations_in_entryRuleOperations945); - iv_ruleOperations=ruleOperations(); - - state._fsp--; - - current =iv_ruleOperations; - match(input,EOF,FOLLOW_EOF_in_entryRuleOperations955); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleOperations" - - - // $ANTLR start "ruleOperations" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:399:1: ruleOperations returns [EObject current=null] : ( (lv_termOperations_0_0= ruleOperationsType ) ) ; - public final EObject ruleOperations() throws RecognitionException { - EObject current = null; - - Enumerator lv_termOperations_0_0 = null; - - - enterRule(); - - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:402:28: ( ( (lv_termOperations_0_0= ruleOperationsType ) ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:403:1: ( (lv_termOperations_0_0= ruleOperationsType ) ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:403:1: ( (lv_termOperations_0_0= ruleOperationsType ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:404:1: (lv_termOperations_0_0= ruleOperationsType ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:404:1: (lv_termOperations_0_0= ruleOperationsType ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:405:3: lv_termOperations_0_0= ruleOperationsType - { - - newCompositeNode(grammarAccess.getOperationsAccess().getTermOperationsOperationsTypeEnumRuleCall_0()); - - pushFollow(FOLLOW_ruleOperationsType_in_ruleOperations1000); - lv_termOperations_0_0=ruleOperationsType(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getOperationsRule()); - } - set( - current, - "termOperations", - lv_termOperations_0_0, - "OperationsType"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleOperations" - - - // $ANTLR start "ruleOperationsType" - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:429:1: ruleOperationsType returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) | (enumLiteral_2= '*' ) | (enumLiteral_3= '/' ) | (enumLiteral_4= '%' ) | (enumLiteral_5= '>' ) | (enumLiteral_6= '<' ) | (enumLiteral_7= '=' ) | (enumLiteral_8= '!=' ) | (enumLiteral_9= '<=' ) | (enumLiteral_10= '>=' ) | (enumLiteral_11= 'AND' ) | (enumLiteral_12= 'OR' ) | (enumLiteral_13= 'XOR' ) ) ; - public final Enumerator ruleOperationsType() throws RecognitionException { - Enumerator current = null; - - Token enumLiteral_0=null; - Token enumLiteral_1=null; - Token enumLiteral_2=null; - Token enumLiteral_3=null; - Token enumLiteral_4=null; - Token enumLiteral_5=null; - Token enumLiteral_6=null; - Token enumLiteral_7=null; - Token enumLiteral_8=null; - Token enumLiteral_9=null; - Token enumLiteral_10=null; - Token enumLiteral_11=null; - Token enumLiteral_12=null; - Token enumLiteral_13=null; - - enterRule(); - try { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:431:28: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) | (enumLiteral_2= '*' ) | (enumLiteral_3= '/' ) | (enumLiteral_4= '%' ) | (enumLiteral_5= '>' ) | (enumLiteral_6= '<' ) | (enumLiteral_7= '=' ) | (enumLiteral_8= '!=' ) | (enumLiteral_9= '<=' ) | (enumLiteral_10= '>=' ) | (enumLiteral_11= 'AND' ) | (enumLiteral_12= 'OR' ) | (enumLiteral_13= 'XOR' ) ) ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:432:1: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) | (enumLiteral_2= '*' ) | (enumLiteral_3= '/' ) | (enumLiteral_4= '%' ) | (enumLiteral_5= '>' ) | (enumLiteral_6= '<' ) | (enumLiteral_7= '=' ) | (enumLiteral_8= '!=' ) | (enumLiteral_9= '<=' ) | (enumLiteral_10= '>=' ) | (enumLiteral_11= 'AND' ) | (enumLiteral_12= 'OR' ) | (enumLiteral_13= 'XOR' ) ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:432:1: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) | (enumLiteral_2= '*' ) | (enumLiteral_3= '/' ) | (enumLiteral_4= '%' ) | (enumLiteral_5= '>' ) | (enumLiteral_6= '<' ) | (enumLiteral_7= '=' ) | (enumLiteral_8= '!=' ) | (enumLiteral_9= '<=' ) | (enumLiteral_10= '>=' ) | (enumLiteral_11= 'AND' ) | (enumLiteral_12= 'OR' ) | (enumLiteral_13= 'XOR' ) ) - int alt6=14; - switch ( input.LA(1) ) { - case 15: - { - alt6=1; - } - break; - case 13: - { - alt6=2; - } - break; - case 16: - { - alt6=3; - } - break; - case 17: - { - alt6=4; - } - break; - case 18: - { - alt6=5; - } - break; - case 19: - { - alt6=6; - } - break; - case 20: - { - alt6=7; - } - break; - case 21: - { - alt6=8; - } - break; - case 22: - { - alt6=9; - } - break; - case 23: - { - alt6=10; - } - break; - case 24: - { - alt6=11; - } - break; - case 25: - { - alt6=12; - } - break; - case 26: - { - alt6=13; - } - break; - case 27: - { - alt6=14; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); - - throw nvae; - } - - switch (alt6) { - case 1 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:432:2: (enumLiteral_0= '+' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:432:2: (enumLiteral_0= '+' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:432:4: enumLiteral_0= '+' - { - enumLiteral_0=(Token)match(input,15,FOLLOW_15_in_ruleOperationsType1049); - - current = grammarAccess.getOperationsTypeAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getOperationsTypeAccess().getADDEnumLiteralDeclaration_0()); - - - } - - - } - break; - case 2 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:438:6: (enumLiteral_1= '-' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:438:6: (enumLiteral_1= '-' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:438:8: enumLiteral_1= '-' - { - enumLiteral_1=(Token)match(input,13,FOLLOW_13_in_ruleOperationsType1066); - - current = grammarAccess.getOperationsTypeAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getOperationsTypeAccess().getSUBEnumLiteralDeclaration_1()); - - - } - - - } - break; - case 3 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:444:6: (enumLiteral_2= '*' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:444:6: (enumLiteral_2= '*' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:444:8: enumLiteral_2= '*' - { - enumLiteral_2=(Token)match(input,16,FOLLOW_16_in_ruleOperationsType1083); - - current = grammarAccess.getOperationsTypeAccess().getMULTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getOperationsTypeAccess().getMULTEnumLiteralDeclaration_2()); - - - } - - - } - break; - case 4 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:450:6: (enumLiteral_3= '/' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:450:6: (enumLiteral_3= '/' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:450:8: enumLiteral_3= '/' - { - enumLiteral_3=(Token)match(input,17,FOLLOW_17_in_ruleOperationsType1100); - - current = grammarAccess.getOperationsTypeAccess().getDIVEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getOperationsTypeAccess().getDIVEnumLiteralDeclaration_3()); - - - } - - - } - break; - case 5 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:456:6: (enumLiteral_4= '%' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:456:6: (enumLiteral_4= '%' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:456:8: enumLiteral_4= '%' - { - enumLiteral_4=(Token)match(input,18,FOLLOW_18_in_ruleOperationsType1117); - - current = grammarAccess.getOperationsTypeAccess().getMODEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getOperationsTypeAccess().getMODEnumLiteralDeclaration_4()); - - - } - - - } - break; - case 6 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:462:6: (enumLiteral_5= '>' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:462:6: (enumLiteral_5= '>' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:462:8: enumLiteral_5= '>' - { - enumLiteral_5=(Token)match(input,19,FOLLOW_19_in_ruleOperationsType1134); - - current = grammarAccess.getOperationsTypeAccess().getGREATEREnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getOperationsTypeAccess().getGREATEREnumLiteralDeclaration_5()); - - - } - - - } - break; - case 7 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:468:6: (enumLiteral_6= '<' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:468:6: (enumLiteral_6= '<' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:468:8: enumLiteral_6= '<' - { - enumLiteral_6=(Token)match(input,20,FOLLOW_20_in_ruleOperationsType1151); - - current = grammarAccess.getOperationsTypeAccess().getLESSEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_6, grammarAccess.getOperationsTypeAccess().getLESSEnumLiteralDeclaration_6()); - - - } - - - } - break; - case 8 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:474:6: (enumLiteral_7= '=' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:474:6: (enumLiteral_7= '=' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:474:8: enumLiteral_7= '=' - { - enumLiteral_7=(Token)match(input,21,FOLLOW_21_in_ruleOperationsType1168); - - current = grammarAccess.getOperationsTypeAccess().getEQUALSEnumLiteralDeclaration_7().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_7, grammarAccess.getOperationsTypeAccess().getEQUALSEnumLiteralDeclaration_7()); - - - } - - - } - break; - case 9 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:480:6: (enumLiteral_8= '!=' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:480:6: (enumLiteral_8= '!=' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:480:8: enumLiteral_8= '!=' - { - enumLiteral_8=(Token)match(input,22,FOLLOW_22_in_ruleOperationsType1185); - - current = grammarAccess.getOperationsTypeAccess().getNOTEQUALEnumLiteralDeclaration_8().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_8, grammarAccess.getOperationsTypeAccess().getNOTEQUALEnumLiteralDeclaration_8()); - - - } - - - } - break; - case 10 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:486:6: (enumLiteral_9= '<=' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:486:6: (enumLiteral_9= '<=' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:486:8: enumLiteral_9= '<=' - { - enumLiteral_9=(Token)match(input,23,FOLLOW_23_in_ruleOperationsType1202); - - current = grammarAccess.getOperationsTypeAccess().getLESSEQUALEnumLiteralDeclaration_9().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_9, grammarAccess.getOperationsTypeAccess().getLESSEQUALEnumLiteralDeclaration_9()); - - - } - - - } - break; - case 11 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:492:6: (enumLiteral_10= '>=' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:492:6: (enumLiteral_10= '>=' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:492:8: enumLiteral_10= '>=' - { - enumLiteral_10=(Token)match(input,24,FOLLOW_24_in_ruleOperationsType1219); - - current = grammarAccess.getOperationsTypeAccess().getGREATEREQUALEnumLiteralDeclaration_10().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_10, grammarAccess.getOperationsTypeAccess().getGREATEREQUALEnumLiteralDeclaration_10()); - - - } - - - } - break; - case 12 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:498:6: (enumLiteral_11= 'AND' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:498:6: (enumLiteral_11= 'AND' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:498:8: enumLiteral_11= 'AND' - { - enumLiteral_11=(Token)match(input,25,FOLLOW_25_in_ruleOperationsType1236); - - current = grammarAccess.getOperationsTypeAccess().getANDEnumLiteralDeclaration_11().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_11, grammarAccess.getOperationsTypeAccess().getANDEnumLiteralDeclaration_11()); - - - } - - - } - break; - case 13 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:504:6: (enumLiteral_12= 'OR' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:504:6: (enumLiteral_12= 'OR' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:504:8: enumLiteral_12= 'OR' - { - enumLiteral_12=(Token)match(input,26,FOLLOW_26_in_ruleOperationsType1253); - - current = grammarAccess.getOperationsTypeAccess().getOREnumLiteralDeclaration_12().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_12, grammarAccess.getOperationsTypeAccess().getOREnumLiteralDeclaration_12()); - - - } - - - } - break; - case 14 : - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:510:6: (enumLiteral_13= 'XOR' ) - { - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:510:6: (enumLiteral_13= 'XOR' ) - // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:510:8: enumLiteral_13= 'XOR' - { - enumLiteral_13=(Token)match(input,27,FOLLOW_27_in_ruleOperationsType1270); - - current = grammarAccess.getOperationsTypeAccess().getXOREnumLiteralDeclaration_13().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_13, grammarAccess.getOperationsTypeAccess().getXOREnumLiteralDeclaration_13()); - - - } - - - } - break; - - } - - - } - - leaveRule(); - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleOperationsType" - - // Delegated rules - - - - - public static final BitSet FOLLOW_ruleModel_in_entryRuleModel75 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleModel85 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTerm_in_ruleModel130 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm165 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleTerm175 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleTypes_in_ruleTerm222 = new BitSet(new long[]{0x000000000FFFA002L}); - public static final BitSet FOLLOW_ruleOperations_in_ruleTerm252 = new BitSet(new long[]{0x0000000000002870L}); - public static final BitSet FOLLOW_ruleTypes_in_ruleTerm273 = new BitSet(new long[]{0x000000000FFFA002L}); - public static final BitSet FOLLOW_ruleTypes_in_entryRuleTypes311 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleTypes321 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleArithmetics_in_ruleTypes368 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleStrings_in_ruleTypes395 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_11_in_ruleTypes413 = new BitSet(new long[]{0x0000000000002870L}); - public static final BitSet FOLLOW_ruleTerm_in_ruleTypes435 = new BitSet(new long[]{0x0000000000001000L}); - public static final BitSet FOLLOW_12_in_ruleTypes446 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleArithmetics_in_entryRuleArithmetics483 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleArithmetics493 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleDECIMAL_in_ruleArithmetics543 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleStrings_in_entryRuleStrings578 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleStrings588 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleE_STRING_in_ruleStrings638 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleDECIMAL_in_entryRuleDECIMAL674 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleDECIMAL685 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_13_in_ruleDECIMAL724 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_INT_in_ruleDECIMAL741 = new BitSet(new long[]{0x0000000000004002L}); - public static final BitSet FOLLOW_14_in_ruleDECIMAL760 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_RULE_INT_in_ruleDECIMAL775 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleE_STRING_in_entryRuleE_STRING823 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleE_STRING834 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_STRING_in_ruleE_STRING874 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RULE_ID_in_ruleE_STRING900 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleOperations_in_entryRuleOperations945 = new BitSet(new long[]{0x0000000000000000L}); - public static final BitSet FOLLOW_EOF_in_entryRuleOperations955 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ruleOperationsType_in_ruleOperations1000 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_15_in_ruleOperationsType1049 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_13_in_ruleOperationsType1066 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_16_in_ruleOperationsType1083 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_17_in_ruleOperationsType1100 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_18_in_ruleOperationsType1117 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_19_in_ruleOperationsType1134 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_20_in_ruleOperationsType1151 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_21_in_ruleOperationsType1168 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_22_in_ruleOperationsType1185 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_23_in_ruleOperationsType1202 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_24_in_ruleOperationsType1219 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_25_in_ruleOperationsType1236 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_26_in_ruleOperationsType1253 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_27_in_ruleOperationsType1270 = new BitSet(new long[]{0x0000000000000002L}); - +public class InternalMyDslParser extends AbstractInternalAntlrParser { + public static final String[] tokenNames = new String[] { + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_STRING", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'-'", "'.'", "'true'", "'false'", "'?'", "':'", "'NOT'", "'^'", "'('", "')'", "','", "'*'", "'/'", "'%'", "'+'", "'>'", "'<'", "'='", "'!='", "'<='", "'>='", "'AND'", "'OR'", "'XOR'" + }; + public static final int RULE_ID=6; + public static final int T__29=29; + public static final int T__28=28; + public static final int T__27=27; + public static final int T__26=26; + public static final int T__25=25; + public static final int T__24=24; + public static final int T__23=23; + public static final int T__22=22; + public static final int RULE_ANY_OTHER=10; + public static final int T__21=21; + public static final int T__20=20; + public static final int RULE_SL_COMMENT=8; + public static final int EOF=-1; + public static final int RULE_ML_COMMENT=7; + public static final int T__30=30; + public static final int T__19=19; + public static final int T__31=31; + public static final int RULE_STRING=5; + public static final int T__32=32; + public static final int T__33=33; + public static final int T__16=16; + public static final int T__34=34; + public static final int T__15=15; + public static final int T__18=18; + public static final int T__17=17; + public static final int T__12=12; + public static final int T__11=11; + public static final int T__14=14; + public static final int T__13=13; + public static final int RULE_INT=4; + public static final int RULE_WS=9; + + // delegates + // delegators + + + public InternalMyDslParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalMyDslParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalMyDslParser.tokenNames; } + public String getGrammarFileName() { return "../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g"; } + + + + private MyDslGrammarAccess grammarAccess; + + public InternalMyDslParser(TokenStream input, MyDslGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "Model"; + } + + @Override + protected MyDslGrammarAccess getGrammarAccess() { + return grammarAccess; + } + + + + // $ANTLR start "entryRuleModel" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:68:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ; + public final EObject entryRuleModel() throws RecognitionException { + EObject current = null; + + EObject iv_ruleModel = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:69:2: (iv_ruleModel= ruleModel EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:70:2: iv_ruleModel= ruleModel EOF + { + newCompositeNode(grammarAccess.getModelRule()); + pushFollow(FOLLOW_ruleModel_in_entryRuleModel75); + iv_ruleModel=ruleModel(); + + state._fsp--; + + current =iv_ruleModel; + match(input,EOF,FOLLOW_EOF_in_entryRuleModel85); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleModel" + + + // $ANTLR start "ruleModel" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:77:1: ruleModel returns [EObject current=null] : ( (lv_terms_0_0= ruleIfElseExpression ) ) ; + public final EObject ruleModel() throws RecognitionException { + EObject current = null; + + EObject lv_terms_0_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:80:28: ( ( (lv_terms_0_0= ruleIfElseExpression ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:81:1: ( (lv_terms_0_0= ruleIfElseExpression ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:81:1: ( (lv_terms_0_0= ruleIfElseExpression ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:82:1: (lv_terms_0_0= ruleIfElseExpression ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:82:1: (lv_terms_0_0= ruleIfElseExpression ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:83:3: lv_terms_0_0= ruleIfElseExpression + { + + newCompositeNode(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0()); + + pushFollow(FOLLOW_ruleIfElseExpression_in_ruleModel130); + lv_terms_0_0=ruleIfElseExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getModelRule()); + } + set( + current, + "terms", + lv_terms_0_0, + "IfElseExpression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleModel" + + + // $ANTLR start "entryRuleDouble" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:107:1: entryRuleDouble returns [String current=null] : iv_ruleDouble= ruleDouble EOF ; + public final String entryRuleDouble() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleDouble = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:108:2: (iv_ruleDouble= ruleDouble EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:109:2: iv_ruleDouble= ruleDouble EOF + { + newCompositeNode(grammarAccess.getDoubleRule()); + pushFollow(FOLLOW_ruleDouble_in_entryRuleDouble166); + iv_ruleDouble=ruleDouble(); + + state._fsp--; + + current =iv_ruleDouble.getText(); + match(input,EOF,FOLLOW_EOF_in_entryRuleDouble177); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDouble" + + + // $ANTLR start "ruleDouble" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:116:1: ruleDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ; + public final AntlrDatatypeRuleToken ruleDouble() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + Token this_INT_1=null; + Token this_INT_3=null; + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:119:28: ( ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:1: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:1: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:2: (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:120:2: (kw= '-' )? + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==11) ) { + alt1=1; + } + switch (alt1) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:121:2: kw= '-' + { + kw=(Token)match(input,11,FOLLOW_11_in_ruleDouble216); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getDoubleAccess().getHyphenMinusKeyword_0()); + + + } + break; + + } + + this_INT_1=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDouble233); + + current.merge(this_INT_1); + + + newLeafNode(this_INT_1, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1()); + + kw=(Token)match(input,12,FOLLOW_12_in_ruleDouble251); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getDoubleAccess().getFullStopKeyword_2()); + + this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDouble266); + + current.merge(this_INT_3); + + + newLeafNode(this_INT_3, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_3()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDouble" + + + // $ANTLR start "entryRuleInteger" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:154:1: entryRuleInteger returns [String current=null] : iv_ruleInteger= ruleInteger EOF ; + public final String entryRuleInteger() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleInteger = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:155:2: (iv_ruleInteger= ruleInteger EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:156:2: iv_ruleInteger= ruleInteger EOF + { + newCompositeNode(grammarAccess.getIntegerRule()); + pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger312); + iv_ruleInteger=ruleInteger(); + + state._fsp--; + + current =iv_ruleInteger.getText(); + match(input,EOF,FOLLOW_EOF_in_entryRuleInteger323); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInteger" + + + // $ANTLR start "ruleInteger" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:163:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ; + public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + Token this_INT_1=null; + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:166:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:167:1: ( (kw= '-' )? this_INT_1= RULE_INT ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:167:1: ( (kw= '-' )? this_INT_1= RULE_INT ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:167:2: (kw= '-' )? this_INT_1= RULE_INT + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:167:2: (kw= '-' )? + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==11) ) { + alt2=1; + } + switch (alt2) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:168:2: kw= '-' + { + kw=(Token)match(input,11,FOLLOW_11_in_ruleInteger362); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0()); + + + } + break; + + } + + this_INT_1=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger379); + + current.merge(this_INT_1); + + + newLeafNode(this_INT_1, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_1()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInteger" + + + // $ANTLR start "entryRuleEString" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:188:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; + public final String entryRuleEString() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleEString = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:189:2: (iv_ruleEString= ruleEString EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:190:2: iv_ruleEString= ruleEString EOF + { + newCompositeNode(grammarAccess.getEStringRule()); + pushFollow(FOLLOW_ruleEString_in_entryRuleEString425); + iv_ruleEString=ruleEString(); + + state._fsp--; + + current =iv_ruleEString.getText(); + match(input,EOF,FOLLOW_EOF_in_entryRuleEString436); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEString" + + + // $ANTLR start "ruleEString" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:197:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; + public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_STRING_0=null; + Token this_ID_1=null; + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:200:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:201:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:201:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==RULE_STRING) ) { + alt3=1; + } + else if ( (LA3_0==RULE_ID) ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:201:6: this_STRING_0= RULE_STRING + { + this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEString476); + + current.merge(this_STRING_0); + + + newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:209:10: this_ID_1= RULE_ID + { + this_ID_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEString502); + + current.merge(this_ID_1); + + + newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEString" + + + // $ANTLR start "entryRuleEBoolean" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:224:1: entryRuleEBoolean returns [String current=null] : iv_ruleEBoolean= ruleEBoolean EOF ; + public final String entryRuleEBoolean() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleEBoolean = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:225:2: (iv_ruleEBoolean= ruleEBoolean EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:226:2: iv_ruleEBoolean= ruleEBoolean EOF + { + newCompositeNode(grammarAccess.getEBooleanRule()); + pushFollow(FOLLOW_ruleEBoolean_in_entryRuleEBoolean548); + iv_ruleEBoolean=ruleEBoolean(); + + state._fsp--; + + current =iv_ruleEBoolean.getText(); + match(input,EOF,FOLLOW_EOF_in_entryRuleEBoolean559); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEBoolean" + + + // $ANTLR start "ruleEBoolean" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:233:1: ruleEBoolean returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'true' | kw= 'false' ) ; + public final AntlrDatatypeRuleToken ruleEBoolean() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:236:28: ( (kw= 'true' | kw= 'false' ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:237:1: (kw= 'true' | kw= 'false' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:237:1: (kw= 'true' | kw= 'false' ) + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==13) ) { + alt4=1; + } + else if ( (LA4_0==14) ) { + alt4=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); + + throw nvae; + } + switch (alt4) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:238:2: kw= 'true' + { + kw=(Token)match(input,13,FOLLOW_13_in_ruleEBoolean597); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0()); + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:245:2: kw= 'false' + { + kw=(Token)match(input,14,FOLLOW_14_in_ruleEBoolean616); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getEBooleanAccess().getFalseKeyword_1()); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEBoolean" + + + // $ANTLR start "entryRuleRootExpression" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:258:1: entryRuleRootExpression returns [EObject current=null] : iv_ruleRootExpression= ruleRootExpression EOF ; + public final EObject entryRuleRootExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRootExpression = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:259:2: (iv_ruleRootExpression= ruleRootExpression EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:260:2: iv_ruleRootExpression= ruleRootExpression EOF + { + newCompositeNode(grammarAccess.getRootExpressionRule()); + pushFollow(FOLLOW_ruleRootExpression_in_entryRuleRootExpression656); + iv_ruleRootExpression=ruleRootExpression(); + + state._fsp--; + + current =iv_ruleRootExpression; + match(input,EOF,FOLLOW_EOF_in_entryRuleRootExpression666); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRootExpression" + + + // $ANTLR start "ruleRootExpression" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:267:1: ruleRootExpression returns [EObject current=null] : this_IfElseExpression_0= ruleIfElseExpression ; + public final EObject ruleRootExpression() throws RecognitionException { + EObject current = null; + + EObject this_IfElseExpression_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:270:28: (this_IfElseExpression_0= ruleIfElseExpression ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:272:5: this_IfElseExpression_0= ruleIfElseExpression + { + + newCompositeNode(grammarAccess.getRootExpressionAccess().getIfElseExpressionParserRuleCall()); + + pushFollow(FOLLOW_ruleIfElseExpression_in_ruleRootExpression712); + this_IfElseExpression_0=ruleIfElseExpression(); + + state._fsp--; + + + current = this_IfElseExpression_0; + afterParserOrEnumRuleCall(); + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRootExpression" + + + // $ANTLR start "entryRuleIfElseExpression" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:288:1: entryRuleIfElseExpression returns [EObject current=null] : iv_ruleIfElseExpression= ruleIfElseExpression EOF ; + public final EObject entryRuleIfElseExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleIfElseExpression = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:289:2: (iv_ruleIfElseExpression= ruleIfElseExpression EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:290:2: iv_ruleIfElseExpression= ruleIfElseExpression EOF + { + newCompositeNode(grammarAccess.getIfElseExpressionRule()); + pushFollow(FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression746); + iv_ruleIfElseExpression=ruleIfElseExpression(); + + state._fsp--; + + current =iv_ruleIfElseExpression; + match(input,EOF,FOLLOW_EOF_in_entryRuleIfElseExpression756); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIfElseExpression" + + + // $ANTLR start "ruleIfElseExpression" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:297:1: ruleIfElseExpression returns [EObject current=null] : (this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? ) ; + public final EObject ruleIfElseExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_4=null; + EObject this_BinaryBooleanExpression_0 = null; + + EObject lv_trueExp_3_0 = null; + + EObject lv_falseExp_5_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:300:28: ( (this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:301:1: (this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:301:1: (this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:302:5: this_BinaryBooleanExpression_0= ruleBinaryBooleanExpression ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? + { + + newCompositeNode(grammarAccess.getIfElseExpressionAccess().getBinaryBooleanExpressionParserRuleCall_0()); + + pushFollow(FOLLOW_ruleBinaryBooleanExpression_in_ruleIfElseExpression803); + this_BinaryBooleanExpression_0=ruleBinaryBooleanExpression(); + + state._fsp--; + + + current = this_BinaryBooleanExpression_0; + afterParserOrEnumRuleCall(); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:310:1: ( () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) )? + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==15) ) { + alt5=1; + } + switch (alt5) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:310:2: () otherlv_2= '?' ( (lv_trueExp_3_0= ruleIfElseExpression ) ) otherlv_4= ':' ( (lv_falseExp_5_0= ruleIfElseExpression ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:310:2: () + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:311:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0(), + current); + + + } + + otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleIfElseExpression824); + + newLeafNode(otherlv_2, grammarAccess.getIfElseExpressionAccess().getQuestionMarkKeyword_1_1()); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:320:1: ( (lv_trueExp_3_0= ruleIfElseExpression ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:321:1: (lv_trueExp_3_0= ruleIfElseExpression ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:321:1: (lv_trueExp_3_0= ruleIfElseExpression ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:322:3: lv_trueExp_3_0= ruleIfElseExpression + { + + newCompositeNode(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0()); + + pushFollow(FOLLOW_ruleIfElseExpression_in_ruleIfElseExpression845); + lv_trueExp_3_0=ruleIfElseExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseExpressionRule()); + } + set( + current, + "trueExp", + lv_trueExp_3_0, + "IfElseExpression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,16,FOLLOW_16_in_ruleIfElseExpression857); + + newLeafNode(otherlv_4, grammarAccess.getIfElseExpressionAccess().getColonKeyword_1_3()); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:342:1: ( (lv_falseExp_5_0= ruleIfElseExpression ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:343:1: (lv_falseExp_5_0= ruleIfElseExpression ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:343:1: (lv_falseExp_5_0= ruleIfElseExpression ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:344:3: lv_falseExp_5_0= ruleIfElseExpression + { + + newCompositeNode(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0()); + + pushFollow(FOLLOW_ruleIfElseExpression_in_ruleIfElseExpression878); + lv_falseExp_5_0=ruleIfElseExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIfElseExpressionRule()); + } + set( + current, + "falseExp", + lv_falseExp_5_0, + "IfElseExpression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIfElseExpression" + + + // $ANTLR start "entryRuleBinaryBooleanExpression" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:368:1: entryRuleBinaryBooleanExpression returns [EObject current=null] : iv_ruleBinaryBooleanExpression= ruleBinaryBooleanExpression EOF ; + public final EObject entryRuleBinaryBooleanExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBinaryBooleanExpression = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:369:2: (iv_ruleBinaryBooleanExpression= ruleBinaryBooleanExpression EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:370:2: iv_ruleBinaryBooleanExpression= ruleBinaryBooleanExpression EOF + { + newCompositeNode(grammarAccess.getBinaryBooleanExpressionRule()); + pushFollow(FOLLOW_ruleBinaryBooleanExpression_in_entryRuleBinaryBooleanExpression916); + iv_ruleBinaryBooleanExpression=ruleBinaryBooleanExpression(); + + state._fsp--; + + current =iv_ruleBinaryBooleanExpression; + match(input,EOF,FOLLOW_EOF_in_entryRuleBinaryBooleanExpression926); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBinaryBooleanExpression" + + + // $ANTLR start "ruleBinaryBooleanExpression" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:377:1: ruleBinaryBooleanExpression returns [EObject current=null] : (this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* ) ; + public final EObject ruleBinaryBooleanExpression() throws RecognitionException { + EObject current = null; + + EObject this_UnaryBooleanExpression_0 = null; + + Enumerator lv_operation_2_0 = null; + + EObject lv_right_3_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:380:28: ( (this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:381:1: (this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:381:1: (this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:382:5: this_UnaryBooleanExpression_0= ruleUnaryBooleanExpression ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* + { + + newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getUnaryBooleanExpressionParserRuleCall_0()); + + pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_ruleBinaryBooleanExpression973); + this_UnaryBooleanExpression_0=ruleUnaryBooleanExpression(); + + state._fsp--; + + + current = this_UnaryBooleanExpression_0; + afterParserOrEnumRuleCall(); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:390:1: ( () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) )* + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( ((LA6_0>=32 && LA6_0<=34)) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:390:2: () ( (lv_operation_2_0= ruleBooleanOperation ) ) ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:390:2: () + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:391:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0(), + current); + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:396:2: ( (lv_operation_2_0= ruleBooleanOperation ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:397:1: (lv_operation_2_0= ruleBooleanOperation ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:397:1: (lv_operation_2_0= ruleBooleanOperation ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:398:3: lv_operation_2_0= ruleBooleanOperation + { + + newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0()); + + pushFollow(FOLLOW_ruleBooleanOperation_in_ruleBinaryBooleanExpression1003); + lv_operation_2_0=ruleBooleanOperation(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBinaryBooleanExpressionRule()); + } + set( + current, + "operation", + lv_operation_2_0, + "BooleanOperation"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:414:2: ( (lv_right_3_0= ruleUnaryBooleanExpression ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:415:1: (lv_right_3_0= ruleUnaryBooleanExpression ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:415:1: (lv_right_3_0= ruleUnaryBooleanExpression ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:416:3: lv_right_3_0= ruleUnaryBooleanExpression + { + + newCompositeNode(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0()); + + pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_ruleBinaryBooleanExpression1024); + lv_right_3_0=ruleUnaryBooleanExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBinaryBooleanExpressionRule()); + } + set( + current, + "right", + lv_right_3_0, + "UnaryBooleanExpression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop6; + } + } while (true); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBinaryBooleanExpression" + + + // $ANTLR start "entryRuleUnaryBooleanExpression" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:440:1: entryRuleUnaryBooleanExpression returns [EObject current=null] : iv_ruleUnaryBooleanExpression= ruleUnaryBooleanExpression EOF ; + public final EObject entryRuleUnaryBooleanExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnaryBooleanExpression = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:441:2: (iv_ruleUnaryBooleanExpression= ruleUnaryBooleanExpression EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:442:2: iv_ruleUnaryBooleanExpression= ruleUnaryBooleanExpression EOF + { + newCompositeNode(grammarAccess.getUnaryBooleanExpressionRule()); + pushFollow(FOLLOW_ruleUnaryBooleanExpression_in_entryRuleUnaryBooleanExpression1062); + iv_ruleUnaryBooleanExpression=ruleUnaryBooleanExpression(); + + state._fsp--; + + current =iv_ruleUnaryBooleanExpression; + match(input,EOF,FOLLOW_EOF_in_entryRuleUnaryBooleanExpression1072); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnaryBooleanExpression" + + + // $ANTLR start "ruleUnaryBooleanExpression" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:449:1: ruleUnaryBooleanExpression returns [EObject current=null] : ( (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) | this_Comparison_3= ruleComparison ) ; + public final EObject ruleUnaryBooleanExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject this_Comparison_1 = null; + + EObject this_Comparison_3 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:452:28: ( ( (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) | this_Comparison_3= ruleComparison ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:1: ( (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) | this_Comparison_3= ruleComparison ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:1: ( (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) | this_Comparison_3= ruleComparison ) + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0==17) ) { + alt7=1; + } + else if ( ((LA7_0>=RULE_INT && LA7_0<=RULE_ID)||LA7_0==11||(LA7_0>=13 && LA7_0<=14)||LA7_0==19) ) { + alt7=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + + throw nvae; + } + switch (alt7) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:2: (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:2: (otherlv_0= 'NOT' this_Comparison_1= ruleComparison () ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:453:4: otherlv_0= 'NOT' this_Comparison_1= ruleComparison () + { + otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleUnaryBooleanExpression1110); + + newLeafNode(otherlv_0, grammarAccess.getUnaryBooleanExpressionAccess().getNOTKeyword_0_0()); + + + newCompositeNode(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_0_1()); + + pushFollow(FOLLOW_ruleComparison_in_ruleUnaryBooleanExpression1132); + this_Comparison_1=ruleComparison(); + + state._fsp--; + + + current = this_Comparison_1; + afterParserOrEnumRuleCall(); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:466:1: () + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:467:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2(), + current); + + + } + + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:474:5: this_Comparison_3= ruleComparison + { + + newCompositeNode(grammarAccess.getUnaryBooleanExpressionAccess().getComparisonParserRuleCall_1()); + + pushFollow(FOLLOW_ruleComparison_in_ruleUnaryBooleanExpression1169); + this_Comparison_3=ruleComparison(); + + state._fsp--; + + + current = this_Comparison_3; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUnaryBooleanExpression" + + + // $ANTLR start "entryRuleComparison" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:490:1: entryRuleComparison returns [EObject current=null] : iv_ruleComparison= ruleComparison EOF ; + public final EObject entryRuleComparison() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComparison = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:491:2: (iv_ruleComparison= ruleComparison EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:492:2: iv_ruleComparison= ruleComparison EOF + { + newCompositeNode(grammarAccess.getComparisonRule()); + pushFollow(FOLLOW_ruleComparison_in_entryRuleComparison1204); + iv_ruleComparison=ruleComparison(); + + state._fsp--; + + current =iv_ruleComparison; + match(input,EOF,FOLLOW_EOF_in_entryRuleComparison1214); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComparison" + + + // $ANTLR start "ruleComparison" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:499:1: ruleComparison returns [EObject current=null] : (this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* ) ; + public final EObject ruleComparison() throws RecognitionException { + EObject current = null; + + EObject this_Term_0 = null; + + Enumerator lv_operation_2_0 = null; + + EObject lv_right_3_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:502:28: ( (this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:503:1: (this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:503:1: (this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:504:5: this_Term_0= ruleTerm ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* + { + + newCompositeNode(grammarAccess.getComparisonAccess().getTermParserRuleCall_0()); + + pushFollow(FOLLOW_ruleTerm_in_ruleComparison1261); + this_Term_0=ruleTerm(); + + state._fsp--; + + + current = this_Term_0; + afterParserOrEnumRuleCall(); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:512:1: ( () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); + + if ( ((LA8_0>=26 && LA8_0<=31)) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:512:2: () ( (lv_operation_2_0= ruleCompareOperation ) ) ( (lv_right_3_0= ruleTerm ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:512:2: () + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:513:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0(), + current); + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:518:2: ( (lv_operation_2_0= ruleCompareOperation ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:1: (lv_operation_2_0= ruleCompareOperation ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:519:1: (lv_operation_2_0= ruleCompareOperation ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:520:3: lv_operation_2_0= ruleCompareOperation + { + + newCompositeNode(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0()); + + pushFollow(FOLLOW_ruleCompareOperation_in_ruleComparison1291); + lv_operation_2_0=ruleCompareOperation(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonRule()); + } + set( + current, + "operation", + lv_operation_2_0, + "CompareOperation"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:536:2: ( (lv_right_3_0= ruleTerm ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:537:1: (lv_right_3_0= ruleTerm ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:537:1: (lv_right_3_0= ruleTerm ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:538:3: lv_right_3_0= ruleTerm + { + + newCompositeNode(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0()); + + pushFollow(FOLLOW_ruleTerm_in_ruleComparison1312); + lv_right_3_0=ruleTerm(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonRule()); + } + set( + current, + "right", + lv_right_3_0, + "Term"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop8; + } + } while (true); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComparison" + + + // $ANTLR start "entryRuleTerm" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:562:1: entryRuleTerm returns [EObject current=null] : iv_ruleTerm= ruleTerm EOF ; + public final EObject entryRuleTerm() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTerm = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:563:2: (iv_ruleTerm= ruleTerm EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:564:2: iv_ruleTerm= ruleTerm EOF + { + newCompositeNode(grammarAccess.getTermRule()); + pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm1350); + iv_ruleTerm=ruleTerm(); + + state._fsp--; + + current =iv_ruleTerm; + match(input,EOF,FOLLOW_EOF_in_entryRuleTerm1360); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTerm" + + + // $ANTLR start "ruleTerm" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:571:1: ruleTerm returns [EObject current=null] : (this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* ) ; + public final EObject ruleTerm() throws RecognitionException { + EObject current = null; + + EObject this_Product_0 = null; + + Enumerator lv_operation_2_0 = null; + + EObject lv_right_3_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:574:28: ( (this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:575:1: (this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:575:1: (this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:576:5: this_Product_0= ruleProduct ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* + { + + newCompositeNode(grammarAccess.getTermAccess().getProductParserRuleCall_0()); + + pushFollow(FOLLOW_ruleProduct_in_ruleTerm1407); + this_Product_0=ruleProduct(); + + state._fsp--; + + + current = this_Product_0; + afterParserOrEnumRuleCall(); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:584:1: ( () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) )* + loop9: + do { + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==11||LA9_0==25) ) { + alt9=1; + } + + + switch (alt9) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:584:2: () ( (lv_operation_2_0= ruleTermOperation ) ) ( (lv_right_3_0= ruleProduct ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:584:2: () + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:585:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getTermAccess().getTermLeftAction_1_0(), + current); + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:590:2: ( (lv_operation_2_0= ruleTermOperation ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:591:1: (lv_operation_2_0= ruleTermOperation ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:591:1: (lv_operation_2_0= ruleTermOperation ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:592:3: lv_operation_2_0= ruleTermOperation + { + + newCompositeNode(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0()); + + pushFollow(FOLLOW_ruleTermOperation_in_ruleTerm1437); + lv_operation_2_0=ruleTermOperation(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTermRule()); + } + set( + current, + "operation", + lv_operation_2_0, + "TermOperation"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:608:2: ( (lv_right_3_0= ruleProduct ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:609:1: (lv_right_3_0= ruleProduct ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:609:1: (lv_right_3_0= ruleProduct ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:610:3: lv_right_3_0= ruleProduct + { + + newCompositeNode(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0()); + + pushFollow(FOLLOW_ruleProduct_in_ruleTerm1458); + lv_right_3_0=ruleProduct(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTermRule()); + } + set( + current, + "right", + lv_right_3_0, + "Product"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop9; + } + } while (true); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTerm" + + + // $ANTLR start "entryRuleProduct" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:634:1: entryRuleProduct returns [EObject current=null] : iv_ruleProduct= ruleProduct EOF ; + public final EObject entryRuleProduct() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProduct = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:635:2: (iv_ruleProduct= ruleProduct EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:636:2: iv_ruleProduct= ruleProduct EOF + { + newCompositeNode(grammarAccess.getProductRule()); + pushFollow(FOLLOW_ruleProduct_in_entryRuleProduct1496); + iv_ruleProduct=ruleProduct(); + + state._fsp--; + + current =iv_ruleProduct; + match(input,EOF,FOLLOW_EOF_in_entryRuleProduct1506); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProduct" + + + // $ANTLR start "ruleProduct" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:643:1: ruleProduct returns [EObject current=null] : (this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* ) ; + public final EObject ruleProduct() throws RecognitionException { + EObject current = null; + + EObject this_Power_0 = null; + + Enumerator lv_operation_2_0 = null; + + EObject lv_right_3_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:646:28: ( (this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:647:1: (this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:647:1: (this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:648:5: this_Power_0= rulePower ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* + { + + newCompositeNode(grammarAccess.getProductAccess().getPowerParserRuleCall_0()); + + pushFollow(FOLLOW_rulePower_in_ruleProduct1553); + this_Power_0=rulePower(); + + state._fsp--; + + + current = this_Power_0; + afterParserOrEnumRuleCall(); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:656:1: ( () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) )* + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( ((LA10_0>=22 && LA10_0<=24)) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:656:2: () ( (lv_operation_2_0= ruleProductOperation ) ) ( (lv_right_3_0= rulePower ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:656:2: () + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:657:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getProductAccess().getProductLeftAction_1_0(), + current); + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:662:2: ( (lv_operation_2_0= ruleProductOperation ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:663:1: (lv_operation_2_0= ruleProductOperation ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:663:1: (lv_operation_2_0= ruleProductOperation ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:664:3: lv_operation_2_0= ruleProductOperation + { + + newCompositeNode(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0()); + + pushFollow(FOLLOW_ruleProductOperation_in_ruleProduct1583); + lv_operation_2_0=ruleProductOperation(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProductRule()); + } + set( + current, + "operation", + lv_operation_2_0, + "ProductOperation"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:680:2: ( (lv_right_3_0= rulePower ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:681:1: (lv_right_3_0= rulePower ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:681:1: (lv_right_3_0= rulePower ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:682:3: lv_right_3_0= rulePower + { + + newCompositeNode(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0()); + + pushFollow(FOLLOW_rulePower_in_ruleProduct1604); + lv_right_3_0=rulePower(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProductRule()); + } + set( + current, + "right", + lv_right_3_0, + "Power"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop10; + } + } while (true); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProduct" + + + // $ANTLR start "entryRulePower" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:706:1: entryRulePower returns [EObject current=null] : iv_rulePower= rulePower EOF ; + public final EObject entryRulePower() throws RecognitionException { + EObject current = null; + + EObject iv_rulePower = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:707:2: (iv_rulePower= rulePower EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:708:2: iv_rulePower= rulePower EOF + { + newCompositeNode(grammarAccess.getPowerRule()); + pushFollow(FOLLOW_rulePower_in_entryRulePower1642); + iv_rulePower=rulePower(); + + state._fsp--; + + current =iv_rulePower; + match(input,EOF,FOLLOW_EOF_in_entryRulePower1652); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePower" + + + // $ANTLR start "rulePower" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:715:1: rulePower returns [EObject current=null] : (this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* ) ; + public final EObject rulePower() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Atom_0 = null; + + EObject lv_exponent_3_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:718:28: ( (this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:719:1: (this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:719:1: (this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:720:5: this_Atom_0= ruleAtom ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* + { + + newCompositeNode(grammarAccess.getPowerAccess().getAtomParserRuleCall_0()); + + pushFollow(FOLLOW_ruleAtom_in_rulePower1699); + this_Atom_0=ruleAtom(); + + state._fsp--; + + + current = this_Atom_0; + afterParserOrEnumRuleCall(); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:728:1: ( () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) )* + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==18) ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:728:2: () otherlv_2= '^' ( (lv_exponent_3_0= ruleAtom ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:728:2: () + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:729:5: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getPowerAccess().getPowerBaseAction_1_0(), + current); + + + } + + otherlv_2=(Token)match(input,18,FOLLOW_18_in_rulePower1720); + + newLeafNode(otherlv_2, grammarAccess.getPowerAccess().getCircumflexAccentKeyword_1_1()); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:738:1: ( (lv_exponent_3_0= ruleAtom ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:739:1: (lv_exponent_3_0= ruleAtom ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:739:1: (lv_exponent_3_0= ruleAtom ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:740:3: lv_exponent_3_0= ruleAtom + { + + newCompositeNode(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0()); + + pushFollow(FOLLOW_ruleAtom_in_rulePower1741); + lv_exponent_3_0=ruleAtom(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPowerRule()); + } + set( + current, + "exponent", + lv_exponent_3_0, + "Atom"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop11; + } + } while (true); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePower" + + + // $ANTLR start "entryRuleAtom" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:764:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ; + public final EObject entryRuleAtom() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAtom = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:765:2: (iv_ruleAtom= ruleAtom EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:766:2: iv_ruleAtom= ruleAtom EOF + { + newCompositeNode(grammarAccess.getAtomRule()); + pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom1779); + iv_ruleAtom=ruleAtom(); + + state._fsp--; + + current =iv_ruleAtom; + match(input,EOF,FOLLOW_EOF_in_entryRuleAtom1789); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAtom" + + + // $ANTLR start "ruleAtom" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:773:1: ruleAtom returns [EObject current=null] : (this_Literal_0= ruleLiteral | (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) | this_Function_4= ruleFunction ) ; + public final EObject ruleAtom() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + EObject this_Literal_0 = null; + + EObject this_RootExpression_2 = null; + + EObject this_Function_4 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:776:28: ( (this_Literal_0= ruleLiteral | (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) | this_Function_4= ruleFunction ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:777:1: (this_Literal_0= ruleLiteral | (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) | this_Function_4= ruleFunction ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:777:1: (this_Literal_0= ruleLiteral | (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) | this_Function_4= ruleFunction ) + int alt12=3; + switch ( input.LA(1) ) { + case RULE_INT: + case RULE_STRING: + case 11: + case 13: + case 14: + { + alt12=1; + } + break; + case RULE_ID: + { + int LA12_2 = input.LA(2); + + if ( (LA12_2==19) ) { + alt12=3; + } + else if ( (LA12_2==EOF||LA12_2==11||(LA12_2>=15 && LA12_2<=16)||LA12_2==18||(LA12_2>=20 && LA12_2<=34)) ) { + alt12=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 12, 2, input); + + throw nvae; + } + } + break; + case 19: + { + alt12=2; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 12, 0, input); + + throw nvae; + } + + switch (alt12) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:778:5: this_Literal_0= ruleLiteral + { + + newCompositeNode(grammarAccess.getAtomAccess().getLiteralParserRuleCall_0()); + + pushFollow(FOLLOW_ruleLiteral_in_ruleAtom1836); + this_Literal_0=ruleLiteral(); + + state._fsp--; + + + current = this_Literal_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:787:6: (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:787:6: (otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:787:8: otherlv_1= '(' this_RootExpression_2= ruleRootExpression otherlv_3= ')' + { + otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleAtom1854); + + newLeafNode(otherlv_1, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); + + + newCompositeNode(grammarAccess.getAtomAccess().getRootExpressionParserRuleCall_1_1()); + + pushFollow(FOLLOW_ruleRootExpression_in_ruleAtom1876); + this_RootExpression_2=ruleRootExpression(); + + state._fsp--; + + + current = this_RootExpression_2; + afterParserOrEnumRuleCall(); + + otherlv_3=(Token)match(input,20,FOLLOW_20_in_ruleAtom1887); + + newLeafNode(otherlv_3, grammarAccess.getAtomAccess().getRightParenthesisKeyword_1_2()); + + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:806:5: this_Function_4= ruleFunction + { + + newCompositeNode(grammarAccess.getAtomAccess().getFunctionParserRuleCall_2()); + + pushFollow(FOLLOW_ruleFunction_in_ruleAtom1916); + this_Function_4=ruleFunction(); + + state._fsp--; + + + current = this_Function_4; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAtom" + + + // $ANTLR start "entryRuleFunction" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:822:1: entryRuleFunction returns [EObject current=null] : iv_ruleFunction= ruleFunction EOF ; + public final EObject entryRuleFunction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFunction = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:823:2: (iv_ruleFunction= ruleFunction EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:824:2: iv_ruleFunction= ruleFunction EOF + { + newCompositeNode(grammarAccess.getFunctionRule()); + pushFollow(FOLLOW_ruleFunction_in_entryRuleFunction1951); + iv_ruleFunction=ruleFunction(); + + state._fsp--; + + current =iv_ruleFunction; + match(input,EOF,FOLLOW_EOF_in_entryRuleFunction1961); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFunction" + + + // $ANTLR start "ruleFunction" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:831:1: ruleFunction returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' ) ; + public final EObject ruleFunction() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_parameters_2_0 = null; + + EObject lv_parameters_4_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:834:28: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:2: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? otherlv_5= ')' + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:2: ( (lv_name_0_0= RULE_ID ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:836:1: (lv_name_0_0= RULE_ID ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:836:1: (lv_name_0_0= RULE_ID ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:837:3: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFunction2003); + + newLeafNode(lv_name_0_0, grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getFunctionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "ID"); + + + } + + + } + + otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleFunction2020); + + newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1()); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:857:1: ( ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* )? + int alt14=2; + int LA14_0 = input.LA(1); + + if ( ((LA14_0>=RULE_INT && LA14_0<=RULE_ID)||LA14_0==11||(LA14_0>=13 && LA14_0<=14)||LA14_0==17||LA14_0==19) ) { + alt14=1; + } + switch (alt14) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:857:2: ( (lv_parameters_2_0= ruleRootExpression ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:857:2: ( (lv_parameters_2_0= ruleRootExpression ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:858:1: (lv_parameters_2_0= ruleRootExpression ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:858:1: (lv_parameters_2_0= ruleRootExpression ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:859:3: lv_parameters_2_0= ruleRootExpression + { + + newCompositeNode(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_0_0()); + + pushFollow(FOLLOW_ruleRootExpression_in_ruleFunction2042); + lv_parameters_2_0=ruleRootExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionRule()); + } + add( + current, + "parameters", + lv_parameters_2_0, + "RootExpression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:875:2: (otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) )* + loop13: + do { + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==21) ) { + alt13=1; + } + + + switch (alt13) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:875:4: otherlv_3= ',' ( (lv_parameters_4_0= ruleRootExpression ) ) + { + otherlv_3=(Token)match(input,21,FOLLOW_21_in_ruleFunction2055); + + newLeafNode(otherlv_3, grammarAccess.getFunctionAccess().getCommaKeyword_2_1_0()); + + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:879:1: ( (lv_parameters_4_0= ruleRootExpression ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:880:1: (lv_parameters_4_0= ruleRootExpression ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:880:1: (lv_parameters_4_0= ruleRootExpression ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:881:3: lv_parameters_4_0= ruleRootExpression + { + + newCompositeNode(grammarAccess.getFunctionAccess().getParametersRootExpressionParserRuleCall_2_1_1_0()); + + pushFollow(FOLLOW_ruleRootExpression_in_ruleFunction2076); + lv_parameters_4_0=ruleRootExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionRule()); + } + add( + current, + "parameters", + lv_parameters_4_0, + "RootExpression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop13; + } + } while (true); + + + } + break; + + } + + otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleFunction2092); + + newLeafNode(otherlv_5, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFunction" + + + // $ANTLR start "entryRuleLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:909:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; + public final EObject entryRuleLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLiteral = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:910:2: (iv_ruleLiteral= ruleLiteral EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:911:2: iv_ruleLiteral= ruleLiteral EOF + { + newCompositeNode(grammarAccess.getLiteralRule()); + pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral2128); + iv_ruleLiteral=ruleLiteral(); + + state._fsp--; + + current =iv_ruleLiteral; + match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral2138); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLiteral" + + + // $ANTLR start "ruleLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:918:1: ruleLiteral returns [EObject current=null] : (this_NumberLiteral_0= ruleNumberLiteral | this_BooleanLiteral_1= ruleBooleanLiteral | this_FormalParameter_2= ruleFormalParameter ) ; + public final EObject ruleLiteral() throws RecognitionException { + EObject current = null; + + EObject this_NumberLiteral_0 = null; + + EObject this_BooleanLiteral_1 = null; + + EObject this_FormalParameter_2 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:921:28: ( (this_NumberLiteral_0= ruleNumberLiteral | this_BooleanLiteral_1= ruleBooleanLiteral | this_FormalParameter_2= ruleFormalParameter ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:922:1: (this_NumberLiteral_0= ruleNumberLiteral | this_BooleanLiteral_1= ruleBooleanLiteral | this_FormalParameter_2= ruleFormalParameter ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:922:1: (this_NumberLiteral_0= ruleNumberLiteral | this_BooleanLiteral_1= ruleBooleanLiteral | this_FormalParameter_2= ruleFormalParameter ) + int alt15=3; + switch ( input.LA(1) ) { + case RULE_INT: + case 11: + { + alt15=1; + } + break; + case 13: + case 14: + { + alt15=2; + } + break; + case RULE_STRING: + case RULE_ID: + { + alt15=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); + + throw nvae; + } + + switch (alt15) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:923:5: this_NumberLiteral_0= ruleNumberLiteral + { + + newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_0()); + + pushFollow(FOLLOW_ruleNumberLiteral_in_ruleLiteral2185); + this_NumberLiteral_0=ruleNumberLiteral(); + + state._fsp--; + + + current = this_NumberLiteral_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:933:5: this_BooleanLiteral_1= ruleBooleanLiteral + { + + newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); + + pushFollow(FOLLOW_ruleBooleanLiteral_in_ruleLiteral2212); + this_BooleanLiteral_1=ruleBooleanLiteral(); + + state._fsp--; + + + current = this_BooleanLiteral_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:943:5: this_FormalParameter_2= ruleFormalParameter + { + + newCompositeNode(grammarAccess.getLiteralAccess().getFormalParameterParserRuleCall_2()); + + pushFollow(FOLLOW_ruleFormalParameter_in_ruleLiteral2239); + this_FormalParameter_2=ruleFormalParameter(); + + state._fsp--; + + + current = this_FormalParameter_2; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLiteral" + + + // $ANTLR start "entryRuleFormalParameter" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:959:1: entryRuleFormalParameter returns [EObject current=null] : iv_ruleFormalParameter= ruleFormalParameter EOF ; + public final EObject entryRuleFormalParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFormalParameter = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:960:2: (iv_ruleFormalParameter= ruleFormalParameter EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:961:2: iv_ruleFormalParameter= ruleFormalParameter EOF + { + newCompositeNode(grammarAccess.getFormalParameterRule()); + pushFollow(FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter2274); + iv_ruleFormalParameter=ruleFormalParameter(); + + state._fsp--; + + current =iv_ruleFormalParameter; + match(input,EOF,FOLLOW_EOF_in_entryRuleFormalParameter2284); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFormalParameter" + + + // $ANTLR start "ruleFormalParameter" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:968:1: ruleFormalParameter returns [EObject current=null] : ( (lv_value_0_0= ruleEString ) ) ; + public final EObject ruleFormalParameter() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_0_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:971:28: ( ( (lv_value_0_0= ruleEString ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:972:1: ( (lv_value_0_0= ruleEString ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:972:1: ( (lv_value_0_0= ruleEString ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:973:1: (lv_value_0_0= ruleEString ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:973:1: (lv_value_0_0= ruleEString ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:974:3: lv_value_0_0= ruleEString + { + + newCompositeNode(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0()); + + pushFollow(FOLLOW_ruleEString_in_ruleFormalParameter2329); + lv_value_0_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFormalParameterRule()); + } + set( + current, + "value", + lv_value_0_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFormalParameter" + + + // $ANTLR start "entryRuleBooleanLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:998:1: entryRuleBooleanLiteral returns [EObject current=null] : iv_ruleBooleanLiteral= ruleBooleanLiteral EOF ; + public final EObject entryRuleBooleanLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBooleanLiteral = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:999:2: (iv_ruleBooleanLiteral= ruleBooleanLiteral EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1000:2: iv_ruleBooleanLiteral= ruleBooleanLiteral EOF + { + newCompositeNode(grammarAccess.getBooleanLiteralRule()); + pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral2364); + iv_ruleBooleanLiteral=ruleBooleanLiteral(); + + state._fsp--; + + current =iv_ruleBooleanLiteral; + match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral2374); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBooleanLiteral" + + + // $ANTLR start "ruleBooleanLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1007:1: ruleBooleanLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleEBoolean ) ) ; + public final EObject ruleBooleanLiteral() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_0_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1010:28: ( ( (lv_value_0_0= ruleEBoolean ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1011:1: ( (lv_value_0_0= ruleEBoolean ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1011:1: ( (lv_value_0_0= ruleEBoolean ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1012:1: (lv_value_0_0= ruleEBoolean ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1012:1: (lv_value_0_0= ruleEBoolean ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1013:3: lv_value_0_0= ruleEBoolean + { + + newCompositeNode(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0()); + + pushFollow(FOLLOW_ruleEBoolean_in_ruleBooleanLiteral2419); + lv_value_0_0=ruleEBoolean(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBooleanLiteralRule()); + } + set( + current, + "value", + lv_value_0_0, + "EBoolean"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBooleanLiteral" + + + // $ANTLR start "entryRuleNumberLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1037:1: entryRuleNumberLiteral returns [EObject current=null] : iv_ruleNumberLiteral= ruleNumberLiteral EOF ; + public final EObject entryRuleNumberLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNumberLiteral = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1038:2: (iv_ruleNumberLiteral= ruleNumberLiteral EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1039:2: iv_ruleNumberLiteral= ruleNumberLiteral EOF + { + newCompositeNode(grammarAccess.getNumberLiteralRule()); + pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral2454); + iv_ruleNumberLiteral=ruleNumberLiteral(); + + state._fsp--; + + current =iv_ruleNumberLiteral; + match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral2464); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNumberLiteral" + + + // $ANTLR start "ruleNumberLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1046:1: ruleNumberLiteral returns [EObject current=null] : (this_IntLiteral_0= ruleIntLiteral | this_DoubleLiteral_1= ruleDoubleLiteral ) ; + public final EObject ruleNumberLiteral() throws RecognitionException { + EObject current = null; + + EObject this_IntLiteral_0 = null; + + EObject this_DoubleLiteral_1 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1049:28: ( (this_IntLiteral_0= ruleIntLiteral | this_DoubleLiteral_1= ruleDoubleLiteral ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1050:1: (this_IntLiteral_0= ruleIntLiteral | this_DoubleLiteral_1= ruleDoubleLiteral ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1050:1: (this_IntLiteral_0= ruleIntLiteral | this_DoubleLiteral_1= ruleDoubleLiteral ) + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==11) ) { + int LA16_1 = input.LA(2); + + if ( (LA16_1==RULE_INT) ) { + int LA16_2 = input.LA(3); + + if ( (LA16_2==12) ) { + alt16=2; + } + else if ( (LA16_2==EOF||LA16_2==11||(LA16_2>=15 && LA16_2<=16)||LA16_2==18||(LA16_2>=20 && LA16_2<=34)) ) { + alt16=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 16, 2, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 16, 1, input); + + throw nvae; + } + } + else if ( (LA16_0==RULE_INT) ) { + int LA16_2 = input.LA(2); + + if ( (LA16_2==12) ) { + alt16=2; + } + else if ( (LA16_2==EOF||LA16_2==11||(LA16_2>=15 && LA16_2<=16)||LA16_2==18||(LA16_2>=20 && LA16_2<=34)) ) { + alt16=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 16, 2, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 16, 0, input); + + throw nvae; + } + switch (alt16) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1051:5: this_IntLiteral_0= ruleIntLiteral + { + + newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); + + pushFollow(FOLLOW_ruleIntLiteral_in_ruleNumberLiteral2511); + this_IntLiteral_0=ruleIntLiteral(); + + state._fsp--; + + + current = this_IntLiteral_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1061:5: this_DoubleLiteral_1= ruleDoubleLiteral + { + + newCompositeNode(grammarAccess.getNumberLiteralAccess().getDoubleLiteralParserRuleCall_1()); + + pushFollow(FOLLOW_ruleDoubleLiteral_in_ruleNumberLiteral2538); + this_DoubleLiteral_1=ruleDoubleLiteral(); + + state._fsp--; + + + current = this_DoubleLiteral_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNumberLiteral" + + + // $ANTLR start "entryRuleIntLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1077:1: entryRuleIntLiteral returns [EObject current=null] : iv_ruleIntLiteral= ruleIntLiteral EOF ; + public final EObject entryRuleIntLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleIntLiteral = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1078:2: (iv_ruleIntLiteral= ruleIntLiteral EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1079:2: iv_ruleIntLiteral= ruleIntLiteral EOF + { + newCompositeNode(grammarAccess.getIntLiteralRule()); + pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral2573); + iv_ruleIntLiteral=ruleIntLiteral(); + + state._fsp--; + + current =iv_ruleIntLiteral; + match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral2583); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIntLiteral" + + + // $ANTLR start "ruleIntLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1086:1: ruleIntLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleInteger ) ) ; + public final EObject ruleIntLiteral() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_0_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1089:28: ( ( (lv_value_0_0= ruleInteger ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1090:1: ( (lv_value_0_0= ruleInteger ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1090:1: ( (lv_value_0_0= ruleInteger ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1091:1: (lv_value_0_0= ruleInteger ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1091:1: (lv_value_0_0= ruleInteger ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1092:3: lv_value_0_0= ruleInteger + { + + newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0()); + + pushFollow(FOLLOW_ruleInteger_in_ruleIntLiteral2628); + lv_value_0_0=ruleInteger(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIntLiteralRule()); + } + set( + current, + "value", + lv_value_0_0, + "Integer"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIntLiteral" + + + // $ANTLR start "entryRuleDoubleLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1116:1: entryRuleDoubleLiteral returns [EObject current=null] : iv_ruleDoubleLiteral= ruleDoubleLiteral EOF ; + public final EObject entryRuleDoubleLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDoubleLiteral = null; + + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1117:2: (iv_ruleDoubleLiteral= ruleDoubleLiteral EOF ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1118:2: iv_ruleDoubleLiteral= ruleDoubleLiteral EOF + { + newCompositeNode(grammarAccess.getDoubleLiteralRule()); + pushFollow(FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral2663); + iv_ruleDoubleLiteral=ruleDoubleLiteral(); + + state._fsp--; + + current =iv_ruleDoubleLiteral; + match(input,EOF,FOLLOW_EOF_in_entryRuleDoubleLiteral2673); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDoubleLiteral" + + + // $ANTLR start "ruleDoubleLiteral" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1125:1: ruleDoubleLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleDouble ) ) ; + public final EObject ruleDoubleLiteral() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_0_0 = null; + + + enterRule(); + + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1128:28: ( ( (lv_value_0_0= ruleDouble ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1129:1: ( (lv_value_0_0= ruleDouble ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1129:1: ( (lv_value_0_0= ruleDouble ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1130:1: (lv_value_0_0= ruleDouble ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1130:1: (lv_value_0_0= ruleDouble ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1131:3: lv_value_0_0= ruleDouble + { + + newCompositeNode(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0()); + + pushFollow(FOLLOW_ruleDouble_in_ruleDoubleLiteral2718); + lv_value_0_0=ruleDouble(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDoubleLiteralRule()); + } + set( + current, + "value", + lv_value_0_0, + "Double"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDoubleLiteral" + + + // $ANTLR start "ruleProductOperation" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1155:1: ruleProductOperation returns [Enumerator current=null] : ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) ; + public final Enumerator ruleProductOperation() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + + enterRule(); + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1157:28: ( ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:1: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:1: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) + int alt17=3; + switch ( input.LA(1) ) { + case 22: + { + alt17=1; + } + break; + case 23: + { + alt17=2; + } + break; + case 24: + { + alt17=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); + + throw nvae; + } + + switch (alt17) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:2: (enumLiteral_0= '*' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:2: (enumLiteral_0= '*' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1158:4: enumLiteral_0= '*' + { + enumLiteral_0=(Token)match(input,22,FOLLOW_22_in_ruleProductOperation2767); + + current = grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getProductOperationAccess().getMULTEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1164:6: (enumLiteral_1= '/' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1164:6: (enumLiteral_1= '/' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1164:8: enumLiteral_1= '/' + { + enumLiteral_1=(Token)match(input,23,FOLLOW_23_in_ruleProductOperation2784); + + current = grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getProductOperationAccess().getDIVEnumLiteralDeclaration_1()); + + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1170:6: (enumLiteral_2= '%' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1170:6: (enumLiteral_2= '%' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1170:8: enumLiteral_2= '%' + { + enumLiteral_2=(Token)match(input,24,FOLLOW_24_in_ruleProductOperation2801); + + current = grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getProductOperationAccess().getMODEnumLiteralDeclaration_2()); + + + } + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProductOperation" + + + // $ANTLR start "ruleTermOperation" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1180:1: ruleTermOperation returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ; + public final Enumerator ruleTermOperation() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + + enterRule(); + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1182:28: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:1: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:1: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==25) ) { + alt18=1; + } + else if ( (LA18_0==11) ) { + alt18=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + + throw nvae; + } + switch (alt18) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:2: (enumLiteral_0= '+' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:2: (enumLiteral_0= '+' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:4: enumLiteral_0= '+' + { + enumLiteral_0=(Token)match(input,25,FOLLOW_25_in_ruleTermOperation2846); + + current = grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getTermOperationAccess().getADDEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1189:6: (enumLiteral_1= '-' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1189:6: (enumLiteral_1= '-' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1189:8: enumLiteral_1= '-' + { + enumLiteral_1=(Token)match(input,11,FOLLOW_11_in_ruleTermOperation2863); + + current = grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getTermOperationAccess().getSUBEnumLiteralDeclaration_1()); + + + } + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTermOperation" + + + // $ANTLR start "ruleCompareOperation" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1199:1: ruleCompareOperation returns [Enumerator current=null] : ( (enumLiteral_0= '>' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>=' ) ) ; + public final Enumerator ruleCompareOperation() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; + Token enumLiteral_4=null; + Token enumLiteral_5=null; + + enterRule(); + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1201:28: ( ( (enumLiteral_0= '>' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>=' ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:1: ( (enumLiteral_0= '>' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>=' ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:1: ( (enumLiteral_0= '>' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>=' ) ) + int alt19=6; + switch ( input.LA(1) ) { + case 26: + { + alt19=1; + } + break; + case 27: + { + alt19=2; + } + break; + case 28: + { + alt19=3; + } + break; + case 29: + { + alt19=4; + } + break; + case 30: + { + alt19=5; + } + break; + case 31: + { + alt19=6; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 19, 0, input); + + throw nvae; + } + + switch (alt19) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:2: (enumLiteral_0= '>' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:2: (enumLiteral_0= '>' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1202:4: enumLiteral_0= '>' + { + enumLiteral_0=(Token)match(input,26,FOLLOW_26_in_ruleCompareOperation2908); + + current = grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getCompareOperationAccess().getGREATEREnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1208:6: (enumLiteral_1= '<' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1208:6: (enumLiteral_1= '<' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1208:8: enumLiteral_1= '<' + { + enumLiteral_1=(Token)match(input,27,FOLLOW_27_in_ruleCompareOperation2925); + + current = grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getCompareOperationAccess().getLESSEnumLiteralDeclaration_1()); + + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1214:6: (enumLiteral_2= '=' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1214:6: (enumLiteral_2= '=' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1214:8: enumLiteral_2= '=' + { + enumLiteral_2=(Token)match(input,28,FOLLOW_28_in_ruleCompareOperation2942); + + current = grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getCompareOperationAccess().getEQUALSEnumLiteralDeclaration_2()); + + + } + + + } + break; + case 4 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1220:6: (enumLiteral_3= '!=' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1220:6: (enumLiteral_3= '!=' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1220:8: enumLiteral_3= '!=' + { + enumLiteral_3=(Token)match(input,29,FOLLOW_29_in_ruleCompareOperation2959); + + current = grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getCompareOperationAccess().getNOTEQUALEnumLiteralDeclaration_3()); + + + } + + + } + break; + case 5 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1226:6: (enumLiteral_4= '<=' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1226:6: (enumLiteral_4= '<=' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1226:8: enumLiteral_4= '<=' + { + enumLiteral_4=(Token)match(input,30,FOLLOW_30_in_ruleCompareOperation2976); + + current = grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getCompareOperationAccess().getLESSEQUALEnumLiteralDeclaration_4()); + + + } + + + } + break; + case 6 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1232:6: (enumLiteral_5= '>=' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1232:6: (enumLiteral_5= '>=' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1232:8: enumLiteral_5= '>=' + { + enumLiteral_5=(Token)match(input,31,FOLLOW_31_in_ruleCompareOperation2993); + + current = grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getCompareOperationAccess().getGREATEREQUALEnumLiteralDeclaration_5()); + + + } + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCompareOperation" + + + // $ANTLR start "ruleBooleanOperation" + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1242:1: ruleBooleanOperation returns [Enumerator current=null] : ( (enumLiteral_0= 'AND' ) | (enumLiteral_1= 'OR' ) | (enumLiteral_2= 'XOR' ) ) ; + public final Enumerator ruleBooleanOperation() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + + enterRule(); + try { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1244:28: ( ( (enumLiteral_0= 'AND' ) | (enumLiteral_1= 'OR' ) | (enumLiteral_2= 'XOR' ) ) ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:1: ( (enumLiteral_0= 'AND' ) | (enumLiteral_1= 'OR' ) | (enumLiteral_2= 'XOR' ) ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:1: ( (enumLiteral_0= 'AND' ) | (enumLiteral_1= 'OR' ) | (enumLiteral_2= 'XOR' ) ) + int alt20=3; + switch ( input.LA(1) ) { + case 32: + { + alt20=1; + } + break; + case 33: + { + alt20=2; + } + break; + case 34: + { + alt20=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 20, 0, input); + + throw nvae; + } + + switch (alt20) { + case 1 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:2: (enumLiteral_0= 'AND' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:2: (enumLiteral_0= 'AND' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1245:4: enumLiteral_0= 'AND' + { + enumLiteral_0=(Token)match(input,32,FOLLOW_32_in_ruleBooleanOperation3038); + + current = grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getBooleanOperationAccess().getANDEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1251:6: (enumLiteral_1= 'OR' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1251:6: (enumLiteral_1= 'OR' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1251:8: enumLiteral_1= 'OR' + { + enumLiteral_1=(Token)match(input,33,FOLLOW_33_in_ruleBooleanOperation3055); + + current = grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getBooleanOperationAccess().getOREnumLiteralDeclaration_1()); + + + } + + + } + break; + case 3 : + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1257:6: (enumLiteral_2= 'XOR' ) + { + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1257:6: (enumLiteral_2= 'XOR' ) + // ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1257:8: enumLiteral_2= 'XOR' + { + enumLiteral_2=(Token)match(input,34,FOLLOW_34_in_ruleBooleanOperation3072); + + current = grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getBooleanOperationAccess().getXOREnumLiteralDeclaration_2()); + + + } + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBooleanOperation" + + // Delegated rules + + + + + public static final BitSet FOLLOW_ruleModel_in_entryRuleModel75 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleModel85 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleModel130 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDouble_in_entryRuleDouble166 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleDouble177 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_ruleDouble216 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_INT_in_ruleDouble233 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleDouble251 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_INT_in_ruleDouble266 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger312 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleInteger323 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_ruleInteger362 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_RULE_INT_in_ruleInteger379 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEString_in_entryRuleEString425 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleEString436 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleEString476 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleEString502 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEBoolean_in_entryRuleEBoolean548 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleEBoolean559 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_13_in_ruleEBoolean597 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_14_in_ruleEBoolean616 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRootExpression_in_entryRuleRootExpression656 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRootExpression666 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleRootExpression712 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_entryRuleIfElseExpression746 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleIfElseExpression756 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBinaryBooleanExpression_in_ruleIfElseExpression803 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_15_in_ruleIfElseExpression824 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleIfElseExpression845 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleIfElseExpression857 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleIfElseExpression_in_ruleIfElseExpression878 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBinaryBooleanExpression_in_entryRuleBinaryBooleanExpression916 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBinaryBooleanExpression926 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_ruleBinaryBooleanExpression973 = new BitSet(new long[]{0x0000000700000002L}); + public static final BitSet FOLLOW_ruleBooleanOperation_in_ruleBinaryBooleanExpression1003 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_ruleBinaryBooleanExpression1024 = new BitSet(new long[]{0x0000000700000002L}); + public static final BitSet FOLLOW_ruleUnaryBooleanExpression_in_entryRuleUnaryBooleanExpression1062 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleUnaryBooleanExpression1072 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_17_in_ruleUnaryBooleanExpression1110 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleComparison_in_ruleUnaryBooleanExpression1132 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComparison_in_ruleUnaryBooleanExpression1169 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComparison_in_entryRuleComparison1204 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleComparison1214 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleTerm_in_ruleComparison1261 = new BitSet(new long[]{0x00000000FC000002L}); + public static final BitSet FOLLOW_ruleCompareOperation_in_ruleComparison1291 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleTerm_in_ruleComparison1312 = new BitSet(new long[]{0x00000000FC000002L}); + public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm1350 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleTerm1360 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProduct_in_ruleTerm1407 = new BitSet(new long[]{0x0000000002000802L}); + public static final BitSet FOLLOW_ruleTermOperation_in_ruleTerm1437 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleProduct_in_ruleTerm1458 = new BitSet(new long[]{0x0000000002000802L}); + public static final BitSet FOLLOW_ruleProduct_in_entryRuleProduct1496 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleProduct1506 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePower_in_ruleProduct1553 = new BitSet(new long[]{0x0000000001C00002L}); + public static final BitSet FOLLOW_ruleProductOperation_in_ruleProduct1583 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_rulePower_in_ruleProduct1604 = new BitSet(new long[]{0x0000000001C00002L}); + public static final BitSet FOLLOW_rulePower_in_entryRulePower1642 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRulePower1652 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAtom_in_rulePower1699 = new BitSet(new long[]{0x0000000000040002L}); + public static final BitSet FOLLOW_18_in_rulePower1720 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleAtom_in_rulePower1741 = new BitSet(new long[]{0x0000000000040002L}); + public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom1779 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAtom1789 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleLiteral_in_ruleAtom1836 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_19_in_ruleAtom1854 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleRootExpression_in_ruleAtom1876 = new BitSet(new long[]{0x0000000000100000L}); + public static final BitSet FOLLOW_20_in_ruleAtom1887 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFunction_in_ruleAtom1916 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction1951 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFunction1961 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleFunction2003 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_19_in_ruleFunction2020 = new BitSet(new long[]{0x00000000001A6870L}); + public static final BitSet FOLLOW_ruleRootExpression_in_ruleFunction2042 = new BitSet(new long[]{0x0000000000300000L}); + public static final BitSet FOLLOW_21_in_ruleFunction2055 = new BitSet(new long[]{0x00000000000A6870L}); + public static final BitSet FOLLOW_ruleRootExpression_in_ruleFunction2076 = new BitSet(new long[]{0x0000000000300000L}); + public static final BitSet FOLLOW_20_in_ruleFunction2092 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral2128 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleLiteral2138 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleLiteral2185 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral2212 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFormalParameter_in_ruleLiteral2239 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFormalParameter_in_entryRuleFormalParameter2274 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFormalParameter2284 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEString_in_ruleFormalParameter2329 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral2364 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral2374 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEBoolean_in_ruleBooleanLiteral2419 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral2454 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral2464 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral2511 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDoubleLiteral_in_ruleNumberLiteral2538 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral2573 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral2583 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInteger_in_ruleIntLiteral2628 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDoubleLiteral_in_entryRuleDoubleLiteral2663 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleDoubleLiteral2673 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDouble_in_ruleDoubleLiteral2718 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_22_in_ruleProductOperation2767 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_23_in_ruleProductOperation2784 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_24_in_ruleProductOperation2801 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_25_in_ruleTermOperation2846 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_ruleTermOperation2863 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_26_in_ruleCompareOperation2908 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_27_in_ruleCompareOperation2925 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_28_in_ruleCompareOperation2942 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_29_in_ruleCompareOperation2959 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_30_in_ruleCompareOperation2976 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_31_in_ruleCompareOperation2993 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_32_in_ruleBooleanOperation3038 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_33_in_ruleBooleanOperation3055 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_34_in_ruleBooleanOperation3072 = new BitSet(new long[]{0x0000000000000002L}); + } \ No newline at end of file diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSemanticSequencer.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSemanticSequencer.java index 434cb75e21f71afdc24b0999140c822b16a3d59d..d6fb536445af22a0201ac6f820f1a53482f64376 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSemanticSequencer.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSemanticSequencer.java @@ -13,91 +13,533 @@ import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEOb import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; import org.eclipse.xtext.serializer.sequencer.ITransientValueService; import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; -import org.xtext.example.mydsl.myDsl.Expression; +import org.xtext.example.mydsl.myDsl.BinaryBooleanExpression; +import org.xtext.example.mydsl.myDsl.BooleanLiteral; +import org.xtext.example.mydsl.myDsl.Comparison; +import org.xtext.example.mydsl.myDsl.DoubleLiteral; +import org.xtext.example.mydsl.myDsl.FormalParameter; +import org.xtext.example.mydsl.myDsl.Function; +import org.xtext.example.mydsl.myDsl.IfElseExpression; +import org.xtext.example.mydsl.myDsl.IntLiteral; import org.xtext.example.mydsl.myDsl.Model; import org.xtext.example.mydsl.myDsl.MyDslPackage; +import org.xtext.example.mydsl.myDsl.Power; +import org.xtext.example.mydsl.myDsl.Product; import org.xtext.example.mydsl.myDsl.Term; +import org.xtext.example.mydsl.myDsl.UnaryBooleanExpression; import org.xtext.example.mydsl.services.MyDslGrammarAccess; -@SuppressWarnings("all") -public class MyDslSemanticSequencer extends AbstractDelegatingSemanticSequencer { - - @Inject - private MyDslGrammarAccess grammarAccess; - - public void createSequence(EObject context, EObject semanticObject) { - if(semanticObject.eClass().getEPackage() == MyDslPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { - case MyDslPackage.EXPRESSION: - if(context == grammarAccess.getArithmeticsRule() || - context == grammarAccess.getStringsRule() || - context == grammarAccess.getTermRule() || - context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || - context == grammarAccess.getTypesRule()) { - sequence_Arithmetics_Strings(context, (Expression) semanticObject); - return; - } - else if(context == grammarAccess.getOperationsRule()) { - sequence_Operations(context, (Expression) semanticObject); - return; - } - else break; - case MyDslPackage.MODEL: - if(context == grammarAccess.getModelRule()) { - sequence_Model(context, (Model) semanticObject); - return; - } - else break; - case MyDslPackage.TERM: - if(context == grammarAccess.getTermRule() || - context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || - context == grammarAccess.getTypesRule()) { - sequence_Term(context, (Term) semanticObject); - return; - } - else break; - } - if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); - } - - /** - * Constraint: - * {Expression} - */ - protected void sequence_Arithmetics_Strings(EObject context, Expression semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Constraint: - * terms+=Term - */ - protected void sequence_Model(EObject context, Model semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Constraint: - * termOperations=OperationsType - */ - protected void sequence_Operations(EObject context, Expression semanticObject) { - if(errorAcceptor != null) { - if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.EXPRESSION__TERM_OPERATIONS) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.EXPRESSION__TERM_OPERATIONS)); - } - INodesForEObjectProvider nodes = createNodeProvider(semanticObject); - SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); - feeder.accept(grammarAccess.getOperationsAccess().getTermOperationsOperationsTypeEnumRuleCall_0(), semanticObject.getTermOperations()); - feeder.finish(); - } - - - /** - * Constraint: - * (left=Term_Term_1_0 Operations=Operations right=Types) - */ - protected void sequence_Term(EObject context, Term semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } -} +@SuppressWarnings("all") +public class MyDslSemanticSequencer extends AbstractDelegatingSemanticSequencer { + + @Inject + private MyDslGrammarAccess grammarAccess; + + public void createSequence(EObject context, EObject semanticObject) { + if(semanticObject.eClass().getEPackage() == MyDslPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) { + case MyDslPackage.BINARY_BOOLEAN_EXPRESSION: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_BinaryBooleanExpression(context, (BinaryBooleanExpression) semanticObject); + return; + } + else break; + case MyDslPackage.BOOLEAN_LITERAL: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getBooleanLiteralRule() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getLiteralRule() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_BooleanLiteral(context, (BooleanLiteral) semanticObject); + return; + } + else break; + case MyDslPackage.COMPARISON: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_Comparison(context, (Comparison) semanticObject); + return; + } + else break; + case MyDslPackage.DOUBLE_LITERAL: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getDoubleLiteralRule() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getLiteralRule() || + context == grammarAccess.getNumberLiteralRule() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_DoubleLiteral(context, (DoubleLiteral) semanticObject); + return; + } + else break; + case MyDslPackage.FORMAL_PARAMETER: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getFormalParameterRule() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getLiteralRule() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_FormalParameter(context, (FormalParameter) semanticObject); + return; + } + else break; + case MyDslPackage.FUNCTION: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getFunctionRule() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_Function(context, (Function) semanticObject); + return; + } + else break; + case MyDslPackage.IF_ELSE_EXPRESSION: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_IfElseExpression(context, (IfElseExpression) semanticObject); + return; + } + else break; + case MyDslPackage.INT_LITERAL: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getIntLiteralRule() || + context == grammarAccess.getLiteralRule() || + context == grammarAccess.getNumberLiteralRule() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_IntLiteral(context, (IntLiteral) semanticObject); + return; + } + else break; + case MyDslPackage.MODEL: + if(context == grammarAccess.getModelRule()) { + sequence_Model(context, (Model) semanticObject); + return; + } + else break; + case MyDslPackage.POWER: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_Power(context, (Power) semanticObject); + return; + } + else break; + case MyDslPackage.PRODUCT: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_Product(context, (Product) semanticObject); + return; + } + else break; + case MyDslPackage.TERM: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_Term(context, (Term) semanticObject); + return; + } + else break; + case MyDslPackage.UNARY_BOOLEAN_EXPRESSION: + if(context == grammarAccess.getAtomRule() || + context == grammarAccess.getBinaryBooleanExpressionRule() || + context == grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0() || + context == grammarAccess.getComparisonRule() || + context == grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0() || + context == grammarAccess.getIfElseExpressionRule() || + context == grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0() || + context == grammarAccess.getPowerRule() || + context == grammarAccess.getPowerAccess().getPowerBaseAction_1_0() || + context == grammarAccess.getProductRule() || + context == grammarAccess.getProductAccess().getProductLeftAction_1_0() || + context == grammarAccess.getRootExpressionRule() || + context == grammarAccess.getTermRule() || + context == grammarAccess.getTermAccess().getTermLeftAction_1_0() || + context == grammarAccess.getUnaryBooleanExpressionRule() || + context == grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2()) { + sequence_UnaryBooleanExpression(context, (UnaryBooleanExpression) semanticObject); + return; + } + else break; + } + if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); + } + + /** + * Constraint: + * (left=BinaryBooleanExpression_BinaryBooleanExpression_1_0 operation=BooleanOperation right=UnaryBooleanExpression) + */ + protected void sequence_BinaryBooleanExpression(EObject context, BinaryBooleanExpression semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__OPERATION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__OPERATION)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getBinaryBooleanExpressionAccess().getBinaryBooleanExpressionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getBinaryBooleanExpressionAccess().getOperationBooleanOperationEnumRuleCall_1_1_0(), semanticObject.getOperation()); + feeder.accept(grammarAccess.getBinaryBooleanExpressionAccess().getRightUnaryBooleanExpressionParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Constraint: + * value=EBoolean + */ + protected void sequence_BooleanLiteral(EObject context, BooleanLiteral semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.BOOLEAN_LITERAL__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.BOOLEAN_LITERAL__VALUE)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getBooleanLiteralAccess().getValueEBooleanParserRuleCall_0(), semanticObject.isValue()); + feeder.finish(); + } + + + /** + * Constraint: + * (left=Comparison_Comparison_1_0 operation=CompareOperation right=Term) + */ + protected void sequence_Comparison(EObject context, Comparison semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.COMPARISON__LEFT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.COMPARISON__LEFT)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.COMPARISON__OPERATION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.COMPARISON__OPERATION)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.COMPARISON__RIGHT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.COMPARISON__RIGHT)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getComparisonAccess().getOperationCompareOperationEnumRuleCall_1_1_0(), semanticObject.getOperation()); + feeder.accept(grammarAccess.getComparisonAccess().getRightTermParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Constraint: + * value=Double + */ + protected void sequence_DoubleLiteral(EObject context, DoubleLiteral semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.DOUBLE_LITERAL__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.DOUBLE_LITERAL__VALUE)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getDoubleLiteralAccess().getValueDoubleParserRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Constraint: + * value=EString + */ + protected void sequence_FormalParameter(EObject context, FormalParameter semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.FORMAL_PARAMETER__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.FORMAL_PARAMETER__VALUE)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getFormalParameterAccess().getValueEStringParserRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Constraint: + * (name=ID (parameters+=RootExpression parameters+=RootExpression*)?) + */ + protected void sequence_Function(EObject context, Function semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Constraint: + * (condition=IfElseExpression_IfElseExpression_1_0 trueExp=IfElseExpression falseExp=IfElseExpression) + */ + protected void sequence_IfElseExpression(EObject context, IfElseExpression semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__CONDITION)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getIfElseExpressionAccess().getIfElseExpressionConditionAction_1_0(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getIfElseExpressionAccess().getTrueExpIfElseExpressionParserRuleCall_1_2_0(), semanticObject.getTrueExp()); + feeder.accept(grammarAccess.getIfElseExpressionAccess().getFalseExpIfElseExpressionParserRuleCall_1_4_0(), semanticObject.getFalseExp()); + feeder.finish(); + } + + + /** + * Constraint: + * value=Integer + */ + protected void sequence_IntLiteral(EObject context, IntLiteral semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.INT_LITERAL__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.INT_LITERAL__VALUE)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Constraint: + * terms=IfElseExpression + */ + protected void sequence_Model(EObject context, Model semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.MODEL__TERMS) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.MODEL__TERMS)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getModelAccess().getTermsIfElseExpressionParserRuleCall_0(), semanticObject.getTerms()); + feeder.finish(); + } + + + /** + * Constraint: + * (base=Power_Power_1_0 exponent=Atom) + */ + protected void sequence_Power(EObject context, Power semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.POWER__BASE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.POWER__BASE)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.POWER__EXPONENT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.POWER__EXPONENT)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getPowerAccess().getPowerBaseAction_1_0(), semanticObject.getBase()); + feeder.accept(grammarAccess.getPowerAccess().getExponentAtomParserRuleCall_1_2_0(), semanticObject.getExponent()); + feeder.finish(); + } + + + /** + * Constraint: + * (left=Product_Product_1_0 operation=ProductOperation right=Power) + */ + protected void sequence_Product(EObject context, Product semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.PRODUCT__LEFT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.PRODUCT__LEFT)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.PRODUCT__OPERATION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.PRODUCT__OPERATION)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.PRODUCT__RIGHT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.PRODUCT__RIGHT)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getProductAccess().getProductLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getProductAccess().getOperationProductOperationEnumRuleCall_1_1_0(), semanticObject.getOperation()); + feeder.accept(grammarAccess.getProductAccess().getRightPowerParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Constraint: + * (left=Term_Term_1_0 operation=TermOperation right=Product) + */ + protected void sequence_Term(EObject context, Term semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.TERM__LEFT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.TERM__LEFT)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.TERM__OPERATION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.TERM__OPERATION)); + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.TERM__RIGHT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.TERM__RIGHT)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getTermAccess().getTermLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getTermAccess().getOperationTermOperationEnumRuleCall_1_1_0(), semanticObject.getOperation()); + feeder.accept(grammarAccess.getTermAccess().getRightProductParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Constraint: + * inner=UnaryBooleanExpression_UnaryBooleanExpression_0_2 + */ + protected void sequence_UnaryBooleanExpression(EObject context, UnaryBooleanExpression semanticObject) { + if(errorAcceptor != null) { + if(transientValues.isValueTransient(semanticObject, MyDslPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MyDslPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER)); + } + INodesForEObjectProvider nodes = createNodeProvider(semanticObject); + SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes); + feeder.accept(grammarAccess.getUnaryBooleanExpressionAccess().getUnaryBooleanExpressionInnerAction_0_2(), semanticObject.getInner()); + feeder.finish(); + } +} diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSyntacticSequencer.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSyntacticSequencer.java index dce60187010f1cb355e58fbe0b2f72ee7c486e95..6353eaa9dcb5842c1e460c118187224e189ab4a2 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSyntacticSequencer.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSyntacticSequencer.java @@ -13,76 +13,54 @@ import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISyn import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; import org.xtext.example.mydsl.services.MyDslGrammarAccess; -@SuppressWarnings("all") -public class MyDslSyntacticSequencer extends AbstractSyntacticSequencer { - - protected MyDslGrammarAccess grammarAccess; - protected AbstractElementAlias match_Types_LeftParenthesisKeyword_2_0_a; - protected AbstractElementAlias match_Types_LeftParenthesisKeyword_2_0_p; - - @Inject - protected void init(IGrammarAccess access) { - grammarAccess = (MyDslGrammarAccess) access; - match_Types_LeftParenthesisKeyword_2_0_a = new TokenAlias(true, true, grammarAccess.getTypesAccess().getLeftParenthesisKeyword_2_0()); - match_Types_LeftParenthesisKeyword_2_0_p = new TokenAlias(true, false, grammarAccess.getTypesAccess().getLeftParenthesisKeyword_2_0()); - } - - @Override - protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { - if(ruleCall.getRule() == grammarAccess.getDECIMALRule()) - return getDECIMALToken(semanticObject, ruleCall, node); - else if(ruleCall.getRule() == grammarAccess.getE_STRINGRule()) - return getE_STRINGToken(semanticObject, ruleCall, node); - return ""; - } - - /** - * DECIMAL returns ecore::EBigDecimal : '-'? INT ('.' INT)? ; - */ - protected String getDECIMALToken(EObject semanticObject, RuleCall ruleCall, INode node) { - if (node != null) - return getTokenText(node); - return ""; - } - - /** - * E_STRING returns ecore::EString: - * STRING | ID; - */ - protected String getE_STRINGToken(EObject semanticObject, RuleCall ruleCall, INode node) { - if (node != null) - return getTokenText(node); - return "\"\""; - } - - @Override - protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { - if (transition.getAmbiguousSyntaxes().isEmpty()) return; - List<INode> transitionNodes = collectNodes(fromNode, toNode); - for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { - List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax); - if(match_Types_LeftParenthesisKeyword_2_0_a.equals(syntax)) - emit_Types_LeftParenthesisKeyword_2_0_a(semanticObject, getLastNavigableState(), syntaxNodes); - else if(match_Types_LeftParenthesisKeyword_2_0_p.equals(syntax)) - emit_Types_LeftParenthesisKeyword_2_0_p(semanticObject, getLastNavigableState(), syntaxNodes); - else acceptNodes(getLastNavigableState(), syntaxNodes); - } - } - - /** - * Syntax: - * '('* - */ - protected void emit_Types_LeftParenthesisKeyword_2_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { - acceptNodes(transition, nodes); - } - - /** - * Syntax: - * '('+ - */ - protected void emit_Types_LeftParenthesisKeyword_2_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { - acceptNodes(transition, nodes); - } - -} +@SuppressWarnings("all") +public class MyDslSyntacticSequencer extends AbstractSyntacticSequencer { + + protected MyDslGrammarAccess grammarAccess; + protected AbstractElementAlias match_Atom_LeftParenthesisKeyword_1_0_a; + protected AbstractElementAlias match_Atom_LeftParenthesisKeyword_1_0_p; + + @Inject + protected void init(IGrammarAccess access) { + grammarAccess = (MyDslGrammarAccess) access; + match_Atom_LeftParenthesisKeyword_1_0_a = new TokenAlias(true, true, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); + match_Atom_LeftParenthesisKeyword_1_0_p = new TokenAlias(true, false, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_1_0()); + } + + @Override + protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + return ""; + } + + + @Override + protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { + if (transition.getAmbiguousSyntaxes().isEmpty()) return; + List<INode> transitionNodes = collectNodes(fromNode, toNode); + for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { + List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax); + if(match_Atom_LeftParenthesisKeyword_1_0_a.equals(syntax)) + emit_Atom_LeftParenthesisKeyword_1_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if(match_Atom_LeftParenthesisKeyword_1_0_p.equals(syntax)) + emit_Atom_LeftParenthesisKeyword_1_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else acceptNodes(getLastNavigableState(), syntaxNodes); + } + } + + /** + * Syntax: + * '('* + */ + protected void emit_Atom_LeftParenthesisKeyword_1_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { + acceptNodes(transition, nodes); + } + + /** + * Syntax: + * '('+ + */ + protected void emit_Atom_LeftParenthesisKeyword_1_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { + acceptNodes(transition, nodes); + } + +} diff --git a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/services/MyDslGrammarAccess.java b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/services/MyDslGrammarAccess.java index 4afddd6e71a5f660db7f80454845b029978126ba..8f633c595471278a914bac38b1ddd2c02a76833b 100644 --- a/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/services/MyDslGrammarAccess.java +++ b/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/services/MyDslGrammarAccess.java @@ -22,254 +22,654 @@ public class MyDslGrammarAccess extends AbstractGrammarElementFinder { public class ModelElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Model"); private final Assignment cTermsAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cTermsTermParserRuleCall_0 = (RuleCall)cTermsAssignment.eContents().get(0); + private final RuleCall cTermsIfElseExpressionParserRuleCall_0 = (RuleCall)cTermsAssignment.eContents().get(0); //Model: - // - // terms+=Term; + // terms=IfElseExpression; public ParserRule getRule() { return rule; } - //terms+=Term + //terms=IfElseExpression public Assignment getTermsAssignment() { return cTermsAssignment; } + //IfElseExpression + public RuleCall getTermsIfElseExpressionParserRuleCall_0() { return cTermsIfElseExpressionParserRuleCall_0; } + } + + public class DoubleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Double"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); + + //Double returns ecore::EBigDecimal: + // "-"? INT "." // (('e'|'E') '-'? INT)? + // + // INT; + public ParserRule getRule() { return rule; } + + //"-"? INT "." // (('e'|'E') '-'? INT)? + // + //INT + public Group getGroup() { return cGroup; } + + //"-"? + public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } + + //INT + public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } + + //"." + public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; } + + //// (('e'|'E') '-'? INT)? + // + //INT + public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; } + } + + public class IntegerElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Integer"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + + //Integer returns ecore::EBigInteger: + // "-"? INT; + public ParserRule getRule() { return rule; } + + //"-"? INT + public Group getGroup() { return cGroup; } + + //"-"? + public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } + + //INT + public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } + } + + public class EStringElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EString"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //EString returns ecore::EString: + // STRING | ID; + public ParserRule getRule() { return rule; } + + //STRING | ID + public Alternatives getAlternatives() { return cAlternatives; } + + //STRING + public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; } + + //ID + public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; } + } + + public class EBooleanElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBoolean"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Keyword cTrueKeyword_0 = (Keyword)cAlternatives.eContents().get(0); + private final Keyword cFalseKeyword_1 = (Keyword)cAlternatives.eContents().get(1); + + //EBoolean returns ecore::EBoolean: + // "true" | "false"; + public ParserRule getRule() { return rule; } + + //"true" | "false" + public Alternatives getAlternatives() { return cAlternatives; } + + //"true" + public Keyword getTrueKeyword_0() { return cTrueKeyword_0; } + + //"false" + public Keyword getFalseKeyword_1() { return cFalseKeyword_1; } + } + + public class RootExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RootExpression"); + private final RuleCall cIfElseExpressionParserRuleCall = (RuleCall)rule.eContents().get(1); + + //RootExpression returns Expression: + // IfElseExpression; + public ParserRule getRule() { return rule; } + + //IfElseExpression + public RuleCall getIfElseExpressionParserRuleCall() { return cIfElseExpressionParserRuleCall; } + } + + public class IfElseExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IfElseExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cBinaryBooleanExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cIfElseExpressionConditionAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cQuestionMarkKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cTrueExpAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cTrueExpIfElseExpressionParserRuleCall_1_2_0 = (RuleCall)cTrueExpAssignment_1_2.eContents().get(0); + private final Keyword cColonKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3); + private final Assignment cFalseExpAssignment_1_4 = (Assignment)cGroup_1.eContents().get(4); + private final RuleCall cFalseExpIfElseExpressionParserRuleCall_1_4_0 = (RuleCall)cFalseExpAssignment_1_4.eContents().get(0); + + //IfElseExpression returns Expression: + // BinaryBooleanExpression ({IfElseExpression.condition=current} "?" trueExp=IfElseExpression ":" + // falseExp=IfElseExpression)?; + public ParserRule getRule() { return rule; } + + //BinaryBooleanExpression ({IfElseExpression.condition=current} "?" trueExp=IfElseExpression ":" + //falseExp=IfElseExpression)? + public Group getGroup() { return cGroup; } + + //BinaryBooleanExpression + public RuleCall getBinaryBooleanExpressionParserRuleCall_0() { return cBinaryBooleanExpressionParserRuleCall_0; } + + //({IfElseExpression.condition=current} "?" trueExp=IfElseExpression ":" falseExp=IfElseExpression)? + public Group getGroup_1() { return cGroup_1; } + + //{IfElseExpression.condition=current} + public Action getIfElseExpressionConditionAction_1_0() { return cIfElseExpressionConditionAction_1_0; } + + //"?" + public Keyword getQuestionMarkKeyword_1_1() { return cQuestionMarkKeyword_1_1; } + + //trueExp=IfElseExpression + public Assignment getTrueExpAssignment_1_2() { return cTrueExpAssignment_1_2; } + + //IfElseExpression + public RuleCall getTrueExpIfElseExpressionParserRuleCall_1_2_0() { return cTrueExpIfElseExpressionParserRuleCall_1_2_0; } + + //":" + public Keyword getColonKeyword_1_3() { return cColonKeyword_1_3; } + + //falseExp=IfElseExpression + public Assignment getFalseExpAssignment_1_4() { return cFalseExpAssignment_1_4; } + + //IfElseExpression + public RuleCall getFalseExpIfElseExpressionParserRuleCall_1_4_0() { return cFalseExpIfElseExpressionParserRuleCall_1_4_0; } + } + + public class BinaryBooleanExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BinaryBooleanExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cUnaryBooleanExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cBinaryBooleanExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Assignment cOperationAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOperationBooleanOperationEnumRuleCall_1_1_0 = (RuleCall)cOperationAssignment_1_1.eContents().get(0); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightUnaryBooleanExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //BinaryBooleanExpression returns Expression: + // UnaryBooleanExpression ({BinaryBooleanExpression.left=current} operation=BooleanOperation + // right=UnaryBooleanExpression)*; + public ParserRule getRule() { return rule; } + + //UnaryBooleanExpression ({BinaryBooleanExpression.left=current} operation=BooleanOperation right=UnaryBooleanExpression)* + public Group getGroup() { return cGroup; } + + //UnaryBooleanExpression + public RuleCall getUnaryBooleanExpressionParserRuleCall_0() { return cUnaryBooleanExpressionParserRuleCall_0; } + + //({BinaryBooleanExpression.left=current} operation=BooleanOperation right=UnaryBooleanExpression)* + public Group getGroup_1() { return cGroup_1; } + + //{BinaryBooleanExpression.left=current} + public Action getBinaryBooleanExpressionLeftAction_1_0() { return cBinaryBooleanExpressionLeftAction_1_0; } + + //operation=BooleanOperation + public Assignment getOperationAssignment_1_1() { return cOperationAssignment_1_1; } + + //BooleanOperation + public RuleCall getOperationBooleanOperationEnumRuleCall_1_1_0() { return cOperationBooleanOperationEnumRuleCall_1_1_0; } + + //right=UnaryBooleanExpression + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //UnaryBooleanExpression + public RuleCall getRightUnaryBooleanExpressionParserRuleCall_1_2_0() { return cRightUnaryBooleanExpressionParserRuleCall_1_2_0; } + } + + public class UnaryBooleanExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnaryBooleanExpression"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Keyword cNOTKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); + private final RuleCall cComparisonParserRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1); + private final Action cUnaryBooleanExpressionInnerAction_0_2 = (Action)cGroup_0.eContents().get(2); + private final RuleCall cComparisonParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //UnaryBooleanExpression returns Expression: + // "NOT" Comparison {UnaryBooleanExpression.inner=current} | Comparison; + public ParserRule getRule() { return rule; } + + //"NOT" Comparison {UnaryBooleanExpression.inner=current} | Comparison + public Alternatives getAlternatives() { return cAlternatives; } + + //"NOT" Comparison {UnaryBooleanExpression.inner=current} + public Group getGroup_0() { return cGroup_0; } + + //"NOT" + public Keyword getNOTKeyword_0_0() { return cNOTKeyword_0_0; } + + //Comparison + public RuleCall getComparisonParserRuleCall_0_1() { return cComparisonParserRuleCall_0_1; } + + //{UnaryBooleanExpression.inner=current} + public Action getUnaryBooleanExpressionInnerAction_0_2() { return cUnaryBooleanExpressionInnerAction_0_2; } + + //Comparison + public RuleCall getComparisonParserRuleCall_1() { return cComparisonParserRuleCall_1; } + } + + public class ComparisonElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Comparison"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cTermParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Assignment cOperationAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOperationCompareOperationEnumRuleCall_1_1_0 = (RuleCall)cOperationAssignment_1_1.eContents().get(0); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightTermParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Comparison returns Expression: + // Term ({Comparison.left=current} operation=CompareOperation right=Term)*; + public ParserRule getRule() { return rule; } + + //Term ({Comparison.left=current} operation=CompareOperation right=Term)* + public Group getGroup() { return cGroup; } + //Term - public RuleCall getTermsTermParserRuleCall_0() { return cTermsTermParserRuleCall_0; } + public RuleCall getTermParserRuleCall_0() { return cTermParserRuleCall_0; } + + //({Comparison.left=current} operation=CompareOperation right=Term)* + public Group getGroup_1() { return cGroup_1; } + + //{Comparison.left=current} + public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; } + + //operation=CompareOperation + public Assignment getOperationAssignment_1_1() { return cOperationAssignment_1_1; } + + //CompareOperation + public RuleCall getOperationCompareOperationEnumRuleCall_1_1_0() { return cOperationCompareOperationEnumRuleCall_1_1_0; } + + //right=Term + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Term + public RuleCall getRightTermParserRuleCall_1_2_0() { return cRightTermParserRuleCall_1_2_0; } } public class TermElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Term"); private final Group cGroup = (Group)rule.eContents().get(1); - private final RuleCall cTypesParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final RuleCall cProductParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); private final Action cTermLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); - private final Assignment cOperationsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); - private final RuleCall cOperationsOperationsParserRuleCall_1_1_0 = (RuleCall)cOperationsAssignment_1_1.eContents().get(0); + private final Assignment cOperationAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOperationTermOperationEnumRuleCall_1_1_0 = (RuleCall)cOperationAssignment_1_1.eContents().get(0); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); - private final RuleCall cRightTypesParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + private final RuleCall cRightProductParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //Term returns Expression: - // - // Types ({Term.left=current} Operations=Operations right=Types)*; + // Product ({Term.left=current} operation=TermOperation right=Product)*; public ParserRule getRule() { return rule; } - //Types ({Term.left=current} Operations=Operations right=Types)* + //Product ({Term.left=current} operation=TermOperation right=Product)* public Group getGroup() { return cGroup; } - //Types - public RuleCall getTypesParserRuleCall_0() { return cTypesParserRuleCall_0; } + //Product + public RuleCall getProductParserRuleCall_0() { return cProductParserRuleCall_0; } - //({Term.left=current} Operations=Operations right=Types)* + //({Term.left=current} operation=TermOperation right=Product)* public Group getGroup_1() { return cGroup_1; } //{Term.left=current} public Action getTermLeftAction_1_0() { return cTermLeftAction_1_0; } - //Operations=Operations - public Assignment getOperationsAssignment_1_1() { return cOperationsAssignment_1_1; } + //operation=TermOperation + public Assignment getOperationAssignment_1_1() { return cOperationAssignment_1_1; } - //Operations - public RuleCall getOperationsOperationsParserRuleCall_1_1_0() { return cOperationsOperationsParserRuleCall_1_1_0; } + //TermOperation + public RuleCall getOperationTermOperationEnumRuleCall_1_1_0() { return cOperationTermOperationEnumRuleCall_1_1_0; } - //right=Types + //right=Product public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } - //Types - public RuleCall getRightTypesParserRuleCall_1_2_0() { return cRightTypesParserRuleCall_1_2_0; } + //Product + public RuleCall getRightProductParserRuleCall_1_2_0() { return cRightProductParserRuleCall_1_2_0; } } - public class TypesElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Types"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cArithmeticsParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cStringsParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); - private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final RuleCall cTermParserRuleCall_2_1 = (RuleCall)cGroup_2.eContents().get(1); - private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); + public class ProductElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Product"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cPowerParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cProductLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Assignment cOperationAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cOperationProductOperationEnumRuleCall_1_1_0 = (RuleCall)cOperationAssignment_1_1.eContents().get(0); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightPowerParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); - //Types returns Expression: - // - // Arithmetics | Strings | "(" Term ")"; + //Product returns Expression: + // Power ({Product.left=current} operation=ProductOperation right=Power)*; public ParserRule getRule() { return rule; } - //Arithmetics | Strings | "(" Term ")" - public Alternatives getAlternatives() { return cAlternatives; } + //Power ({Product.left=current} operation=ProductOperation right=Power)* + public Group getGroup() { return cGroup; } - //Arithmetics - public RuleCall getArithmeticsParserRuleCall_0() { return cArithmeticsParserRuleCall_0; } + //Power + public RuleCall getPowerParserRuleCall_0() { return cPowerParserRuleCall_0; } - //Strings - public RuleCall getStringsParserRuleCall_1() { return cStringsParserRuleCall_1; } + //({Product.left=current} operation=ProductOperation right=Power)* + public Group getGroup_1() { return cGroup_1; } - //"(" Term ")" - public Group getGroup_2() { return cGroup_2; } + //{Product.left=current} + public Action getProductLeftAction_1_0() { return cProductLeftAction_1_0; } - //"(" - public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } + //operation=ProductOperation + public Assignment getOperationAssignment_1_1() { return cOperationAssignment_1_1; } - //Term - public RuleCall getTermParserRuleCall_2_1() { return cTermParserRuleCall_2_1; } + //ProductOperation + public RuleCall getOperationProductOperationEnumRuleCall_1_1_0() { return cOperationProductOperationEnumRuleCall_1_1_0; } - //")" - public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } + //right=Power + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Power + public RuleCall getRightPowerParserRuleCall_1_2_0() { return cRightPowerParserRuleCall_1_2_0; } } - public class ArithmeticsElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Arithmetics"); + public class PowerElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Power"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Action cExpressionAction_0 = (Action)cGroup.eContents().get(0); - private final RuleCall cDECIMALParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + private final RuleCall cAtomParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cPowerBaseAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cCircumflexAccentKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cExponentAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cExponentAtomParserRuleCall_1_2_0 = (RuleCall)cExponentAssignment_1_2.eContents().get(0); - //Arithmetics returns Expression: - // - // {Expression} DECIMAL; + //Power returns Expression: + // Atom ({Power.base=current} "^" exponent=Atom)*; public ParserRule getRule() { return rule; } - //{Expression} DECIMAL + //Atom ({Power.base=current} "^" exponent=Atom)* public Group getGroup() { return cGroup; } - //{Expression} - public Action getExpressionAction_0() { return cExpressionAction_0; } + //Atom + public RuleCall getAtomParserRuleCall_0() { return cAtomParserRuleCall_0; } + + //({Power.base=current} "^" exponent=Atom)* + public Group getGroup_1() { return cGroup_1; } + + //{Power.base=current} + public Action getPowerBaseAction_1_0() { return cPowerBaseAction_1_0; } + + //"^" + public Keyword getCircumflexAccentKeyword_1_1() { return cCircumflexAccentKeyword_1_1; } + + //exponent=Atom + public Assignment getExponentAssignment_1_2() { return cExponentAssignment_1_2; } - //DECIMAL - public RuleCall getDECIMALParserRuleCall_1() { return cDECIMALParserRuleCall_1; } + //Atom + public RuleCall getExponentAtomParserRuleCall_1_2_0() { return cExponentAtomParserRuleCall_1_2_0; } } - public class StringsElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Strings"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Action cExpressionAction_0 = (Action)cGroup.eContents().get(0); - private final RuleCall cE_STRINGParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + public class AtomElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Atom"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final RuleCall cRootExpressionParserRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); + private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); + private final RuleCall cFunctionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //Strings returns Expression: - // - // {Expression} E_STRING; + //Atom returns Expression: + // Literal | "(" RootExpression ")" | Function; public ParserRule getRule() { return rule; } - //{Expression} E_STRING - public Group getGroup() { return cGroup; } + //Literal | "(" RootExpression ")" | Function + public Alternatives getAlternatives() { return cAlternatives; } + + //Literal + public RuleCall getLiteralParserRuleCall_0() { return cLiteralParserRuleCall_0; } + + //"(" RootExpression ")" + public Group getGroup_1() { return cGroup_1; } - //{Expression} - public Action getExpressionAction_0() { return cExpressionAction_0; } + //"(" + public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; } + + //RootExpression + public RuleCall getRootExpressionParserRuleCall_1_1() { return cRootExpressionParserRuleCall_1_1; } + + //")" + public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; } - //E_STRING - public RuleCall getE_STRINGParserRuleCall_1() { return cE_STRINGParserRuleCall_1; } + //Function + public RuleCall getFunctionParserRuleCall_2() { return cFunctionParserRuleCall_2; } } - public class DECIMALElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DECIMAL"); + public class FunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Function"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Group cGroup_2 = (Group)cGroup.eContents().get(2); - private final Keyword cFullStopKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final RuleCall cINTTerminalRuleCall_2_1 = (RuleCall)cGroup_2.eContents().get(1); + private final Assignment cParametersAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); + private final RuleCall cParametersRootExpressionParserRuleCall_2_0_0 = (RuleCall)cParametersAssignment_2_0.eContents().get(0); + private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); + private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); + private final Assignment cParametersAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); + private final RuleCall cParametersRootExpressionParserRuleCall_2_1_1_0 = (RuleCall)cParametersAssignment_2_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); - //DECIMAL returns ecore::EBigDecimal: - // - // "-"? INT ("." INT)?; + //Function: + // name=ID "(" (parameters+=RootExpression ("," parameters+=RootExpression)*)? ")"; public ParserRule getRule() { return rule; } - //"-"? INT ("." INT)? + //name=ID "(" (parameters+=RootExpression ("," parameters+=RootExpression)*)? ")" public Group getGroup() { return cGroup; } - //"-"? - public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } + //name=ID + public Assignment getNameAssignment_0() { return cNameAssignment_0; } - //INT - public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } + //ID + public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } - //("." INT)? + //(parameters+=RootExpression ("," parameters+=RootExpression)*)? public Group getGroup_2() { return cGroup_2; } - //"." - public Keyword getFullStopKeyword_2_0() { return cFullStopKeyword_2_0; } + //parameters+=RootExpression + public Assignment getParametersAssignment_2_0() { return cParametersAssignment_2_0; } - //INT - public RuleCall getINTTerminalRuleCall_2_1() { return cINTTerminalRuleCall_2_1; } + //RootExpression + public RuleCall getParametersRootExpressionParserRuleCall_2_0_0() { return cParametersRootExpressionParserRuleCall_2_0_0; } + + //("," parameters+=RootExpression)* + public Group getGroup_2_1() { return cGroup_2_1; } + + //"," + public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } + + //parameters+=RootExpression + public Assignment getParametersAssignment_2_1_1() { return cParametersAssignment_2_1_1; } + + //RootExpression + public RuleCall getParametersRootExpressionParserRuleCall_2_1_1_0() { return cParametersRootExpressionParserRuleCall_2_1_1_0; } + + //")" + public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } } - public class E_STRINGElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "E_STRING"); + public class LiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Literal"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cNumberLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cBooleanLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cFormalParameterParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //E_STRING returns ecore::EString: - // - // STRING | ID; + //Literal returns Expression: + // NumberLiteral | BooleanLiteral | FormalParameter; public ParserRule getRule() { return rule; } - //STRING | ID + //NumberLiteral | BooleanLiteral | FormalParameter public Alternatives getAlternatives() { return cAlternatives; } - //STRING - public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; } + //NumberLiteral + public RuleCall getNumberLiteralParserRuleCall_0() { return cNumberLiteralParserRuleCall_0; } - //ID - public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; } + //BooleanLiteral + public RuleCall getBooleanLiteralParserRuleCall_1() { return cBooleanLiteralParserRuleCall_1; } + + //FormalParameter + public RuleCall getFormalParameterParserRuleCall_2() { return cFormalParameterParserRuleCall_2; } } - public class OperationsElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Operations"); - private final Assignment cTermOperationsAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cTermOperationsOperationsTypeEnumRuleCall_0 = (RuleCall)cTermOperationsAssignment.eContents().get(0); + public class FormalParameterElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FormalParameter"); + private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cValueEStringParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //Operations returns Expression: - // - // termOperations=OperationsType; + //FormalParameter: + // value=EString; public ParserRule getRule() { return rule; } - //termOperations=OperationsType - public Assignment getTermOperationsAssignment() { return cTermOperationsAssignment; } + //value=EString + public Assignment getValueAssignment() { return cValueAssignment; } - //OperationsType - public RuleCall getTermOperationsOperationsTypeEnumRuleCall_0() { return cTermOperationsOperationsTypeEnumRuleCall_0; } + //EString + public RuleCall getValueEStringParserRuleCall_0() { return cValueEStringParserRuleCall_0; } + } + + public class BooleanLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanLiteral"); + private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cValueEBooleanParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + + //BooleanLiteral: + // value=EBoolean; + public ParserRule getRule() { return rule; } + + //value=EBoolean + public Assignment getValueAssignment() { return cValueAssignment; } + + //EBoolean + public RuleCall getValueEBooleanParserRuleCall_0() { return cValueEBooleanParserRuleCall_0; } + } + + public class NumberLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NumberLiteral"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cIntLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cDoubleLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //NumberLiteral returns Expression: + // IntLiteral | DoubleLiteral; + public ParserRule getRule() { return rule; } + + //IntLiteral | DoubleLiteral + public Alternatives getAlternatives() { return cAlternatives; } + + //IntLiteral + public RuleCall getIntLiteralParserRuleCall_0() { return cIntLiteralParserRuleCall_0; } + + //DoubleLiteral + public RuleCall getDoubleLiteralParserRuleCall_1() { return cDoubleLiteralParserRuleCall_1; } + } + + public class IntLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntLiteral"); + private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cValueIntegerParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + + //IntLiteral: + // value=Integer; + public ParserRule getRule() { return rule; } + + //value=Integer + public Assignment getValueAssignment() { return cValueAssignment; } + + //Integer + public RuleCall getValueIntegerParserRuleCall_0() { return cValueIntegerParserRuleCall_0; } + } + + public class DoubleLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DoubleLiteral"); + private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cValueDoubleParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + + //DoubleLiteral: + // value=Double; + public ParserRule getRule() { return rule; } + + //value=Double + public Assignment getValueAssignment() { return cValueAssignment; } + + //Double + public RuleCall getValueDoubleParserRuleCall_0() { return cValueDoubleParserRuleCall_0; } } - public class OperationsTypeElements extends AbstractEnumRuleElementFinder { - private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "OperationsType"); + public class ProductOperationElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "ProductOperation"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cMULTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cMULTAsteriskKeyword_0_0 = (Keyword)cMULTEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cDIVSolidusKeyword_1_0 = (Keyword)cDIVEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cMODEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cMODPercentSignKeyword_2_0 = (Keyword)cMODEnumLiteralDeclaration_2.eContents().get(0); + + //enum ProductOperation: + // MULT="*" | DIV="/" | MOD="%"; + public EnumRule getRule() { return rule; } + + //MULT="*" | DIV="/" | MOD="%" + public Alternatives getAlternatives() { return cAlternatives; } + + //MULT="*" + public EnumLiteralDeclaration getMULTEnumLiteralDeclaration_0() { return cMULTEnumLiteralDeclaration_0; } + + //"*" + public Keyword getMULTAsteriskKeyword_0_0() { return cMULTAsteriskKeyword_0_0; } + + //DIV="/" + public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_1() { return cDIVEnumLiteralDeclaration_1; } + + //"/" + public Keyword getDIVSolidusKeyword_1_0() { return cDIVSolidusKeyword_1_0; } + + //MOD="%" + public EnumLiteralDeclaration getMODEnumLiteralDeclaration_2() { return cMODEnumLiteralDeclaration_2; } + + //"%" + public Keyword getMODPercentSignKeyword_2_0() { return cMODPercentSignKeyword_2_0; } + } + + public class TermOperationElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "TermOperation"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); private final Keyword cADDPlusSignKeyword_0_0 = (Keyword)cADDEnumLiteralDeclaration_0.eContents().get(0); private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); private final Keyword cSUBHyphenMinusKeyword_1_0 = (Keyword)cSUBEnumLiteralDeclaration_1.eContents().get(0); - private final EnumLiteralDeclaration cMULTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); - private final Keyword cMULTAsteriskKeyword_2_0 = (Keyword)cMULTEnumLiteralDeclaration_2.eContents().get(0); - private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); - private final Keyword cDIVSolidusKeyword_3_0 = (Keyword)cDIVEnumLiteralDeclaration_3.eContents().get(0); - private final EnumLiteralDeclaration cMODEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); - private final Keyword cMODPercentSignKeyword_4_0 = (Keyword)cMODEnumLiteralDeclaration_4.eContents().get(0); - private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); - private final Keyword cGREATERGreaterThanSignKeyword_5_0 = (Keyword)cGREATEREnumLiteralDeclaration_5.eContents().get(0); - private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); - private final Keyword cLESSLessThanSignKeyword_6_0 = (Keyword)cLESSEnumLiteralDeclaration_6.eContents().get(0); - private final EnumLiteralDeclaration cEQUALSEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7); - private final Keyword cEQUALSEqualsSignKeyword_7_0 = (Keyword)cEQUALSEnumLiteralDeclaration_7.eContents().get(0); - private final EnumLiteralDeclaration cNOTEQUALEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8); - private final Keyword cNOTEQUALExclamationMarkEqualsSignKeyword_8_0 = (Keyword)cNOTEQUALEnumLiteralDeclaration_8.eContents().get(0); - private final EnumLiteralDeclaration cLESSEQUALEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9); - private final Keyword cLESSEQUALLessThanSignEqualsSignKeyword_9_0 = (Keyword)cLESSEQUALEnumLiteralDeclaration_9.eContents().get(0); - private final EnumLiteralDeclaration cGREATEREQUALEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10); - private final Keyword cGREATEREQUALGreaterThanSignEqualsSignKeyword_10_0 = (Keyword)cGREATEREQUALEnumLiteralDeclaration_10.eContents().get(0); - private final EnumLiteralDeclaration cANDEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11); - private final Keyword cANDANDKeyword_11_0 = (Keyword)cANDEnumLiteralDeclaration_11.eContents().get(0); - private final EnumLiteralDeclaration cOREnumLiteralDeclaration_12 = (EnumLiteralDeclaration)cAlternatives.eContents().get(12); - private final Keyword cORORKeyword_12_0 = (Keyword)cOREnumLiteralDeclaration_12.eContents().get(0); - private final EnumLiteralDeclaration cXOREnumLiteralDeclaration_13 = (EnumLiteralDeclaration)cAlternatives.eContents().get(13); - private final Keyword cXORXORKeyword_13_0 = (Keyword)cXOREnumLiteralDeclaration_13.eContents().get(0); - //enum OperationsType: - // - // ADD="+" | SUB="-" | MULT="*" | DIV="/" | MOD="%" | GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | - // - // LESSEQUAL="<=" | GREATEREQUAL=">=" | AND | OR | XOR; + //enum TermOperation: + // ADD="+" | SUB="-"; public EnumRule getRule() { return rule; } - //ADD="+" | SUB="-" | MULT="*" | DIV="/" | MOD="%" | GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | LESSEQUAL="<=" - // - //| GREATEREQUAL=">=" | AND | OR | XOR + //ADD="+" | SUB="-" public Alternatives getAlternatives() { return cAlternatives; } //ADD="+" @@ -283,89 +683,129 @@ public class MyDslGrammarAccess extends AbstractGrammarElementFinder { //"-" public Keyword getSUBHyphenMinusKeyword_1_0() { return cSUBHyphenMinusKeyword_1_0; } + } - //MULT="*" - public EnumLiteralDeclaration getMULTEnumLiteralDeclaration_2() { return cMULTEnumLiteralDeclaration_2; } - - //"*" - public Keyword getMULTAsteriskKeyword_2_0() { return cMULTAsteriskKeyword_2_0; } - - //DIV="/" - public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_3() { return cDIVEnumLiteralDeclaration_3; } - - //"/" - public Keyword getDIVSolidusKeyword_3_0() { return cDIVSolidusKeyword_3_0; } - - //MOD="%" - public EnumLiteralDeclaration getMODEnumLiteralDeclaration_4() { return cMODEnumLiteralDeclaration_4; } + public class CompareOperationElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "CompareOperation"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cGREATERGreaterThanSignKeyword_0_0 = (Keyword)cGREATEREnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cLESSLessThanSignKeyword_1_0 = (Keyword)cLESSEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cEQUALSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cEQUALSEqualsSignKeyword_2_0 = (Keyword)cEQUALSEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cNOTEQUALEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cNOTEQUALExclamationMarkEqualsSignKeyword_3_0 = (Keyword)cNOTEQUALEnumLiteralDeclaration_3.eContents().get(0); + private final EnumLiteralDeclaration cLESSEQUALEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); + private final Keyword cLESSEQUALLessThanSignEqualsSignKeyword_4_0 = (Keyword)cLESSEQUALEnumLiteralDeclaration_4.eContents().get(0); + private final EnumLiteralDeclaration cGREATEREQUALEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); + private final Keyword cGREATEREQUALGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATEREQUALEnumLiteralDeclaration_5.eContents().get(0); + + //enum CompareOperation: + // GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | LESSEQUAL="<=" | GREATEREQUAL=">="; + public EnumRule getRule() { return rule; } - //"%" - public Keyword getMODPercentSignKeyword_4_0() { return cMODPercentSignKeyword_4_0; } + //GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | LESSEQUAL="<=" | GREATEREQUAL=">=" + public Alternatives getAlternatives() { return cAlternatives; } //GREATER=">" - public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_5() { return cGREATEREnumLiteralDeclaration_5; } + public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_0() { return cGREATEREnumLiteralDeclaration_0; } //">" - public Keyword getGREATERGreaterThanSignKeyword_5_0() { return cGREATERGreaterThanSignKeyword_5_0; } + public Keyword getGREATERGreaterThanSignKeyword_0_0() { return cGREATERGreaterThanSignKeyword_0_0; } //LESS="<" - public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_6() { return cLESSEnumLiteralDeclaration_6; } + public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_1() { return cLESSEnumLiteralDeclaration_1; } //"<" - public Keyword getLESSLessThanSignKeyword_6_0() { return cLESSLessThanSignKeyword_6_0; } + public Keyword getLESSLessThanSignKeyword_1_0() { return cLESSLessThanSignKeyword_1_0; } //EQUALS="=" - public EnumLiteralDeclaration getEQUALSEnumLiteralDeclaration_7() { return cEQUALSEnumLiteralDeclaration_7; } + public EnumLiteralDeclaration getEQUALSEnumLiteralDeclaration_2() { return cEQUALSEnumLiteralDeclaration_2; } //"=" - public Keyword getEQUALSEqualsSignKeyword_7_0() { return cEQUALSEqualsSignKeyword_7_0; } + public Keyword getEQUALSEqualsSignKeyword_2_0() { return cEQUALSEqualsSignKeyword_2_0; } //NOTEQUAL="!=" - public EnumLiteralDeclaration getNOTEQUALEnumLiteralDeclaration_8() { return cNOTEQUALEnumLiteralDeclaration_8; } + public EnumLiteralDeclaration getNOTEQUALEnumLiteralDeclaration_3() { return cNOTEQUALEnumLiteralDeclaration_3; } //"!=" - public Keyword getNOTEQUALExclamationMarkEqualsSignKeyword_8_0() { return cNOTEQUALExclamationMarkEqualsSignKeyword_8_0; } + public Keyword getNOTEQUALExclamationMarkEqualsSignKeyword_3_0() { return cNOTEQUALExclamationMarkEqualsSignKeyword_3_0; } //LESSEQUAL="<=" - public EnumLiteralDeclaration getLESSEQUALEnumLiteralDeclaration_9() { return cLESSEQUALEnumLiteralDeclaration_9; } + public EnumLiteralDeclaration getLESSEQUALEnumLiteralDeclaration_4() { return cLESSEQUALEnumLiteralDeclaration_4; } //"<=" - public Keyword getLESSEQUALLessThanSignEqualsSignKeyword_9_0() { return cLESSEQUALLessThanSignEqualsSignKeyword_9_0; } + public Keyword getLESSEQUALLessThanSignEqualsSignKeyword_4_0() { return cLESSEQUALLessThanSignEqualsSignKeyword_4_0; } //GREATEREQUAL=">=" - public EnumLiteralDeclaration getGREATEREQUALEnumLiteralDeclaration_10() { return cGREATEREQUALEnumLiteralDeclaration_10; } + public EnumLiteralDeclaration getGREATEREQUALEnumLiteralDeclaration_5() { return cGREATEREQUALEnumLiteralDeclaration_5; } //">=" - public Keyword getGREATEREQUALGreaterThanSignEqualsSignKeyword_10_0() { return cGREATEREQUALGreaterThanSignEqualsSignKeyword_10_0; } + public Keyword getGREATEREQUALGreaterThanSignEqualsSignKeyword_5_0() { return cGREATEREQUALGreaterThanSignEqualsSignKeyword_5_0; } + } + + public class BooleanOperationElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanOperation"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cANDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cANDANDKeyword_0_0 = (Keyword)cANDEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cOREnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cORORKeyword_1_0 = (Keyword)cOREnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cXOREnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cXORXORKeyword_2_0 = (Keyword)cXOREnumLiteralDeclaration_2.eContents().get(0); + + //enum BooleanOperation: + // AND | OR | XOR; + public EnumRule getRule() { return rule; } + + //AND | OR | XOR + public Alternatives getAlternatives() { return cAlternatives; } //AND - public EnumLiteralDeclaration getANDEnumLiteralDeclaration_11() { return cANDEnumLiteralDeclaration_11; } + public EnumLiteralDeclaration getANDEnumLiteralDeclaration_0() { return cANDEnumLiteralDeclaration_0; } //"AND" - public Keyword getANDANDKeyword_11_0() { return cANDANDKeyword_11_0; } + public Keyword getANDANDKeyword_0_0() { return cANDANDKeyword_0_0; } //OR - public EnumLiteralDeclaration getOREnumLiteralDeclaration_12() { return cOREnumLiteralDeclaration_12; } + public EnumLiteralDeclaration getOREnumLiteralDeclaration_1() { return cOREnumLiteralDeclaration_1; } //"OR" - public Keyword getORORKeyword_12_0() { return cORORKeyword_12_0; } + public Keyword getORORKeyword_1_0() { return cORORKeyword_1_0; } //XOR - public EnumLiteralDeclaration getXOREnumLiteralDeclaration_13() { return cXOREnumLiteralDeclaration_13; } + public EnumLiteralDeclaration getXOREnumLiteralDeclaration_2() { return cXOREnumLiteralDeclaration_2; } //"XOR" - public Keyword getXORXORKeyword_13_0() { return cXORXORKeyword_13_0; } + public Keyword getXORXORKeyword_2_0() { return cXORXORKeyword_2_0; } } private ModelElements pModel; + private DoubleElements pDouble; + private IntegerElements pInteger; + private EStringElements pEString; + private EBooleanElements pEBoolean; + private ProductOperationElements unknownRuleProductOperation; + private TermOperationElements unknownRuleTermOperation; + private CompareOperationElements unknownRuleCompareOperation; + private BooleanOperationElements unknownRuleBooleanOperation; + private RootExpressionElements pRootExpression; + private IfElseExpressionElements pIfElseExpression; + private BinaryBooleanExpressionElements pBinaryBooleanExpression; + private UnaryBooleanExpressionElements pUnaryBooleanExpression; + private ComparisonElements pComparison; private TermElements pTerm; - private TypesElements pTypes; - private ArithmeticsElements pArithmetics; - private StringsElements pStrings; - private DECIMALElements pDECIMAL; - private E_STRINGElements pE_STRING; - private OperationsElements pOperations; - private OperationsTypeElements unknownRuleOperationsType; + private ProductElements pProduct; + private PowerElements pPower; + private AtomElements pAtom; + private FunctionElements pFunction; + private LiteralElements pLiteral; + private FormalParameterElements pFormalParameter; + private BooleanLiteralElements pBooleanLiteral; + private NumberLiteralElements pNumberLiteral; + private IntLiteralElements pIntLiteral; + private DoubleLiteralElements pDoubleLiteral; private final Grammar grammar; @@ -406,8 +846,7 @@ public class MyDslGrammarAccess extends AbstractGrammarElementFinder { //Model: - // - // terms+=Term; + // terms=IfElseExpression; public ModelElements getModelAccess() { return (pModel != null) ? pModel : (pModel = new ModelElements()); } @@ -416,9 +855,142 @@ public class MyDslGrammarAccess extends AbstractGrammarElementFinder { return getModelAccess().getRule(); } - //Term returns Expression: + //Double returns ecore::EBigDecimal: + // "-"? INT "." // (('e'|'E') '-'? INT)? // - // Types ({Term.left=current} Operations=Operations right=Types)*; + // INT; + public DoubleElements getDoubleAccess() { + return (pDouble != null) ? pDouble : (pDouble = new DoubleElements()); + } + + public ParserRule getDoubleRule() { + return getDoubleAccess().getRule(); + } + + //Integer returns ecore::EBigInteger: + // "-"? INT; + public IntegerElements getIntegerAccess() { + return (pInteger != null) ? pInteger : (pInteger = new IntegerElements()); + } + + public ParserRule getIntegerRule() { + return getIntegerAccess().getRule(); + } + + //EString returns ecore::EString: + // STRING | ID; + public EStringElements getEStringAccess() { + return (pEString != null) ? pEString : (pEString = new EStringElements()); + } + + public ParserRule getEStringRule() { + return getEStringAccess().getRule(); + } + + //EBoolean returns ecore::EBoolean: + // "true" | "false"; + public EBooleanElements getEBooleanAccess() { + return (pEBoolean != null) ? pEBoolean : (pEBoolean = new EBooleanElements()); + } + + public ParserRule getEBooleanRule() { + return getEBooleanAccess().getRule(); + } + + //enum ProductOperation: + // MULT="*" | DIV="/" | MOD="%"; + public ProductOperationElements getProductOperationAccess() { + return (unknownRuleProductOperation != null) ? unknownRuleProductOperation : (unknownRuleProductOperation = new ProductOperationElements()); + } + + public EnumRule getProductOperationRule() { + return getProductOperationAccess().getRule(); + } + + //enum TermOperation: + // ADD="+" | SUB="-"; + public TermOperationElements getTermOperationAccess() { + return (unknownRuleTermOperation != null) ? unknownRuleTermOperation : (unknownRuleTermOperation = new TermOperationElements()); + } + + public EnumRule getTermOperationRule() { + return getTermOperationAccess().getRule(); + } + + //enum CompareOperation: + // GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | LESSEQUAL="<=" | GREATEREQUAL=">="; + public CompareOperationElements getCompareOperationAccess() { + return (unknownRuleCompareOperation != null) ? unknownRuleCompareOperation : (unknownRuleCompareOperation = new CompareOperationElements()); + } + + public EnumRule getCompareOperationRule() { + return getCompareOperationAccess().getRule(); + } + + //enum BooleanOperation: + // AND | OR | XOR; + public BooleanOperationElements getBooleanOperationAccess() { + return (unknownRuleBooleanOperation != null) ? unknownRuleBooleanOperation : (unknownRuleBooleanOperation = new BooleanOperationElements()); + } + + public EnumRule getBooleanOperationRule() { + return getBooleanOperationAccess().getRule(); + } + + //RootExpression returns Expression: + // IfElseExpression; + public RootExpressionElements getRootExpressionAccess() { + return (pRootExpression != null) ? pRootExpression : (pRootExpression = new RootExpressionElements()); + } + + public ParserRule getRootExpressionRule() { + return getRootExpressionAccess().getRule(); + } + + //IfElseExpression returns Expression: + // BinaryBooleanExpression ({IfElseExpression.condition=current} "?" trueExp=IfElseExpression ":" + // falseExp=IfElseExpression)?; + public IfElseExpressionElements getIfElseExpressionAccess() { + return (pIfElseExpression != null) ? pIfElseExpression : (pIfElseExpression = new IfElseExpressionElements()); + } + + public ParserRule getIfElseExpressionRule() { + return getIfElseExpressionAccess().getRule(); + } + + //BinaryBooleanExpression returns Expression: + // UnaryBooleanExpression ({BinaryBooleanExpression.left=current} operation=BooleanOperation + // right=UnaryBooleanExpression)*; + public BinaryBooleanExpressionElements getBinaryBooleanExpressionAccess() { + return (pBinaryBooleanExpression != null) ? pBinaryBooleanExpression : (pBinaryBooleanExpression = new BinaryBooleanExpressionElements()); + } + + public ParserRule getBinaryBooleanExpressionRule() { + return getBinaryBooleanExpressionAccess().getRule(); + } + + //UnaryBooleanExpression returns Expression: + // "NOT" Comparison {UnaryBooleanExpression.inner=current} | Comparison; + public UnaryBooleanExpressionElements getUnaryBooleanExpressionAccess() { + return (pUnaryBooleanExpression != null) ? pUnaryBooleanExpression : (pUnaryBooleanExpression = new UnaryBooleanExpressionElements()); + } + + public ParserRule getUnaryBooleanExpressionRule() { + return getUnaryBooleanExpressionAccess().getRule(); + } + + //Comparison returns Expression: + // Term ({Comparison.left=current} operation=CompareOperation right=Term)*; + public ComparisonElements getComparisonAccess() { + return (pComparison != null) ? pComparison : (pComparison = new ComparisonElements()); + } + + public ParserRule getComparisonRule() { + return getComparisonAccess().getRule(); + } + + //Term returns Expression: + // Product ({Term.left=current} operation=TermOperation right=Product)*; public TermElements getTermAccess() { return (pTerm != null) ? pTerm : (pTerm = new TermElements()); } @@ -427,131 +999,144 @@ public class MyDslGrammarAccess extends AbstractGrammarElementFinder { return getTermAccess().getRule(); } - //Types returns Expression: - // - // Arithmetics | Strings | "(" Term ")"; - public TypesElements getTypesAccess() { - return (pTypes != null) ? pTypes : (pTypes = new TypesElements()); + //Product returns Expression: + // Power ({Product.left=current} operation=ProductOperation right=Power)*; + public ProductElements getProductAccess() { + return (pProduct != null) ? pProduct : (pProduct = new ProductElements()); } - public ParserRule getTypesRule() { - return getTypesAccess().getRule(); + public ParserRule getProductRule() { + return getProductAccess().getRule(); } - //Arithmetics returns Expression: - // - // {Expression} DECIMAL; - public ArithmeticsElements getArithmeticsAccess() { - return (pArithmetics != null) ? pArithmetics : (pArithmetics = new ArithmeticsElements()); + //Power returns Expression: + // Atom ({Power.base=current} "^" exponent=Atom)*; + public PowerElements getPowerAccess() { + return (pPower != null) ? pPower : (pPower = new PowerElements()); } - public ParserRule getArithmeticsRule() { - return getArithmeticsAccess().getRule(); + public ParserRule getPowerRule() { + return getPowerAccess().getRule(); } - //Strings returns Expression: - // - // {Expression} E_STRING; - public StringsElements getStringsAccess() { - return (pStrings != null) ? pStrings : (pStrings = new StringsElements()); + //Atom returns Expression: + // Literal | "(" RootExpression ")" | Function; + public AtomElements getAtomAccess() { + return (pAtom != null) ? pAtom : (pAtom = new AtomElements()); } - public ParserRule getStringsRule() { - return getStringsAccess().getRule(); + public ParserRule getAtomRule() { + return getAtomAccess().getRule(); } - //DECIMAL returns ecore::EBigDecimal: - // - // "-"? INT ("." INT)?; - public DECIMALElements getDECIMALAccess() { - return (pDECIMAL != null) ? pDECIMAL : (pDECIMAL = new DECIMALElements()); + //Function: + // name=ID "(" (parameters+=RootExpression ("," parameters+=RootExpression)*)? ")"; + public FunctionElements getFunctionAccess() { + return (pFunction != null) ? pFunction : (pFunction = new FunctionElements()); } - public ParserRule getDECIMALRule() { - return getDECIMALAccess().getRule(); + public ParserRule getFunctionRule() { + return getFunctionAccess().getRule(); } - //E_STRING returns ecore::EString: - // - // STRING | ID; - public E_STRINGElements getE_STRINGAccess() { - return (pE_STRING != null) ? pE_STRING : (pE_STRING = new E_STRINGElements()); + //Literal returns Expression: + // NumberLiteral | BooleanLiteral | FormalParameter; + public LiteralElements getLiteralAccess() { + return (pLiteral != null) ? pLiteral : (pLiteral = new LiteralElements()); } - public ParserRule getE_STRINGRule() { - return getE_STRINGAccess().getRule(); + public ParserRule getLiteralRule() { + return getLiteralAccess().getRule(); } - //Operations returns Expression: - // - // termOperations=OperationsType; - public OperationsElements getOperationsAccess() { - return (pOperations != null) ? pOperations : (pOperations = new OperationsElements()); + //FormalParameter: + // value=EString; + public FormalParameterElements getFormalParameterAccess() { + return (pFormalParameter != null) ? pFormalParameter : (pFormalParameter = new FormalParameterElements()); } - public ParserRule getOperationsRule() { - return getOperationsAccess().getRule(); + public ParserRule getFormalParameterRule() { + return getFormalParameterAccess().getRule(); } - //enum OperationsType: - // - // ADD="+" | SUB="-" | MULT="*" | DIV="/" | MOD="%" | GREATER=">" | LESS="<" | EQUALS="=" | NOTEQUAL="!=" | - // - // LESSEQUAL="<=" | GREATEREQUAL=">=" | AND | OR | XOR; - public OperationsTypeElements getOperationsTypeAccess() { - return (unknownRuleOperationsType != null) ? unknownRuleOperationsType : (unknownRuleOperationsType = new OperationsTypeElements()); + //BooleanLiteral: + // value=EBoolean; + public BooleanLiteralElements getBooleanLiteralAccess() { + return (pBooleanLiteral != null) ? pBooleanLiteral : (pBooleanLiteral = new BooleanLiteralElements()); + } + + public ParserRule getBooleanLiteralRule() { + return getBooleanLiteralAccess().getRule(); + } + + //NumberLiteral returns Expression: + // IntLiteral | DoubleLiteral; + public NumberLiteralElements getNumberLiteralAccess() { + return (pNumberLiteral != null) ? pNumberLiteral : (pNumberLiteral = new NumberLiteralElements()); + } + + public ParserRule getNumberLiteralRule() { + return getNumberLiteralAccess().getRule(); + } + + //IntLiteral: + // value=Integer; + public IntLiteralElements getIntLiteralAccess() { + return (pIntLiteral != null) ? pIntLiteral : (pIntLiteral = new IntLiteralElements()); + } + + public ParserRule getIntLiteralRule() { + return getIntLiteralAccess().getRule(); + } + + //DoubleLiteral: + // value=Double; + public DoubleLiteralElements getDoubleLiteralAccess() { + return (pDoubleLiteral != null) ? pDoubleLiteral : (pDoubleLiteral = new DoubleLiteralElements()); } - public EnumRule getOperationsTypeRule() { - return getOperationsTypeAccess().getRule(); + public ParserRule getDoubleLiteralRule() { + return getDoubleLiteralAccess().getRule(); } //terminal ID: - // // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*; public TerminalRule getIDRule() { return gaTerminals.getIDRule(); } //terminal INT returns ecore::EInt: - // // "0".."9"+; public TerminalRule getINTRule() { return gaTerminals.getINTRule(); } //terminal STRING: - // // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" | - // // "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'"; public TerminalRule getSTRINGRule() { return gaTerminals.getSTRINGRule(); } //terminal ML_COMMENT: - // // "/ *"->"* /"; public TerminalRule getML_COMMENTRule() { return gaTerminals.getML_COMMENTRule(); } //terminal SL_COMMENT: - // // "//" !("\n" | "\r")* ("\r"? "\n")?; public TerminalRule getSL_COMMENTRule() { return gaTerminals.getSL_COMMENTRule(); } //terminal WS: - // // (" " | "\t" | "\r" | "\n")+; public TerminalRule getWSRule() { return gaTerminals.getWSRule(); } //terminal ANY_OTHER: - // // .; public TerminalRule getANY_OTHERRule() { return gaTerminals.getANY_OTHERRule(); diff --git a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext index 9302cb5640996c73bede39c544dae55635370238..e0d2a67cd4d7550beac7061e809c9e383fc002a4 100644 --- a/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext +++ b/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext @@ -3,38 +3,91 @@ import "http://www.eclipse.org/emf/2002/Ecore" as ecore generate myDsl "http://www.xtext.org/example/mydsl/MyDsl" Model: - terms+=Term; + terms=IfElseExpression; -Term returns Expression: - Types ({Term.left=current} - Operations=Operations - right=Types)* +Double returns ecore::EBigDecimal: + '-'? INT '.' INT // (('e'|'E') '-'? INT)? ; -Types returns Expression: - Arithmetics | Strings | '(' Term ')' +Integer returns ecore::EBigInteger : + '-'? INT ; + +EString returns ecore::EString : + STRING | ID +; -Arithmetics returns Expression: - {Expression} - DECIMAL ; - -Strings returns Expression: - {Expression} - E_STRING +EBoolean returns ecore::EBoolean: + 'true' | 'false' +; + +enum ProductOperation: + MULT='*'|DIV='/'|MOD='%' +; + +enum TermOperation: + ADD='+' | SUB='-' ; -DECIMAL returns ecore::EBigDecimal : '-'? INT ('.' INT)? ; +enum CompareOperation: + GREATER='>' | LESS='<'|EQUALS='='|NOTEQUAL='!='|LESSEQUAL='<=' | GREATEREQUAL='>=' +; -E_STRING returns ecore::EString: - STRING | ID; +enum BooleanOperation: + AND='AND' | OR='OR' | XOR='XOR' +; + +RootExpression returns Expression: + IfElseExpression; + +IfElseExpression returns Expression: + BinaryBooleanExpression ({IfElseExpression.condition=current} '?' trueExp=IfElseExpression ':' falseExp=IfElseExpression)?; + +BinaryBooleanExpression returns Expression: + UnaryBooleanExpression ({BinaryBooleanExpression.left=current} operation=BooleanOperation right=UnaryBooleanExpression)*; + +UnaryBooleanExpression returns Expression: + ('NOT' Comparison {UnaryBooleanExpression.inner=current}) | Comparison; + +Comparison returns Expression: + Term ({Comparison.left=current} operation=CompareOperation right=Term)*; -Operations returns Expression: - termOperations = OperationsType; +Term returns Expression: + Product ({Term.left=current} operation=TermOperation right=Product)*; + +Product returns Expression: + Power ({Product.left=current} operation=ProductOperation right=Power)*; + +Power returns Expression: + Atom ({Power.base=current} '^' exponent=Atom)*; + +Atom returns Expression: + Literal | '(' RootExpression ')' | Function; + +Function returns Function: + name=ID '(' (parameters+=RootExpression (',' parameters+=RootExpression)*)? ')'; -enum OperationsType: - ADD='+' | SUB='-' | MULT='*'|DIV='/'|MOD='%' | - GREATER='>' | LESS='<'|EQUALS='='|NOTEQUAL='!='|LESSEQUAL='<=' | GREATEREQUAL='>=' - | AND='AND' | OR='OR' | XOR='XOR'; +Literal returns Expression: + NumberLiteral | BooleanLiteral | FormalParameter +; + +FormalParameter: + value=EString +; + +BooleanLiteral: + value=EBoolean +; + +NumberLiteral returns Expression: + IntLiteral | DoubleLiteral +; + +IntLiteral: + value=Integer +; + +DoubleLiteral: + value=Double +; - \ No newline at end of file