summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorenzo Bettini2012-12-18 04:58:56 (EST)
committer Lorenzo Bettini2012-12-18 04:58:56 (EST)
commitb28c249267ffb1319a3db7d300ac243b0ea3a78f (patch)
tree8ed0820f4ff1e16783d39422187d588b40a51de5
parent3656c02a796cd4829c84e3e463b077376fe715fe (diff)
downloadorg.eclipse.bpel-b28c249267ffb1319a3db7d300ac243b0ea3a78f.zip
org.eclipse.bpel-b28c249267ffb1319a3db7d300ac243b0ea3a78f.tar.gz
org.eclipse.bpel-b28c249267ffb1319a3db7d300ac243b0ea3a78f.tar.bz2
bug 395840: Embeddable Xtext editors refs/changes/77/9077/3
https://bugs.eclipse.org/bugs/show_bug.cgi?id=395840 Change-Id: Ibf1da248db8328ab2a6fa0087bdf25f9ca1f54c7
-rw-r--r--.gitignore4
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/.classpath7
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/.project28
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/META-INF/MANIFEST.MF17
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/Xtext Embedded Editors Examples.launch29
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/build.properties5
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/plugin.xml25
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/Activator.java30
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/ArithmeticsXtextExpressionAssignCategory.java41
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/FowlerDslXtextExpressionAssignCategory.java42
-rw-r--r--examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/GreetingsXtextExpressionAssignCategory.java39
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.classpath8
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.project28
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/META-INF/MANIFEST.MF21
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/build.properties4
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/icons/home_nav.gifbin0 -> 582 bytes
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/plugin.xml238
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/plugin.xml_gen239
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/AbstractArithmeticsUiModule.java122
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/ArithmeticsExecutableExtensionFactory.java29
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/AbstractArithmeticsProposalProvider.java105
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/ArithmeticsParser.java111
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g2434
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.tokens34
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmeticsLexer.java1252
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmeticsParser.java6494
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/internal/ArithmeticsActivator.java95
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/ArithmeticsUiModule.java25
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/autoedit/AutoEditStrategy.java20
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/autoedit/InterpreterAutoEdit.java90
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/contentassist/ArithmeticsProposalProvider.java69
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/labeling/ArithmeticsDescriptionLabelProvider.java34
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/labeling/ArithmeticsLabelProvider.java50
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/outline/ArithmeticsOutlineTreeProvider.java32
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/quickfix/ArithmeticsQuickfixProvider.java33
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/.classpath8
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/.project34
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/META-INF/MANIFEST.MF33
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/build.properties4
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/plugin.xml18
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/plugin.xml_gen17
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/AbstractArithmeticsRuntimeModule.java147
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.ecore64
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.genmodel57
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.xmi412
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/ArithmeticsStandaloneSetupGenerated.java43
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/AbstractDefinition.java54
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/ArithmeticsFactory.java163
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/ArithmeticsPackage.java1184
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/DeclaredParameter.java21
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Definition.java71
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Div.java80
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Evaluation.java53
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Expression.java22
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/FunctionCall.java71
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Import.java54
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Minus.java80
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Module.java90
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Multi.java80
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/NumberLiteral.java54
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Plus.java80
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/Statement.java22
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/AbstractDefinitionImpl.java180
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/ArithmeticsFactoryImpl.java265
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/ArithmeticsPackageImpl.java701
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/DeclaredParameterImpl.java45
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/DefinitionImpl.java353
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/DivImpl.java267
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/EvaluationImpl.java196
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/ExpressionImpl.java47
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/FunctionCallImpl.java237
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/ImportImpl.java180
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/MinusImpl.java267
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/ModuleImpl.java282
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/MultiImpl.java267
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/NumberLiteralImpl.java181
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/PlusImpl.java267
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/impl/StatementImpl.java47
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/util/ArithmeticsAdapterFactory.java395
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/util/ArithmeticsSwitch.java450
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/parser/antlr/ArithmeticsAntlrTokenFileProvider.java15
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/parser/antlr/ArithmeticsParser.java39
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/parser/antlr/internal/InternalArithmetics.g784
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/parser/antlr/internal/InternalArithmetics.tokens34
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/parser/antlr/internal/InternalArithmeticsLexer.java1252
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/parser/antlr/internal/InternalArithmeticsParser.java2034
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/serializer/AbstractArithmeticsSemanticSequencer.java339
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/serializer/AbstractArithmeticsSyntacticSequencer.java66
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/services/ArithmeticsGrammarAccess.java700
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/validation/AbstractArithmeticsJavaValidator.java20
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/Arithmetics.mwe291
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/Arithmetics.xtext58
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/ArithmeticsRuntimeModule.java27
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/ArithmeticsStandaloneSetup.java14
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/formatting/ArithmeticsFormatter.java26
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/interpreter/Calculator.java87
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/scoping/ArithmeticsScopeProvider.java38
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/scoping/LinkingService.java41
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/scoping/NameProvider.java71
-rw-r--r--examples/plugins/org.eclipse.xtext.example.arithmetics/src/org/eclipse/xtext/example/arithmetics/validation/ArithmeticsJavaValidator.java74
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/.classpath8
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/.project28
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/META-INF/MANIFEST.MF25
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/build.properties5
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/plugin.xml323
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/plugin.xml_gen323
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/AbstractStatemachineUiModule.java242
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/StatemachineExecutableExtensionFactory.java29
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/contentassist/AbstractStatemachineProposalProvider.java75
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/contentassist/antlr/PartialStatemachineContentAssistParser.java37
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/contentassist/antlr/StatemachineParser.java91
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/contentassist/antlr/internal/InternalStatemachine.g1404
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/contentassist/antlr/internal/InternalStatemachine.tokens25
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/contentassist/antlr/internal/InternalStatemachineLexer.java1072
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/contentassist/antlr/internal/InternalStatemachineParser.java3740
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src-gen/org/eclipse/xtext/example/fowlerdsl/ui/internal/StatemachineActivator.java95
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src/org/eclipse/xtext/example/fowlerdsl/ui/StatemachineUiModule.java15
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src/org/eclipse/xtext/example/fowlerdsl/ui/contentassist/StatemachineProposalProvider.java12
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src/org/eclipse/xtext/example/fowlerdsl/ui/labeling/StatemachineDescriptionLabelProvider.java27
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src/org/eclipse/xtext/example/fowlerdsl/ui/labeling/StatemachineLabelProvider.java34
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src/org/eclipse/xtext/example/fowlerdsl/ui/outline/StatemachineOutlineTreeProvider.java14
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl.ui/src/org/eclipse/xtext/example/fowlerdsl/ui/quickfix/StatemachineQuickfixProvider.java19
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/.classpath9
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/.project34
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/GenerateStatemachine.mwe2.launch14
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/META-INF/MANIFEST.MF36
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/README.TXT46
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/build.properties6
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/plugin.xml18
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/plugin.xml_gen17
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/AbstractStatemachineRuntimeModule.java172
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/Statemachine.ecore35
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/Statemachine.genmodel36
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/Statemachine.xmi280
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/StatemachineStandaloneSetupGenerated.java43
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/parser/antlr/StatemachineAntlrTokenFileProvider.java15
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/parser/antlr/StatemachineParser.java39
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/parser/antlr/internal/InternalStatemachine.g453
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/parser/antlr/internal/InternalStatemachine.tokens25
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/parser/antlr/internal/InternalStatemachineLexer.java1072
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/parser/antlr/internal/InternalStatemachineParser.java1099
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/serializer/AbstractStatemachineSemanticSequencer.java159
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/serializer/AbstractStatemachineSyntacticSequencer.java40
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/services/StatemachineGrammarAccess.java391
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/Command.java81
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/Event.java81
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/State.java90
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/Statemachine.java97
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/StatemachineFactory.java82
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/StatemachinePackage.java647
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/Transition.java81
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/impl/CommandImpl.java236
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/impl/EventImpl.java236
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/impl/StateImpl.java281
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/impl/StatemachineFactoryImpl.java157
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/impl/StatemachineImpl.java285
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/impl/StatemachinePackageImpl.java421
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/impl/TransitionImpl.java242
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/util/StatemachineAdapterFactory.java215
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/statemachine/util/StatemachineSwitch.java233
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src-gen/org/eclipse/xtext/example/fowlerdsl/validation/AbstractStatemachineJavaValidator.java20
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/GenerateStatemachine.mwe2133
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/Statemachine.xtext36
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/StatemachineRuntimeModule.java11
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/StatemachineStandaloneSetup.java14
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/formatting/StatemachineFormatter.java27
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/generator/Main.java67
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/generator/StatemachineGenerator.xtend97
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/generator/StatemachineGeneratorMWE.mwe232
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/scoping/StatemachineScopeProvider.java17
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/serializer/StatemachineSemanticSequencer.java4
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/serializer/StatemachineSyntacticSequencer.java4
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/src/org/eclipse/xtext/example/fowlerdsl/validation/StatemachineJavaValidator.java13
-rw-r--r--examples/plugins/org.eclipse.xtext.example.fowlerdsl/xtend-gen/org/eclipse/xtext/example/fowlerdsl/generator/StatemachineGenerator.java289
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/.classpath8
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/.project28
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF25
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/build.properties7
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/icons/sample.gifbin0 -> 983 bytes
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/plugin.xml338
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/AbstractMyDslUiModule.java247
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/MyDslExecutableExtensionFactory.java29
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslProposalProvider.java33
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslParser.java72
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/PartialMyDslContentAssistParser.java37
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g260
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.tokens11
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslLexer.java803
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslParser.java576
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/internal/MyDslActivator.java95
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/MyDslUiModule.java15
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/MyXtextEmbeddedEditorProvider.java73
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/contentassist/MyDslProposalProvider.java12
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/labeling/MyDslDescriptionLabelProvider.java27
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/labeling/MyDslLabelProvider.java34
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/outline/MyDslOutlineTreeProvider.java14
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/quickfix/MyDslQuickfixProvider.java19
-rw-r--r--examples/plugins/org.xtext.example.mydsl.ui/src/org/xtext/example/mydsl/ui/views/XtextSampleView.java123
-rw-r--r--examples/plugins/org.xtext.example.mydsl/.antlr-generator-3.2.0.jarbin0 -> 1482584 bytes
-rw-r--r--examples/plugins/org.xtext.example.mydsl/.classpath9
-rw-r--r--examples/plugins/org.xtext.example.mydsl/.launch/Generate Language Infrastructure (org.xtext.example.mydsl).launch34
-rw-r--r--examples/plugins/org.xtext.example.mydsl/.project34
-rw-r--r--examples/plugins/org.xtext.example.mydsl/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--examples/plugins/org.xtext.example.mydsl/META-INF/MANIFEST.MF34
-rw-r--r--examples/plugins/org.xtext.example.mydsl/build.properties6
-rw-r--r--examples/plugins/org.xtext.example.mydsl/plugin.xml17
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/AbstractMyDslRuntimeModule.java172
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.ecore11
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.genmodel17
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDsl.xmi181
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/MyDslStandaloneSetupGenerated.java43
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Greeting.java51
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/Model.java43
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslFactory.java52
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/MyDslPackage.java219
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/GreetingImpl.java177
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/ModelImpl.java167
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslFactoryImpl.java118
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/impl/MyDslPackageImpl.java220
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslAdapterFactory.java152
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/myDsl/util/MyDslSwitch.java142
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/MyDslAntlrTokenFileProvider.java15
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/MyDslParser.java39
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g166
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens11
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslLexer.java803
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslParser.java312
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSemanticSequencer.java68
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/serializer/MyDslSyntacticSequencer.java40
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/services/MyDslGrammarAccess.java170
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/validation/AbstractMyDslJavaValidator.java18
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2139
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext9
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDslRuntimeModule.java11
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDslStandaloneSetup.java14
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src/org/xtext/example/mydsl/formatting/MyDslFormatter.java27
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src/org/xtext/example/mydsl/generator/MyDslGenerator.xtend15
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src/org/xtext/example/mydsl/scoping/MyDslScopeProvider.java17
-rw-r--r--examples/plugins/org.xtext.example.mydsl/src/org/xtext/example/mydsl/validation/MyDslJavaValidator.java13
-rw-r--r--examples/plugins/org.xtext.example.mydsl/xtend-gen/org/xtext/example/mydsl/generator/MyDslGenerator.java11
-rw-r--r--plugins/org.eclipse.bpel.ui.xtext/.classpath7
-rw-r--r--plugins/org.eclipse.bpel.ui.xtext/.project28
-rw-r--r--plugins/org.eclipse.bpel.ui.xtext/META-INF/MANIFEST.MF17
-rw-r--r--plugins/org.eclipse.bpel.ui.xtext/build.properties4
-rw-r--r--plugins/org.eclipse.bpel.ui.xtext/src/org/eclipse/bpel/ui/properties/xtext/AbstractXtextExpressionAssignCategory.java74
-rw-r--r--plugins/org.eclipse.bpel.ui.xtext/src/org/eclipse/bpel/ui/properties/xtext/XtextEmbeddedEditorProvider.java81
-rw-r--r--plugins/org.eclipse.bpel.ui.xtext/src/org/eclipse/bpel/ui/xtext/Activator.java30
252 files changed, 48132 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index e2c221f..d578ae1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,11 +16,11 @@ local/
# additional stuff
.metadata/
bin/
-.settings/
*.swp
*~
*.orig
target/
*.java._trace
-*.smap \ No newline at end of file
+*.java_trace
+*.smap
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/.classpath b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/.project b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/.project
new file mode 100644
index 0000000..8fda269
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.bpel.ui.xtext.examples</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/META-INF/MANIFEST.MF b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..693ac1d
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Examples of Xtext Editor Embedded in Bpel Designer
+Bundle-SymbolicName: org.eclipse.bpel.ui.xtext.examples;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.bpel.ui.xtext.examples.Activator
+Require-Bundle: org.eclipse.core.runtime,
+ org.xtext.example.mydsl;bundle-version="1.0.0",
+ org.xtext.example.mydsl.ui;bundle-version="1.0.0",
+ org.eclipse.xtext.example.arithmetics;bundle-version="2.3.0",
+ org.eclipse.xtext.example.arithmetics.ui;bundle-version="2.3.0",
+ org.eclipse.xtext.example.fowlerdsl;bundle-version="1.0.0",
+ org.eclipse.xtext.example.fowlerdsl.ui;bundle-version="1.0.0",
+ org.eclipse.bpel.ui.xtext;bundle-version="1.0.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: Lorenzo Bettini
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/Xtext Embedded Editors Examples.launch b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/Xtext Embedded Editors Examples.launch
new file mode 100644
index 0000000..6f7d607
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/Xtext Embedded Editors Examples.launch
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Xtext Embedded Editors Examples"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../runtime-Bpel"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms40m -Xmx512m"/>
+<booleanAttribute key="pde.generated.config" value="false"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/build.properties b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/build.properties
new file mode 100644
index 0000000..e9863e2
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/plugin.xml b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/plugin.xml
new file mode 100644
index 0000000..6d439a9
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.bpel.ui.assignCategoryAdditions">
+ <assignSection
+ class="org.eclipse.bpel.ui.xtext.examples.GreetingsXtextExpressionAssignCategory"
+ name="Xtext Greeting"></assignSection>
+ </extension>
+ <extension
+ point="org.eclipse.bpel.ui.assignCategoryAdditions">
+ <assignSection
+ class="org.eclipse.bpel.ui.xtext.examples.FowlerDslXtextExpressionAssignCategory"
+ name="Xtext Fowler DSL">
+ </assignSection>
+ </extension>
+ <extension
+ point="org.eclipse.bpel.ui.assignCategoryAdditions">
+ <assignSection
+ class="org.eclipse.bpel.ui.xtext.examples.ArithmeticsXtextExpressionAssignCategory"
+ name="Xtext Arithmetics DSL">
+ </assignSection>
+ </extension>
+
+</plugin>
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/Activator.java b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/Activator.java
new file mode 100644
index 0000000..042019a
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/Activator.java
@@ -0,0 +1,30 @@
+package org.eclipse.bpel.ui.xtext.examples;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ Activator.context = bundleContext;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ Activator.context = null;
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/ArithmeticsXtextExpressionAssignCategory.java b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/ArithmeticsXtextExpressionAssignCategory.java
new file mode 100644
index 0000000..c6cc6f7
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/ArithmeticsXtextExpressionAssignCategory.java
@@ -0,0 +1,41 @@
+package org.eclipse.bpel.ui.xtext.examples;
+
+import org.eclipse.bpel.ui.properties.xtext.AbstractXtextExpressionAssignCategory;
+import org.eclipse.xtext.example.arithmetics.ui.internal.ArithmeticsActivator;
+
+import com.google.inject.Injector;
+
+/**
+ * @author Lorenzo Bettini
+ *
+ */
+public class ArithmeticsXtextExpressionAssignCategory extends
+ AbstractXtextExpressionAssignCategory {
+
+// public ArithmeticsXtextExpressionAssignCategory(
+// BPELPropertySection ownerSection) {
+// super(ownerSection);
+// }
+
+ @Override
+ public String getName() {
+ return "Xtext Arithmetics Editor";
+ }
+
+ public Injector getInjector() {
+ return ArithmeticsActivator
+ .getInstance()
+ .getInjector(
+ ArithmeticsActivator.ORG_ECLIPSE_XTEXT_EXAMPLE_ARITHMETICS_ARITHMETICS);
+ }
+
+ @Override
+ public String getExpressionLanguage() {
+ return "arithmetics";
+ }
+
+ @Override
+ protected String getStyledTextLabelString() {
+ return "Edit the arithmethics expression";
+ }
+}
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/FowlerDslXtextExpressionAssignCategory.java b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/FowlerDslXtextExpressionAssignCategory.java
new file mode 100644
index 0000000..5f03404
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/FowlerDslXtextExpressionAssignCategory.java
@@ -0,0 +1,42 @@
+package org.eclipse.bpel.ui.xtext.examples;
+
+import org.eclipse.bpel.ui.properties.xtext.AbstractXtextExpressionAssignCategory;
+import org.eclipse.xtext.example.fowlerdsl.ui.internal.StatemachineActivator;
+
+import com.google.inject.Injector;
+
+/**
+ * @author Lorenzo Bettini
+ *
+ */
+public class FowlerDslXtextExpressionAssignCategory extends
+ AbstractXtextExpressionAssignCategory {
+
+// public FowlerDslXtextExpressionAssignCategory(
+// BPELPropertySection ownerSection) {
+// super(ownerSection);
+// }
+
+ @Override
+ public String getName() {
+ return "Xtext FowlerDsl Editor";
+ }
+
+ public Injector getInjector() {
+ return StatemachineActivator
+ .getInstance()
+ .getInjector(
+ StatemachineActivator.ORG_ECLIPSE_XTEXT_EXAMPLE_FOWLERDSL_STATEMACHINE);
+ }
+
+ @Override
+ public String getExpressionLanguage() {
+ return "fowler";
+ }
+
+ @Override
+ protected String getStyledTextLabelString() {
+ return "Edit the statemachine expression";
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/GreetingsXtextExpressionAssignCategory.java b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/GreetingsXtextExpressionAssignCategory.java
new file mode 100644
index 0000000..efa647f
--- /dev/null
+++ b/examples/plugins/org.eclipse.bpel.ui.xtext.examples/src/org/eclipse/bpel/ui/xtext/examples/GreetingsXtextExpressionAssignCategory.java
@@ -0,0 +1,39 @@
+package org.eclipse.bpel.ui.xtext.examples;
+
+import org.eclipse.bpel.ui.properties.xtext.AbstractXtextExpressionAssignCategory;
+
+import com.google.inject.Injector;
+
+/**
+ * @author Lorenzo Bettini
+ *
+ */
+public class GreetingsXtextExpressionAssignCategory extends
+ AbstractXtextExpressionAssignCategory {
+
+// public GreetingsXtextExpressionAssignCategory(
+// BPELPropertySection ownerSection) {
+// super(ownerSection);
+// }
+
+ @Override
+ public String getName() {
+ return "Xtext Greeting Editor";
+ }
+
+ public Injector getInjector() {
+ return org.xtext.example.mydsl.ui.internal.MyDslActivator.getInstance()
+ .getInjector("org.xtext.example.mydsl.MyDsl");
+ }
+
+ @Override
+ public String getExpressionLanguage() {
+ return "greetings";
+ }
+
+ @Override
+ protected String getStyledTextLabelString() {
+ return "Edit the greeting expression";
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.classpath b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.classpath
new file mode 100644
index 0000000..59cf397
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.project b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.project
new file mode 100644
index 0000000..7a23b7e
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.xtext.example.arithmetics.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.settings/org.eclipse.core.resources.prefs b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/META-INF/MANIFEST.MF b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f2ae691
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.xtext.example.arithmetics.ui
+Bundle-Vendor: itemis AG
+Bundle-Version: 2.3.0.qualifier
+Bundle-SymbolicName: org.eclipse.xtext.example.arithmetics.ui;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext.example.arithmetics;visibility:=reexport,
+ org.eclipse.xtext.ui,
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.ui,
+ org.eclipse.xtext.builder,
+ org.antlr.runtime
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Activator: org.eclipse.xtext.example.arithmetics.ui.internal.ArithmeticsActivator
+Export-Package: org.eclipse.xtext.example.arithmetics.ui.contentassist,
+ org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr,
+ org.eclipse.xtext.example.arithmetics.ui.internal
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/build.properties b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/build.properties
new file mode 100644
index 0000000..bed6e1e
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/build.properties
@@ -0,0 +1,4 @@
+source.. = src/,src-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml \ No newline at end of file
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/icons/home_nav.gif b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/icons/home_nav.gif
new file mode 100644
index 0000000..4472e8c
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/icons/home_nav.gif
Binary files differ
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/plugin.xml b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/plugin.xml
new file mode 100644
index 0000000..5ae2f3b
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/plugin.xml
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="calc"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ name="Arithmetics Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.xtext.example.arithmetics.Arithmetics.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ name="Arithmetics">
+ <keywordReference id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"/>
+ </page>
+ <page
+ category="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"/>
+ </page>
+ <page
+ category="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ name="Arithmetics">
+ <keywordReference id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"
+ label="Arithmetics"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics.validate"
+ name="Validate">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.xtext.example.arithmetics.Arithmetics.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="calc">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="calc">
+ </resourceServiceProvider>
+ </extension>
+
+ <!-- marker definitions for org.eclipse.xtext.example.arithmetics.Arithmetics -->
+ <extension
+ id="arithmetics.check.fast"
+ name="Arithmetics Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="arithmetics.check.normal"
+ name="Arithmetics Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="arithmetics.check.expensive"
+ name="Arithmetics Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.xtext.example.arithmetics.Arithmetics -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.xtext.example.arithmetics.ui.arithmetics.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.xtext.example.arithmetics.ui.arithmetics.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.xtext.example.arithmetics.ui.arithmetics.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+
+</plugin>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/plugin.xml_gen b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/plugin.xml_gen
new file mode 100644
index 0000000..4a7da5b
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/plugin.xml_gen
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="calc"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ name="Arithmetics Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.xtext.example.arithmetics.Arithmetics.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ name="Arithmetics">
+ <keywordReference id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"/>
+ </page>
+ <page
+ category="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"/>
+ </page>
+ <page
+ category="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics"
+ name="Arithmetics">
+ <keywordReference id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"/>
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject"/>
+ </enabledWhen>
+ <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.xtext.example.arithmetics.ui.keyword_Arithmetics"
+ label="Arithmetics"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.xtext.example.arithmetics.Arithmetics.validate"
+ name="Validate">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.xtext.example.arithmetics.Arithmetics.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="calc">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="calc">
+ </resourceServiceProvider>
+ </extension>
+
+
+ <!-- marker definitions for org.eclipse.xtext.example.arithmetics.Arithmetics -->
+ <extension
+ id="arithmetics.check.fast"
+ name="Arithmetics Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="arithmetics.check.normal"
+ name="Arithmetics Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="arithmetics.check.expensive"
+ name="Arithmetics Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.xtext.example.arithmetics.Arithmetics.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator for org.eclipse.xtext.example.arithmetics.Arithmetics -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.xtext.example.arithmetics.ui.arithmetics.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.xtext.example.arithmetics.ui.arithmetics.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.eclipse.xtext.example.arithmetics.ui.ArithmeticsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.eclipse.xtext.example.arithmetics.ui.arithmetics.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
+
+</plugin>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/AbstractArithmeticsUiModule.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/AbstractArithmeticsUiModule.java
new file mode 100644
index 0000000..1083e07
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/AbstractArithmeticsUiModule.java
@@ -0,0 +1,122 @@
+
+/*
+ * generated by Xtext
+ */
+package org.eclipse.xtext.example.arithmetics.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.xtext.example.arithmetics.ui.ArithmeticsUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractArithmeticsUiModule extends DefaultUiModule {
+
+ public AbstractArithmeticsUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+
+ // contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+ public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
+ return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.example.arithmetics.parser.antlr.internal.InternalArithmeticsLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+ return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
+ return org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+ return org.eclipse.xtext.example.arithmetics.ui.labeling.ArithmeticsLabelProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.xtext.example.arithmetics.ui.labeling.ArithmeticsDescriptionLabelProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+ return org.eclipse.xtext.example.arithmetics.ui.outline.ArithmeticsOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+ return org.eclipse.xtext.example.arithmetics.ui.outline.ArithmeticsOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+ return org.eclipse.xtext.example.arithmetics.ui.contentassist.ArithmeticsProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
+ return org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.ArithmeticsParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.internal.InternalArithmeticsLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.internal.InternalArithmeticsLexer.class));
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.internal.InternalArithmeticsLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
+ return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+ return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+ return org.eclipse.xtext.example.arithmetics.ui.quickfix.ArithmeticsQuickfixProvider.class;
+ }
+
+
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/ArithmeticsExecutableExtensionFactory.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/ArithmeticsExecutableExtensionFactory.java
new file mode 100644
index 0000000..16db862
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/ArithmeticsExecutableExtensionFactory.java
@@ -0,0 +1,29 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.xtext.example.arithmetics.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+import org.eclipse.xtext.example.arithmetics.ui.internal.ArithmeticsActivator;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class ArithmeticsExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return ArithmeticsActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return ArithmeticsActivator.getInstance().getInjector(ArithmeticsActivator.ORG_ECLIPSE_XTEXT_EXAMPLE_ARITHMETICS_ARITHMETICS);
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/AbstractArithmeticsProposalProvider.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/AbstractArithmeticsProposalProvider.java
new file mode 100644
index 0000000..82836fc
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/AbstractArithmeticsProposalProvider.java
@@ -0,0 +1,105 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.xtext.example.arithmetics.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+
+/**
+ * Represents a generated, default implementation of interface {@link IProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them
+ * with a more concrete subtype.
+ */
+@SuppressWarnings("all")
+public class AbstractArithmeticsProposalProvider extends TerminalsProposalProvider {
+
+ public void completeModule_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeModule_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeModule_Statements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeImport_ImportedNamespace(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDefinition_Args(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDefinition_Expr(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDeclaredParameter_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeEvaluation_Expression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeAddition_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMultiplication_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePrimaryExpression_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePrimaryExpression_Func(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePrimaryExpression_Args(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+
+ public void complete_Module(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Import(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ImportName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Statement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Definition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_DeclaredParameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_AbstractDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Evaluation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Expression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Addition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Multiplication(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_PrimaryExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_NUMBER(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_INT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/ArithmeticsParser.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/ArithmeticsParser.java
new file mode 100644
index 0000000..6c603b8
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/ArithmeticsParser.java
@@ -0,0 +1,111 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.example.arithmetics.services.ArithmeticsGrammarAccess;
+
+public class ArithmeticsParser extends AbstractContentAssistParser {
+
+ @Inject
+ private ArithmeticsGrammarAccess grammarAccess;
+
+ private Map<AbstractElement, String> nameMappings;
+
+ @Override
+ protected org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.internal.InternalArithmeticsParser createParser() {
+ org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.internal.InternalArithmeticsParser result = new org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.internal.InternalArithmeticsParser(null);
+ result.setGrammarAccess(grammarAccess);
+ return result;
+ }
+
+ @Override
+ protected String getRuleName(AbstractElement element) {
+ if (nameMappings == null) {
+ nameMappings = new HashMap<AbstractElement, String>() {
+ private static final long serialVersionUID = 1L;
+ {
+ put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives");
+ put(grammarAccess.getAbstractDefinitionAccess().getAlternatives(), "rule__AbstractDefinition__Alternatives");
+ put(grammarAccess.getAdditionAccess().getAlternatives_1_0(), "rule__Addition__Alternatives_1_0");
+ put(grammarAccess.getMultiplicationAccess().getAlternatives_1_0(), "rule__Multiplication__Alternatives_1_0");
+ put(grammarAccess.getPrimaryExpressionAccess().getAlternatives(), "rule__PrimaryExpression__Alternatives");
+ put(grammarAccess.getModuleAccess().getGroup(), "rule__Module__Group__0");
+ put(grammarAccess.getImportAccess().getGroup(), "rule__Import__Group__0");
+ put(grammarAccess.getImportNameAccess().getGroup(), "rule__ImportName__Group__0");
+ put(grammarAccess.getImportNameAccess().getGroup_1(), "rule__ImportName__Group_1__0");
+ put(grammarAccess.getDefinitionAccess().getGroup(), "rule__Definition__Group__0");
+ put(grammarAccess.getDefinitionAccess().getGroup_2(), "rule__Definition__Group_2__0");
+ put(grammarAccess.getDefinitionAccess().getGroup_2_2(), "rule__Definition__Group_2_2__0");
+ put(grammarAccess.getEvaluationAccess().getGroup(), "rule__Evaluation__Group__0");
+ put(grammarAccess.getAdditionAccess().getGroup(), "rule__Addition__Group__0");
+ put(grammarAccess.getAdditionAccess().getGroup_1(), "rule__Addition__Group_1__0");
+ put(grammarAccess.getAdditionAccess().getGroup_1_0_0(), "rule__Addition__Group_1_0_0__0");
+ put(grammarAccess.getAdditionAccess().getGroup_1_0_1(), "rule__Addition__Group_1_0_1__0");
+ put(grammarAccess.getMultiplicationAccess().getGroup(), "rule__Multiplication__Group__0");
+ put(grammarAccess.getMultiplicationAccess().getGroup_1(), "rule__Multiplication__Group_1__0");
+ put(grammarAccess.getMultiplicationAccess().getGroup_1_0_0(), "rule__Multiplication__Group_1_0_0__0");
+ put(grammarAccess.getMultiplicationAccess().getGroup_1_0_1(), "rule__Multiplication__Group_1_0_1__0");
+ put(grammarAccess.getPrimaryExpressionAccess().getGroup_0(), "rule__PrimaryExpression__Group_0__0");
+ put(grammarAccess.getPrimaryExpressionAccess().getGroup_1(), "rule__PrimaryExpression__Group_1__0");
+ put(grammarAccess.getPrimaryExpressionAccess().getGroup_2(), "rule__PrimaryExpression__Group_2__0");
+ put(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2(), "rule__PrimaryExpression__Group_2_2__0");
+ put(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2_2(), "rule__PrimaryExpression__Group_2_2_2__0");
+ put(grammarAccess.getModuleAccess().getNameAssignment_1(), "rule__Module__NameAssignment_1");
+ put(grammarAccess.getModuleAccess().getImportsAssignment_2(), "rule__Module__ImportsAssignment_2");
+ put(grammarAccess.getModuleAccess().getStatementsAssignment_3(), "rule__Module__StatementsAssignment_3");
+ put(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1(), "rule__Import__ImportedNamespaceAssignment_1");
+ put(grammarAccess.getDefinitionAccess().getNameAssignment_1(), "rule__Definition__NameAssignment_1");
+ put(grammarAccess.getDefinitionAccess().getArgsAssignment_2_1(), "rule__Definition__ArgsAssignment_2_1");
+ put(grammarAccess.getDefinitionAccess().getArgsAssignment_2_2_1(), "rule__Definition__ArgsAssignment_2_2_1");
+ put(grammarAccess.getDefinitionAccess().getExprAssignment_4(), "rule__Definition__ExprAssignment_4");
+ put(grammarAccess.getDeclaredParameterAccess().getNameAssignment(), "rule__DeclaredParameter__NameAssignment");
+ put(grammarAccess.getEvaluationAccess().getExpressionAssignment_0(), "rule__Evaluation__ExpressionAssignment_0");
+ put(grammarAccess.getAdditionAccess().getRightAssignment_1_1(), "rule__Addition__RightAssignment_1_1");
+ put(grammarAccess.getMultiplicationAccess().getRightAssignment_1_1(), "rule__Multiplication__RightAssignment_1_1");
+ put(grammarAccess.getPrimaryExpressionAccess().getValueAssignment_1_1(), "rule__PrimaryExpression__ValueAssignment_1_1");
+ put(grammarAccess.getPrimaryExpressionAccess().getFuncAssignment_2_1(), "rule__PrimaryExpression__FuncAssignment_2_1");
+ put(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_1(), "rule__PrimaryExpression__ArgsAssignment_2_2_1");
+ put(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_2_1(), "rule__PrimaryExpression__ArgsAssignment_2_2_2_1");
+ }
+ };
+ }
+ return nameMappings.get(element);
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ try {
+ org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.internal.InternalArithmeticsParser typedParser = (org.eclipse.xtext.example.arithmetics.ui.contentassist.antlr.internal.InternalArithmeticsParser) parser;
+ typedParser.entryRuleModule();
+ return typedParser.getFollowElements();
+ } catch(RecognitionException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ @Override
+ protected String[] getInitialHiddenTokens() {
+ return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+ }
+
+ public ArithmeticsGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(ArithmeticsGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g
new file mode 100644
index 0000000..4f4e5bd
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g
@@ -0,0 +1,2434 @@
+/*
+* generated by Xtext
+*/
+grammar InternalArithmetics;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+
+}
+
+@lexer::header {
+package org.eclipse.xtext.example.arithmetics.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;
+}
+
+@parser::header {
+package org.eclipse.xtext.example.arithmetics.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.eclipse.xtext.example.arithmetics.services.ArithmeticsGrammarAccess;
+
+}
+
+@parser::members {
+
+ private ArithmeticsGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(ArithmeticsGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+}
+
+
+
+
+// Entry rule entryRuleModule
+entryRuleModule
+:
+{ before(grammarAccess.getModuleRule()); }
+ ruleModule
+{ after(grammarAccess.getModuleRule()); }
+ EOF
+;
+
+// Rule Module
+ruleModule
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getModuleAccess().getGroup()); }
+(rule__Module__Group__0)
+{ after(grammarAccess.getModuleAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleImport
+entryRuleImport
+:
+{ before(grammarAccess.getImportRule()); }
+ ruleImport
+{ after(grammarAccess.getImportRule()); }
+ EOF
+;
+
+// Rule Import
+ruleImport
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getImportAccess().getGroup()); }
+(rule__Import__Group__0)
+{ after(grammarAccess.getImportAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleImportName
+entryRuleImportName
+:
+{ before(grammarAccess.getImportNameRule()); }
+ ruleImportName
+{ after(grammarAccess.getImportNameRule()); }
+ EOF
+;
+
+// Rule ImportName
+ruleImportName
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getImportNameAccess().getGroup()); }
+(rule__ImportName__Group__0)
+{ after(grammarAccess.getImportNameAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStatement
+entryRuleStatement
+:
+{ before(grammarAccess.getStatementRule()); }
+ ruleStatement
+{ after(grammarAccess.getStatementRule()); }
+ EOF
+;
+
+// Rule Statement
+ruleStatement
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStatementAccess().getAlternatives()); }
+(rule__Statement__Alternatives)
+{ after(grammarAccess.getStatementAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDefinition
+entryRuleDefinition
+:
+{ before(grammarAccess.getDefinitionRule()); }
+ ruleDefinition
+{ after(grammarAccess.getDefinitionRule()); }
+ EOF
+;
+
+// Rule Definition
+ruleDefinition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDefinitionAccess().getGroup()); }
+(rule__Definition__Group__0)
+{ after(grammarAccess.getDefinitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDeclaredParameter
+entryRuleDeclaredParameter
+:
+{ before(grammarAccess.getDeclaredParameterRule()); }
+ ruleDeclaredParameter
+{ after(grammarAccess.getDeclaredParameterRule()); }
+ EOF
+;
+
+// Rule DeclaredParameter
+ruleDeclaredParameter
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDeclaredParameterAccess().getNameAssignment()); }
+(rule__DeclaredParameter__NameAssignment)
+{ after(grammarAccess.getDeclaredParameterAccess().getNameAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleEvaluation
+entryRuleEvaluation
+:
+{ before(grammarAccess.getEvaluationRule()); }
+ ruleEvaluation
+{ after(grammarAccess.getEvaluationRule()); }
+ EOF
+;
+
+// Rule Evaluation
+ruleEvaluation
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEvaluationAccess().getGroup()); }
+(rule__Evaluation__Group__0)
+{ after(grammarAccess.getEvaluationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleExpression
+entryRuleExpression
+:
+{ before(grammarAccess.getExpressionRule()); }
+ ruleExpression
+{ after(grammarAccess.getExpressionRule()); }
+ EOF
+;
+
+// Rule Expression
+ruleExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getExpressionAccess().getAdditionParserRuleCall()); }
+ ruleAddition
+{ after(grammarAccess.getExpressionAccess().getAdditionParserRuleCall()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAddition
+entryRuleAddition
+:
+{ before(grammarAccess.getAdditionRule()); }
+ ruleAddition
+{ after(grammarAccess.getAdditionRule()); }
+ EOF
+;
+
+// Rule Addition
+ruleAddition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getAdditionAccess().getGroup()); }
+(rule__Addition__Group__0)
+{ after(grammarAccess.getAdditionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMultiplication
+entryRuleMultiplication
+:
+{ before(grammarAccess.getMultiplicationRule()); }
+ ruleMultiplication
+{ after(grammarAccess.getMultiplicationRule()); }
+ EOF
+;
+
+// Rule Multiplication
+ruleMultiplication
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMultiplicationAccess().getGroup()); }
+(rule__Multiplication__Group__0)
+{ after(grammarAccess.getMultiplicationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePrimaryExpression
+entryRulePrimaryExpression
+:
+{ before(grammarAccess.getPrimaryExpressionRule()); }
+ rulePrimaryExpression
+{ after(grammarAccess.getPrimaryExpressionRule()); }
+ EOF
+;
+
+// Rule PrimaryExpression
+rulePrimaryExpression
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getAlternatives()); }
+(rule__PrimaryExpression__Alternatives)
+{ after(grammarAccess.getPrimaryExpressionAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__Statement__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStatementAccess().getDefinitionParserRuleCall_0()); }
+ ruleDefinition
+{ after(grammarAccess.getStatementAccess().getDefinitionParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStatementAccess().getEvaluationParserRuleCall_1()); }
+ ruleEvaluation
+{ after(grammarAccess.getStatementAccess().getEvaluationParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Addition__Alternatives_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getGroup_1_0_0()); }
+(rule__Addition__Group_1_0_0__0)
+{ after(grammarAccess.getAdditionAccess().getGroup_1_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getAdditionAccess().getGroup_1_0_1()); }
+(rule__Addition__Group_1_0_1__0)
+{ after(grammarAccess.getAdditionAccess().getGroup_1_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Alternatives_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getGroup_1_0_0()); }
+(rule__Multiplication__Group_1_0_0__0)
+{ after(grammarAccess.getMultiplicationAccess().getGroup_1_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getMultiplicationAccess().getGroup_1_0_1()); }
+(rule__Multiplication__Group_1_0_1__0)
+{ after(grammarAccess.getMultiplicationAccess().getGroup_1_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getGroup_0()); }
+(rule__PrimaryExpression__Group_0__0)
+{ after(grammarAccess.getPrimaryExpressionAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpressionAccess().getGroup_1()); }
+(rule__PrimaryExpression__Group_1__0)
+{ after(grammarAccess.getPrimaryExpressionAccess().getGroup_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimaryExpressionAccess().getGroup_2()); }
+(rule__PrimaryExpression__Group_2__0)
+{ after(grammarAccess.getPrimaryExpressionAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__Module__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Module__Group__0__Impl
+ rule__Module__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Module__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModuleAccess().getModuleKeyword_0()); }
+
+ 'module'
+
+{ after(grammarAccess.getModuleAccess().getModuleKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Module__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Module__Group__1__Impl
+ rule__Module__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Module__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModuleAccess().getNameAssignment_1()); }
+(rule__Module__NameAssignment_1)
+{ after(grammarAccess.getModuleAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Module__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Module__Group__2__Impl
+ rule__Module__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Module__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModuleAccess().getImportsAssignment_2()); }
+(rule__Module__ImportsAssignment_2)*
+{ after(grammarAccess.getModuleAccess().getImportsAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Module__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Module__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Module__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModuleAccess().getStatementsAssignment_3()); }
+(rule__Module__StatementsAssignment_3)*
+{ after(grammarAccess.getModuleAccess().getStatementsAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__Import__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Import__Group__0__Impl
+ rule__Import__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Import__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportAccess().getImportKeyword_0()); }
+
+ 'import'
+
+{ after(grammarAccess.getImportAccess().getImportKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Import__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Import__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Import__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); }
+(rule__Import__ImportedNamespaceAssignment_1)
+{ after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ImportName__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ImportName__Group__0__Impl
+ rule__ImportName__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ImportName__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportNameAccess().getIDTerminalRuleCall_0()); }
+ RULE_ID
+{ after(grammarAccess.getImportNameAccess().getIDTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ImportName__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ImportName__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ImportName__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportNameAccess().getGroup_1()); }
+(rule__ImportName__Group_1__0)?
+{ after(grammarAccess.getImportNameAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ImportName__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ImportName__Group_1__0__Impl
+ rule__ImportName__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ImportName__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportNameAccess().getFullStopKeyword_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getImportNameAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ImportName__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ImportName__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ImportName__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportNameAccess().getAsteriskKeyword_1_1()); }
+
+ '*'
+
+{ after(grammarAccess.getImportNameAccess().getAsteriskKeyword_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Definition__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group__0__Impl
+ rule__Definition__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getDefKeyword_0()); }
+
+ 'def'
+
+{ after(grammarAccess.getDefinitionAccess().getDefKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group__1__Impl
+ rule__Definition__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getNameAssignment_1()); }
+(rule__Definition__NameAssignment_1)
+{ after(grammarAccess.getDefinitionAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group__2__Impl
+ rule__Definition__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getGroup_2()); }
+(rule__Definition__Group_2__0)?
+{ after(grammarAccess.getDefinitionAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group__3__Impl
+ rule__Definition__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getColonKeyword_3()); }
+
+ ':'
+
+{ after(grammarAccess.getDefinitionAccess().getColonKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group__4__Impl
+ rule__Definition__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getExprAssignment_4()); }
+(rule__Definition__ExprAssignment_4)
+{ after(grammarAccess.getDefinitionAccess().getExprAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getSemicolonKeyword_5()); }
+
+ ';'
+
+{ after(grammarAccess.getDefinitionAccess().getSemicolonKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Definition__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group_2__0__Impl
+ rule__Definition__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getLeftParenthesisKeyword_2_0()); }
+
+ '('
+
+{ after(grammarAccess.getDefinitionAccess().getLeftParenthesisKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group_2__1__Impl
+ rule__Definition__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getArgsAssignment_2_1()); }
+(rule__Definition__ArgsAssignment_2_1)
+{ after(grammarAccess.getDefinitionAccess().getArgsAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group_2__2__Impl
+ rule__Definition__Group_2__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getGroup_2_2()); }
+(rule__Definition__Group_2_2__0)*
+{ after(grammarAccess.getDefinitionAccess().getGroup_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group_2__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group_2__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group_2__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getRightParenthesisKeyword_2_3()); }
+
+ ')'
+
+{ after(grammarAccess.getDefinitionAccess().getRightParenthesisKeyword_2_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__Definition__Group_2_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group_2_2__0__Impl
+ rule__Definition__Group_2_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group_2_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getCommaKeyword_2_2_0()); }
+
+ ','
+
+{ after(grammarAccess.getDefinitionAccess().getCommaKeyword_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Definition__Group_2_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Definition__Group_2_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__Group_2_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getArgsAssignment_2_2_1()); }
+(rule__Definition__ArgsAssignment_2_2_1)
+{ after(grammarAccess.getDefinitionAccess().getArgsAssignment_2_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Evaluation__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Evaluation__Group__0__Impl
+ rule__Evaluation__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Evaluation__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEvaluationAccess().getExpressionAssignment_0()); }
+(rule__Evaluation__ExpressionAssignment_0)
+{ after(grammarAccess.getEvaluationAccess().getExpressionAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Evaluation__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Evaluation__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Evaluation__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEvaluationAccess().getSemicolonKeyword_1()); }
+
+ ';'
+
+{ after(grammarAccess.getEvaluationAccess().getSemicolonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Addition__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Addition__Group__0__Impl
+ rule__Addition__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getMultiplicationParserRuleCall_0()); }
+ ruleMultiplication
+{ after(grammarAccess.getAdditionAccess().getMultiplicationParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Addition__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Addition__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getGroup_1()); }
+(rule__Addition__Group_1__0)*
+{ after(grammarAccess.getAdditionAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Addition__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Addition__Group_1__0__Impl
+ rule__Addition__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getAlternatives_1_0()); }
+(rule__Addition__Alternatives_1_0)
+{ after(grammarAccess.getAdditionAccess().getAlternatives_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Addition__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Addition__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getRightAssignment_1_1()); }
+(rule__Addition__RightAssignment_1_1)
+{ after(grammarAccess.getAdditionAccess().getRightAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Addition__Group_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Addition__Group_1_0_0__0__Impl
+ rule__Addition__Group_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__Group_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getPlusLeftAction_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getAdditionAccess().getPlusLeftAction_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Addition__Group_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Addition__Group_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__Group_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_0_0_1()); }
+
+ '+'
+
+{ after(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Addition__Group_1_0_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Addition__Group_1_0_1__0__Impl
+ rule__Addition__Group_1_0_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__Group_1_0_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getMinusLeftAction_1_0_1_0()); }
+(
+
+)
+{ after(grammarAccess.getAdditionAccess().getMinusLeftAction_1_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Addition__Group_1_0_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Addition__Group_1_0_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__Group_1_0_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getHyphenMinusKeyword_1_0_1_1()); }
+
+ '-'
+
+{ after(grammarAccess.getAdditionAccess().getHyphenMinusKeyword_1_0_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Multiplication__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Multiplication__Group__0__Impl
+ rule__Multiplication__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getPrimaryExpressionParserRuleCall_0()); }
+ rulePrimaryExpression
+{ after(grammarAccess.getMultiplicationAccess().getPrimaryExpressionParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Multiplication__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Multiplication__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getGroup_1()); }
+(rule__Multiplication__Group_1__0)*
+{ after(grammarAccess.getMultiplicationAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Multiplication__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Multiplication__Group_1__0__Impl
+ rule__Multiplication__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getAlternatives_1_0()); }
+(rule__Multiplication__Alternatives_1_0)
+{ after(grammarAccess.getMultiplicationAccess().getAlternatives_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Multiplication__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Multiplication__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getRightAssignment_1_1()); }
+(rule__Multiplication__RightAssignment_1_1)
+{ after(grammarAccess.getMultiplicationAccess().getRightAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Multiplication__Group_1_0_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Multiplication__Group_1_0_0__0__Impl
+ rule__Multiplication__Group_1_0_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Group_1_0_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getMultiLeftAction_1_0_0_0()); }
+(
+
+)
+{ after(grammarAccess.getMultiplicationAccess().getMultiLeftAction_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Multiplication__Group_1_0_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Multiplication__Group_1_0_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Group_1_0_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_0_0_1()); }
+
+ '*'
+
+{ after(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Multiplication__Group_1_0_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Multiplication__Group_1_0_1__0__Impl
+ rule__Multiplication__Group_1_0_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Group_1_0_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getDivLeftAction_1_0_1_0()); }
+(
+
+)
+{ after(grammarAccess.getMultiplicationAccess().getDivLeftAction_1_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Multiplication__Group_1_0_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Multiplication__Group_1_0_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__Group_1_0_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getSolidusKeyword_1_0_1_1()); }
+
+ '/'
+
+{ after(grammarAccess.getMultiplicationAccess().getSolidusKeyword_1_0_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpression__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_0__0__Impl
+ rule__PrimaryExpression__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_0_0()); }
+
+ '('
+
+{ after(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_0__1__Impl
+ rule__PrimaryExpression__Group_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getExpressionParserRuleCall_0_1()); }
+ ruleExpression
+{ after(grammarAccess.getPrimaryExpressionAccess().getExpressionParserRuleCall_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_0__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_0_2()); }
+
+ ')'
+
+{ after(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__PrimaryExpression__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_1__0__Impl
+ rule__PrimaryExpression__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getNumberLiteralAction_1_0()); }
+(
+
+)
+{ after(grammarAccess.getPrimaryExpressionAccess().getNumberLiteralAction_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getValueAssignment_1_1()); }
+(rule__PrimaryExpression__ValueAssignment_1_1)
+{ after(grammarAccess.getPrimaryExpressionAccess().getValueAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PrimaryExpression__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2__0__Impl
+ rule__PrimaryExpression__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getFunctionCallAction_2_0()); }
+(
+
+)
+{ after(grammarAccess.getPrimaryExpressionAccess().getFunctionCallAction_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2__1__Impl
+ rule__PrimaryExpression__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getFuncAssignment_2_1()); }
+(rule__PrimaryExpression__FuncAssignment_2_1)
+{ after(grammarAccess.getPrimaryExpressionAccess().getFuncAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2()); }
+(rule__PrimaryExpression__Group_2_2__0)?
+{ after(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__PrimaryExpression__Group_2_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2_2__0__Impl
+ rule__PrimaryExpression__Group_2_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_2_2_0()); }
+
+ '('
+
+{ after(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_2_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2_2__1__Impl
+ rule__PrimaryExpression__Group_2_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_1()); }
+(rule__PrimaryExpression__ArgsAssignment_2_2_1)
+{ after(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_2_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2_2__2__Impl
+ rule__PrimaryExpression__Group_2_2__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2_2()); }
+(rule__PrimaryExpression__Group_2_2_2__0)*
+{ after(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_2_2__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2_2__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2_2__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_2_2_3()); }
+
+ ')'
+
+{ after(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_2_2_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__PrimaryExpression__Group_2_2_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2_2_2__0__Impl
+ rule__PrimaryExpression__Group_2_2_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2_2_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getCommaKeyword_2_2_2_0()); }
+
+ ','
+
+{ after(grammarAccess.getPrimaryExpressionAccess().getCommaKeyword_2_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PrimaryExpression__Group_2_2_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PrimaryExpression__Group_2_2_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__Group_2_2_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_2_1()); }
+(rule__PrimaryExpression__ArgsAssignment_2_2_2_1)
+{ after(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+rule__Module__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModuleAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getModuleAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Module__ImportsAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModuleAccess().getImportsImportParserRuleCall_2_0()); }
+ ruleImport{ after(grammarAccess.getModuleAccess().getImportsImportParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Module__StatementsAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getModuleAccess().getStatementsStatementParserRuleCall_3_0()); }
+ ruleStatement{ after(grammarAccess.getModuleAccess().getStatementsStatementParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Import__ImportedNamespaceAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportAccess().getImportedNamespaceImportNameParserRuleCall_1_0()); }
+ ruleImportName{ after(grammarAccess.getImportAccess().getImportedNamespaceImportNameParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getDefinitionAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__ArgsAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getArgsDeclaredParameterParserRuleCall_2_1_0()); }
+ ruleDeclaredParameter{ after(grammarAccess.getDefinitionAccess().getArgsDeclaredParameterParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__ArgsAssignment_2_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getArgsDeclaredParameterParserRuleCall_2_2_1_0()); }
+ ruleDeclaredParameter{ after(grammarAccess.getDefinitionAccess().getArgsDeclaredParameterParserRuleCall_2_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Definition__ExprAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDefinitionAccess().getExprExpressionParserRuleCall_4_0()); }
+ ruleExpression{ after(grammarAccess.getDefinitionAccess().getExprExpressionParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DeclaredParameter__NameAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDeclaredParameterAccess().getNameIDTerminalRuleCall_0()); }
+ RULE_ID{ after(grammarAccess.getDeclaredParameterAccess().getNameIDTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Evaluation__ExpressionAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEvaluationAccess().getExpressionExpressionParserRuleCall_0_0()); }
+ ruleExpression{ after(grammarAccess.getEvaluationAccess().getExpressionExpressionParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Addition__RightAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAdditionAccess().getRightMultiplicationParserRuleCall_1_1_0()); }
+ ruleMultiplication{ after(grammarAccess.getAdditionAccess().getRightMultiplicationParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Multiplication__RightAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMultiplicationAccess().getRightPrimaryExpressionParserRuleCall_1_1_0()); }
+ rulePrimaryExpression{ after(grammarAccess.getMultiplicationAccess().getRightPrimaryExpressionParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__ValueAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getValueNUMBERTerminalRuleCall_1_1_0()); }
+ RULE_NUMBER{ after(grammarAccess.getPrimaryExpressionAccess().getValueNUMBERTerminalRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__FuncAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getFuncAbstractDefinitionCrossReference_2_1_0()); }
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getFuncAbstractDefinitionIDTerminalRuleCall_2_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getPrimaryExpressionAccess().getFuncAbstractDefinitionIDTerminalRuleCall_2_1_0_1()); }
+)
+{ after(grammarAccess.getPrimaryExpressionAccess().getFuncAbstractDefinitionCrossReference_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__ArgsAssignment_2_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getArgsExpressionParserRuleCall_2_2_1_0()); }
+ ruleExpression{ after(grammarAccess.getPrimaryExpressionAccess().getArgsExpressionParserRuleCall_2_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimaryExpression__ArgsAssignment_2_2_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimaryExpressionAccess().getArgsExpressionParserRuleCall_2_2_2_1_0()); }
+ ruleExpression{ after(grammarAccess.getPrimaryExpressionAccess().getArgsExpressionParserRuleCall_2_2_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+RULE_NUMBER : ('0'..'9')* ('.' ('0'..'9')+)?;
+
+RULE_INT : 'this one has been deactivated';
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.tokens b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.tokens
new file mode 100644
index 0000000..616c962
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.tokens
@@ -0,0 +1,34 @@
+RULE_ID=4
+T__24=24
+T__23=23
+T__22=22
+RULE_ANY_OTHER=11
+T__21=21
+T__20=20
+RULE_SL_COMMENT=9
+RULE_ML_COMMENT=8
+T__19=19
+RULE_STRING=7
+T__16=16
+T__15=15
+T__18=18
+T__17=17
+T__12=12
+RULE_NUMBER=5
+T__14=14
+T__13=13
+RULE_INT=6
+RULE_WS=10
+'/'=24
+'def'=16
+'module'=12
+';'=18
+':'=17
+'('=19
+'*'=15
+'-'=23
+'+'=22
+','=21
+'.'=14
+')'=20
+'import'=13
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmeticsLexer.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmeticsLexer.java
new file mode 100644
index 0000000..4438d87
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmeticsLexer.java
@@ -0,0 +1,1252 @@
+package org.eclipse.xtext.example.arithmetics.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 InternalArithmeticsLexer extends Lexer {
+ public static final int RULE_ID=4;
+ 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=11;
+ 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=9;
+ public static final int RULE_ML_COMMENT=8;
+ public static final int T__19=19;
+ public static final int RULE_STRING=7;
+ 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 RULE_NUMBER=5;
+ public static final int T__12=12;
+ 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=10;
+
+ // delegates
+ // delegators
+
+ public InternalArithmeticsLexer() {;}
+ public InternalArithmeticsLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalArithmeticsLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g"; }
+
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
+ try {
+ int _type = T__12;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:11:7: ( 'module' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:11:9: 'module'
+ {
+ match("module");
+
+
+ }
+
+ 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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:12:7: ( 'import' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:12:9: 'import'
+ {
+ match("import");
+
+
+ }
+
+ 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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:13:7: ( '.' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:13: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:14:7: ( '*' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:14: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:15:7: ( 'def' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:15:9: 'def'
+ {
+ match("def");
+
+
+ }
+
+ 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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:16:7: ( ':' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:16: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:17:7: ( ';' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:17: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:18:7: ( '(' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:18: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:19:7: ( ')' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:19: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:20:7: ( ',' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:20: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:21:7: ( '+' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:21: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:22:7: ( '-' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:22: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:23:7: ( '/' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:23:9: '/'
+ {
+ match('/');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "RULE_NUMBER"
+ public final void mRULE_NUMBER() throws RecognitionException {
+ try {
+ int _type = RULE_NUMBER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2418:13: ( ( '0' .. '9' )* ( '.' ( '0' .. '9' )+ )? )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2418:15: ( '0' .. '9' )* ( '.' ( '0' .. '9' )+ )?
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2418:15: ( '0' .. '9' )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( ((LA1_0>='0' && LA1_0<='9')) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2418:16: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2418:27: ( '.' ( '0' .. '9' )+ )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='.') ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2418:28: '.' ( '0' .. '9' )+
+ {
+ match('.');
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2418:32: ( '0' .. '9' )+
+ int cnt2=0;
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2418:33: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt2 >= 1 ) break loop2;
+ EarlyExitException eee =
+ new EarlyExitException(2, input);
+ throw eee;
+ }
+ cnt2++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_NUMBER"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2420:10: ( 'this one has been deactivated' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2420:12: 'this one has been deactivated'
+ {
+ match("this one has been deactivated");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2422:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2422:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2422:11: ( '^' )?
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='^') ) {
+ alt4=1;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2422: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2422:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>='0' && LA5_0<='9')||(LA5_0>='A' && LA5_0<='Z')||LA5_0=='_'||(LA5_0>='a' && LA5_0<='z')) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.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 loop5;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='\"') ) {
+ alt8=1;
+ }
+ else if ( (LA8_0=='\'') ) {
+ alt8=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 8, 0, input);
+
+ throw nvae;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop6:
+ do {
+ int alt6=3;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\\') ) {
+ alt6=1;
+ }
+ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+ alt6=2;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424: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 loop6;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop7:
+ do {
+ int alt7=3;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='\\') ) {
+ alt7=1;
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+ alt7=2;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2424: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 loop7;
+ }
+ } 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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2426:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2426:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2426:24: ( options {greedy=false; } : . )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='*') ) {
+ int LA9_1 = input.LA(2);
+
+ if ( (LA9_1=='/') ) {
+ alt9=2;
+ }
+ else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+ alt9=1;
+ }
+
+
+ }
+ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2426:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } 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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2428:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2428:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2428:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2428: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 loop10;
+ }
+ } while (true);
+
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2428:40: ( ( '\\r' )? '\\n' )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2428:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2428:41: ( '\\r' )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='\r') ) {
+ alt11=1;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2428: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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2430:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2430:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2430:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt13=0;
+ loop13:
+ do {
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+ alt13=1;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.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 ( cnt13 >= 1 ) break loop13;
+ EarlyExitException eee =
+ new EarlyExitException(13, input);
+ throw eee;
+ }
+ cnt13++;
+ } 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.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2432:16: ( . )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2432:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:8: ( 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 | RULE_NUMBER | RULE_INT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt14=21;
+ alt14 = dfa14.predict(input);
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:10: T__12
+ {
+ mT__12();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:16: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:22: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:28: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:34: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:40: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:46: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:52: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:58: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:64: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:70: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:76: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:82: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:88: RULE_NUMBER
+ {
+ mRULE_NUMBER();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:100: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:109: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:117: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:129: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:145: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:161: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1:169: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA14 dfa14 = new DFA14(this);
+ static final String DFA14_eotS =
+ "\1\17\2\30\1\32\1\uffff\1\30\7\uffff\1\46\2\uffff\1\30\1\26\1\uffff"+
+ "\2\26\2\uffff\1\30\1\uffff\1\30\2\uffff\1\30\12\uffff\1\30\2\uffff"+
+ "\2\30\1\60\3\30\1\uffff\3\30\1\uffff\1\67\1\70\2\uffff";
+ static final String DFA14_eofS =
+ "\71\uffff";
+ static final String DFA14_minS =
+ "\1\0\1\157\1\155\1\60\1\uffff\1\145\7\uffff\1\52\2\uffff\1\150\1"+
+ "\101\1\uffff\2\0\2\uffff\1\144\1\uffff\1\160\2\uffff\1\146\12\uffff"+
+ "\1\151\2\uffff\1\165\1\157\1\60\1\163\1\154\1\162\1\uffff\1\40\1"+
+ "\145\1\164\1\uffff\2\60\2\uffff";
+ static final String DFA14_maxS =
+ "\1\uffff\1\157\1\155\1\71\1\uffff\1\145\7\uffff\1\57\2\uffff\1\150"+
+ "\1\172\1\uffff\2\uffff\2\uffff\1\144\1\uffff\1\160\2\uffff\1\146"+
+ "\12\uffff\1\151\2\uffff\1\165\1\157\1\172\1\163\1\154\1\162\1\uffff"+
+ "\1\40\1\145\1\164\1\uffff\2\172\2\uffff";
+ static final String DFA14_acceptS =
+ "\4\uffff\1\4\1\uffff\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\uffff\2"+
+ "\16\2\uffff\1\20\2\uffff\1\24\1\25\1\uffff\1\20\1\uffff\1\3\1\4"+
+ "\1\uffff\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\22\1\23\1\15\1\uffff"+
+ "\1\21\1\24\6\uffff\1\5\3\uffff\1\17\2\uffff\1\1\1\2";
+ static final String DFA14_specialS =
+ "\1\0\22\uffff\1\1\1\2\44\uffff}>";
+ static final String[] DFA14_transitionS = {
+ "\11\26\2\25\2\26\1\25\22\26\1\25\1\26\1\23\4\26\1\24\1\10\1"+
+ "\11\1\4\1\13\1\12\1\14\1\3\1\15\12\16\1\6\1\7\5\26\32\22\3\26"+
+ "\1\21\1\22\1\26\3\22\1\5\4\22\1\2\3\22\1\1\6\22\1\20\6\22\uff85"+
+ "\26",
+ "\1\27",
+ "\1\31",
+ "\12\17",
+ "",
+ "\1\34",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\44\4\uffff\1\45",
+ "",
+ "",
+ "\1\47",
+ "\32\30\4\uffff\1\30\1\uffff\32\30",
+ "",
+ "\0\50",
+ "\0\50",
+ "",
+ "",
+ "\1\52",
+ "",
+ "\1\53",
+ "",
+ "",
+ "\1\54",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\55",
+ "",
+ "",
+ "\1\56",
+ "\1\57",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\1\61",
+ "\1\62",
+ "\1\63",
+ "",
+ "\1\64",
+ "\1\65",
+ "\1\66",
+ "",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
+ "",
+ ""
+ };
+
+ static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+ static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+ static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+ static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+ static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+ static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+ static final short[][] DFA14_transition;
+
+ static {
+ int numStates = DFA14_transitionS.length;
+ DFA14_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
+ }
+ }
+
+ class DFA14 extends DFA {
+
+ public DFA14(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 14;
+ this.eot = DFA14_eot;
+ this.eof = DFA14_eof;
+ this.min = DFA14_min;
+ this.max = DFA14_max;
+ this.accept = DFA14_accept;
+ this.special = DFA14_special;
+ this.transition = DFA14_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( 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 | RULE_NUMBER | RULE_INT | RULE_ID | 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 LA14_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA14_0=='m') ) {s = 1;}
+
+ else if ( (LA14_0=='i') ) {s = 2;}
+
+ else if ( (LA14_0=='.') ) {s = 3;}
+
+ else if ( (LA14_0=='*') ) {s = 4;}
+
+ else if ( (LA14_0=='d') ) {s = 5;}
+
+ else if ( (LA14_0==':') ) {s = 6;}
+
+ else if ( (LA14_0==';') ) {s = 7;}
+
+ else if ( (LA14_0=='(') ) {s = 8;}
+
+ else if ( (LA14_0==')') ) {s = 9;}
+
+ else if ( (LA14_0==',') ) {s = 10;}
+
+ else if ( (LA14_0=='+') ) {s = 11;}
+
+ else if ( (LA14_0=='-') ) {s = 12;}
+
+ else if ( (LA14_0=='/') ) {s = 13;}
+
+ else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 14;}
+
+ else if ( (LA14_0=='t') ) {s = 16;}
+
+ else if ( (LA14_0=='^') ) {s = 17;}
+
+ else if ( ((LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='c')||(LA14_0>='e' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='l')||(LA14_0>='n' && LA14_0<='s')||(LA14_0>='u' && LA14_0<='z')) ) {s = 18;}
+
+ else if ( (LA14_0=='\"') ) {s = 19;}
+
+ else if ( (LA14_0=='\'') ) {s = 20;}
+
+ else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 21;}
+
+ else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||(LA14_0>='<' && LA14_0<='@')||(LA14_0>='[' && LA14_0<=']')||LA14_0=='`'||(LA14_0>='{' && LA14_0<='\uFFFF')) ) {s = 22;}
+
+ else s = 15;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA14_19 = input.LA(1);
+
+ s = -1;
+ if ( ((LA14_19>='\u0000' && LA14_19<='\uFFFF')) ) {s = 40;}
+
+ else s = 22;
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA14_20 = input.LA(1);
+
+ s = -1;
+ if ( ((LA14_20>='\u0000' && LA14_20<='\uFFFF')) ) {s = 40;}
+
+ else s = 22;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 14, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmeticsParser.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmeticsParser.java
new file mode 100644
index 0000000..4883d89
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmeticsParser.java
@@ -0,0 +1,6494 @@
+package org.eclipse.xtext.example.arithmetics.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.eclipse.xtext.example.arithmetics.services.ArithmeticsGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalArithmeticsParser extends AbstractInternalContentAssistParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_NUMBER", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'module'", "'import'", "'.'", "'*'", "'def'", "':'", "';'", "'('", "')'", "','", "'+'", "'-'", "'/'"
+ };
+ public static final int RULE_ID=4;
+ 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=11;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int RULE_SL_COMMENT=9;
+ public static final int EOF=-1;
+ public static final int RULE_ML_COMMENT=8;
+ public static final int T__19=19;
+ public static final int RULE_STRING=7;
+ 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 RULE_NUMBER=5;
+ 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=10;
+
+ // delegates
+ // delegators
+
+
+ public InternalArithmeticsParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalArithmeticsParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalArithmeticsParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g"; }
+
+
+
+ private ArithmeticsGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(ArithmeticsGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+
+
+
+ // $ANTLR start "entryRuleModule"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:60:1: entryRuleModule : ruleModule EOF ;
+ public final void entryRuleModule() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:61:1: ( ruleModule EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:62:1: ruleModule EOF
+ {
+ before(grammarAccess.getModuleRule());
+ pushFollow(FOLLOW_ruleModule_in_entryRuleModule61);
+ ruleModule();
+
+ state._fsp--;
+
+ after(grammarAccess.getModuleRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleModule68);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleModule"
+
+
+ // $ANTLR start "ruleModule"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:69:1: ruleModule : ( ( rule__Module__Group__0 ) ) ;
+ public final void ruleModule() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:73:2: ( ( ( rule__Module__Group__0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:74:1: ( ( rule__Module__Group__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:74:1: ( ( rule__Module__Group__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:75:1: ( rule__Module__Group__0 )
+ {
+ before(grammarAccess.getModuleAccess().getGroup());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:76:1: ( rule__Module__Group__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:76:2: rule__Module__Group__0
+ {
+ pushFollow(FOLLOW_rule__Module__Group__0_in_ruleModule94);
+ rule__Module__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getModuleAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleModule"
+
+
+ // $ANTLR start "entryRuleImport"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:88:1: entryRuleImport : ruleImport EOF ;
+ public final void entryRuleImport() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:89:1: ( ruleImport EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:90:1: ruleImport EOF
+ {
+ before(grammarAccess.getImportRule());
+ pushFollow(FOLLOW_ruleImport_in_entryRuleImport121);
+ ruleImport();
+
+ state._fsp--;
+
+ after(grammarAccess.getImportRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleImport128);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleImport"
+
+
+ // $ANTLR start "ruleImport"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:97:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
+ public final void ruleImport() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:101:2: ( ( ( rule__Import__Group__0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:102:1: ( ( rule__Import__Group__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:102:1: ( ( rule__Import__Group__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:103:1: ( rule__Import__Group__0 )
+ {
+ before(grammarAccess.getImportAccess().getGroup());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:104:1: ( rule__Import__Group__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:104:2: rule__Import__Group__0
+ {
+ pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport154);
+ rule__Import__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getImportAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleImport"
+
+
+ // $ANTLR start "entryRuleImportName"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:116:1: entryRuleImportName : ruleImportName EOF ;
+ public final void entryRuleImportName() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:117:1: ( ruleImportName EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:118:1: ruleImportName EOF
+ {
+ before(grammarAccess.getImportNameRule());
+ pushFollow(FOLLOW_ruleImportName_in_entryRuleImportName181);
+ ruleImportName();
+
+ state._fsp--;
+
+ after(grammarAccess.getImportNameRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleImportName188);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleImportName"
+
+
+ // $ANTLR start "ruleImportName"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:125:1: ruleImportName : ( ( rule__ImportName__Group__0 ) ) ;
+ public final void ruleImportName() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:129:2: ( ( ( rule__ImportName__Group__0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:130:1: ( ( rule__ImportName__Group__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:130:1: ( ( rule__ImportName__Group__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:131:1: ( rule__ImportName__Group__0 )
+ {
+ before(grammarAccess.getImportNameAccess().getGroup());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:132:1: ( rule__ImportName__Group__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:132:2: rule__ImportName__Group__0
+ {
+ pushFollow(FOLLOW_rule__ImportName__Group__0_in_ruleImportName214);
+ rule__ImportName__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getImportNameAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleImportName"
+
+
+ // $ANTLR start "entryRuleStatement"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:144:1: entryRuleStatement : ruleStatement EOF ;
+ public final void entryRuleStatement() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:145:1: ( ruleStatement EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:146:1: ruleStatement EOF
+ {
+ before(grammarAccess.getStatementRule());
+ pushFollow(FOLLOW_ruleStatement_in_entryRuleStatement241);
+ ruleStatement();
+
+ state._fsp--;
+
+ after(grammarAccess.getStatementRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStatement248);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStatement"
+
+
+ // $ANTLR start "ruleStatement"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:153:1: ruleStatement : ( ( rule__Statement__Alternatives ) ) ;
+ public final void ruleStatement() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:157:2: ( ( ( rule__Statement__Alternatives ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:158:1: ( ( rule__Statement__Alternatives ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:158:1: ( ( rule__Statement__Alternatives ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:159:1: ( rule__Statement__Alternatives )
+ {
+ before(grammarAccess.getStatementAccess().getAlternatives());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:160:1: ( rule__Statement__Alternatives )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:160:2: rule__Statement__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Statement__Alternatives_in_ruleStatement274);
+ rule__Statement__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getStatementAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStatement"
+
+
+ // $ANTLR start "entryRuleDefinition"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:172:1: entryRuleDefinition : ruleDefinition EOF ;
+ public final void entryRuleDefinition() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:173:1: ( ruleDefinition EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:174:1: ruleDefinition EOF
+ {
+ before(grammarAccess.getDefinitionRule());
+ pushFollow(FOLLOW_ruleDefinition_in_entryRuleDefinition301);
+ ruleDefinition();
+
+ state._fsp--;
+
+ after(grammarAccess.getDefinitionRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDefinition308);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleDefinition"
+
+
+ // $ANTLR start "ruleDefinition"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:181:1: ruleDefinition : ( ( rule__Definition__Group__0 ) ) ;
+ public final void ruleDefinition() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:185:2: ( ( ( rule__Definition__Group__0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:186:1: ( ( rule__Definition__Group__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:186:1: ( ( rule__Definition__Group__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:187:1: ( rule__Definition__Group__0 )
+ {
+ before(grammarAccess.getDefinitionAccess().getGroup());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:188:1: ( rule__Definition__Group__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:188:2: rule__Definition__Group__0
+ {
+ pushFollow(FOLLOW_rule__Definition__Group__0_in_ruleDefinition334);
+ rule__Definition__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDefinitionAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleDefinition"
+
+
+ // $ANTLR start "entryRuleDeclaredParameter"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:200:1: entryRuleDeclaredParameter : ruleDeclaredParameter EOF ;
+ public final void entryRuleDeclaredParameter() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:201:1: ( ruleDeclaredParameter EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:202:1: ruleDeclaredParameter EOF
+ {
+ before(grammarAccess.getDeclaredParameterRule());
+ pushFollow(FOLLOW_ruleDeclaredParameter_in_entryRuleDeclaredParameter361);
+ ruleDeclaredParameter();
+
+ state._fsp--;
+
+ after(grammarAccess.getDeclaredParameterRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDeclaredParameter368);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleDeclaredParameter"
+
+
+ // $ANTLR start "ruleDeclaredParameter"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:209:1: ruleDeclaredParameter : ( ( rule__DeclaredParameter__NameAssignment ) ) ;
+ public final void ruleDeclaredParameter() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:213:2: ( ( ( rule__DeclaredParameter__NameAssignment ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:214:1: ( ( rule__DeclaredParameter__NameAssignment ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:214:1: ( ( rule__DeclaredParameter__NameAssignment ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:215:1: ( rule__DeclaredParameter__NameAssignment )
+ {
+ before(grammarAccess.getDeclaredParameterAccess().getNameAssignment());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:216:1: ( rule__DeclaredParameter__NameAssignment )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:216:2: rule__DeclaredParameter__NameAssignment
+ {
+ pushFollow(FOLLOW_rule__DeclaredParameter__NameAssignment_in_ruleDeclaredParameter394);
+ rule__DeclaredParameter__NameAssignment();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDeclaredParameterAccess().getNameAssignment());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleDeclaredParameter"
+
+
+ // $ANTLR start "entryRuleEvaluation"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:230:1: entryRuleEvaluation : ruleEvaluation EOF ;
+ public final void entryRuleEvaluation() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:231:1: ( ruleEvaluation EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:232:1: ruleEvaluation EOF
+ {
+ before(grammarAccess.getEvaluationRule());
+ pushFollow(FOLLOW_ruleEvaluation_in_entryRuleEvaluation423);
+ ruleEvaluation();
+
+ state._fsp--;
+
+ after(grammarAccess.getEvaluationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEvaluation430);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEvaluation"
+
+
+ // $ANTLR start "ruleEvaluation"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:239:1: ruleEvaluation : ( ( rule__Evaluation__Group__0 ) ) ;
+ public final void ruleEvaluation() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:243:2: ( ( ( rule__Evaluation__Group__0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:244:1: ( ( rule__Evaluation__Group__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:244:1: ( ( rule__Evaluation__Group__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:245:1: ( rule__Evaluation__Group__0 )
+ {
+ before(grammarAccess.getEvaluationAccess().getGroup());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:246:1: ( rule__Evaluation__Group__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:246:2: rule__Evaluation__Group__0
+ {
+ pushFollow(FOLLOW_rule__Evaluation__Group__0_in_ruleEvaluation456);
+ rule__Evaluation__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getEvaluationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEvaluation"
+
+
+ // $ANTLR start "entryRuleExpression"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:258:1: entryRuleExpression : ruleExpression EOF ;
+ public final void entryRuleExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:259:1: ( ruleExpression EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:260:1: ruleExpression EOF
+ {
+ before(grammarAccess.getExpressionRule());
+ pushFollow(FOLLOW_ruleExpression_in_entryRuleExpression483);
+ ruleExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getExpressionRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleExpression490);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleExpression"
+
+
+ // $ANTLR start "ruleExpression"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:267:1: ruleExpression : ( ruleAddition ) ;
+ public final void ruleExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:271:2: ( ( ruleAddition ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:272:1: ( ruleAddition )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:272:1: ( ruleAddition )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:273:1: ruleAddition
+ {
+ before(grammarAccess.getExpressionAccess().getAdditionParserRuleCall());
+ pushFollow(FOLLOW_ruleAddition_in_ruleExpression516);
+ ruleAddition();
+
+ state._fsp--;
+
+ after(grammarAccess.getExpressionAccess().getAdditionParserRuleCall());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleExpression"
+
+
+ // $ANTLR start "entryRuleAddition"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:286:1: entryRuleAddition : ruleAddition EOF ;
+ public final void entryRuleAddition() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:287:1: ( ruleAddition EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:288:1: ruleAddition EOF
+ {
+ before(grammarAccess.getAdditionRule());
+ pushFollow(FOLLOW_ruleAddition_in_entryRuleAddition542);
+ ruleAddition();
+
+ state._fsp--;
+
+ after(grammarAccess.getAdditionRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAddition549);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleAddition"
+
+
+ // $ANTLR start "ruleAddition"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:295:1: ruleAddition : ( ( rule__Addition__Group__0 ) ) ;
+ public final void ruleAddition() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:299:2: ( ( ( rule__Addition__Group__0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:300:1: ( ( rule__Addition__Group__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:300:1: ( ( rule__Addition__Group__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:301:1: ( rule__Addition__Group__0 )
+ {
+ before(grammarAccess.getAdditionAccess().getGroup());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:302:1: ( rule__Addition__Group__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:302:2: rule__Addition__Group__0
+ {
+ pushFollow(FOLLOW_rule__Addition__Group__0_in_ruleAddition575);
+ rule__Addition__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAdditionAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleAddition"
+
+
+ // $ANTLR start "entryRuleMultiplication"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:314:1: entryRuleMultiplication : ruleMultiplication EOF ;
+ public final void entryRuleMultiplication() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:315:1: ( ruleMultiplication EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:316:1: ruleMultiplication EOF
+ {
+ before(grammarAccess.getMultiplicationRule());
+ pushFollow(FOLLOW_ruleMultiplication_in_entryRuleMultiplication602);
+ ruleMultiplication();
+
+ state._fsp--;
+
+ after(grammarAccess.getMultiplicationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMultiplication609);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMultiplication"
+
+
+ // $ANTLR start "ruleMultiplication"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:323:1: ruleMultiplication : ( ( rule__Multiplication__Group__0 ) ) ;
+ public final void ruleMultiplication() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:327:2: ( ( ( rule__Multiplication__Group__0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:328:1: ( ( rule__Multiplication__Group__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:328:1: ( ( rule__Multiplication__Group__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:329:1: ( rule__Multiplication__Group__0 )
+ {
+ before(grammarAccess.getMultiplicationAccess().getGroup());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:330:1: ( rule__Multiplication__Group__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:330:2: rule__Multiplication__Group__0
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group__0_in_ruleMultiplication635);
+ rule__Multiplication__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMultiplicationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMultiplication"
+
+
+ // $ANTLR start "entryRulePrimaryExpression"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:342:1: entryRulePrimaryExpression : rulePrimaryExpression EOF ;
+ public final void entryRulePrimaryExpression() throws RecognitionException {
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:343:1: ( rulePrimaryExpression EOF )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:344:1: rulePrimaryExpression EOF
+ {
+ before(grammarAccess.getPrimaryExpressionRule());
+ pushFollow(FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression662);
+ rulePrimaryExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getPrimaryExpressionRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulePrimaryExpression669);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePrimaryExpression"
+
+
+ // $ANTLR start "rulePrimaryExpression"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:351:1: rulePrimaryExpression : ( ( rule__PrimaryExpression__Alternatives ) ) ;
+ public final void rulePrimaryExpression() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:355:2: ( ( ( rule__PrimaryExpression__Alternatives ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:356:1: ( ( rule__PrimaryExpression__Alternatives ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:356:1: ( ( rule__PrimaryExpression__Alternatives ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:357:1: ( rule__PrimaryExpression__Alternatives )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getAlternatives());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:358:1: ( rule__PrimaryExpression__Alternatives )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:358:2: rule__PrimaryExpression__Alternatives
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Alternatives_in_rulePrimaryExpression695);
+ rule__PrimaryExpression__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePrimaryExpression"
+
+
+ // $ANTLR start "rule__Statement__Alternatives"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:370:1: rule__Statement__Alternatives : ( ( ruleDefinition ) | ( ruleEvaluation ) );
+ public final void rule__Statement__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:374:1: ( ( ruleDefinition ) | ( ruleEvaluation ) )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==16) ) {
+ alt1=1;
+ }
+ else if ( ((LA1_0>=RULE_ID && LA1_0<=RULE_NUMBER)||LA1_0==19) ) {
+ alt1=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:375:1: ( ruleDefinition )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:375:1: ( ruleDefinition )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:376:1: ruleDefinition
+ {
+ before(grammarAccess.getStatementAccess().getDefinitionParserRuleCall_0());
+ pushFollow(FOLLOW_ruleDefinition_in_rule__Statement__Alternatives731);
+ ruleDefinition();
+
+ state._fsp--;
+
+ after(grammarAccess.getStatementAccess().getDefinitionParserRuleCall_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:381:6: ( ruleEvaluation )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:381:6: ( ruleEvaluation )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:382:1: ruleEvaluation
+ {
+ before(grammarAccess.getStatementAccess().getEvaluationParserRuleCall_1());
+ pushFollow(FOLLOW_ruleEvaluation_in_rule__Statement__Alternatives748);
+ ruleEvaluation();
+
+ state._fsp--;
+
+ after(grammarAccess.getStatementAccess().getEvaluationParserRuleCall_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Statement__Alternatives"
+
+
+ // $ANTLR start "rule__Addition__Alternatives_1_0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:393:1: rule__Addition__Alternatives_1_0 : ( ( ( rule__Addition__Group_1_0_0__0 ) ) | ( ( rule__Addition__Group_1_0_1__0 ) ) );
+ public final void rule__Addition__Alternatives_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:397:1: ( ( ( rule__Addition__Group_1_0_0__0 ) ) | ( ( rule__Addition__Group_1_0_1__0 ) ) )
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==22) ) {
+ alt2=1;
+ }
+ else if ( (LA2_0==23) ) {
+ alt2=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:398:1: ( ( rule__Addition__Group_1_0_0__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:398:1: ( ( rule__Addition__Group_1_0_0__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:399:1: ( rule__Addition__Group_1_0_0__0 )
+ {
+ before(grammarAccess.getAdditionAccess().getGroup_1_0_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:400:1: ( rule__Addition__Group_1_0_0__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:400:2: rule__Addition__Group_1_0_0__0
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1_0_0__0_in_rule__Addition__Alternatives_1_0781);
+ rule__Addition__Group_1_0_0__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAdditionAccess().getGroup_1_0_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:404:6: ( ( rule__Addition__Group_1_0_1__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:404:6: ( ( rule__Addition__Group_1_0_1__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:405:1: ( rule__Addition__Group_1_0_1__0 )
+ {
+ before(grammarAccess.getAdditionAccess().getGroup_1_0_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:406:1: ( rule__Addition__Group_1_0_1__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:406:2: rule__Addition__Group_1_0_1__0
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1_0_1__0_in_rule__Addition__Alternatives_1_0799);
+ rule__Addition__Group_1_0_1__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAdditionAccess().getGroup_1_0_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Alternatives_1_0"
+
+
+ // $ANTLR start "rule__Multiplication__Alternatives_1_0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:415:1: rule__Multiplication__Alternatives_1_0 : ( ( ( rule__Multiplication__Group_1_0_0__0 ) ) | ( ( rule__Multiplication__Group_1_0_1__0 ) ) );
+ public final void rule__Multiplication__Alternatives_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:419:1: ( ( ( rule__Multiplication__Group_1_0_0__0 ) ) | ( ( rule__Multiplication__Group_1_0_1__0 ) ) )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==15) ) {
+ alt3=1;
+ }
+ else if ( (LA3_0==24) ) {
+ alt3=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:420:1: ( ( rule__Multiplication__Group_1_0_0__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:420:1: ( ( rule__Multiplication__Group_1_0_0__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:421:1: ( rule__Multiplication__Group_1_0_0__0 )
+ {
+ before(grammarAccess.getMultiplicationAccess().getGroup_1_0_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:422:1: ( rule__Multiplication__Group_1_0_0__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:422:2: rule__Multiplication__Group_1_0_0__0
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1_0_0__0_in_rule__Multiplication__Alternatives_1_0832);
+ rule__Multiplication__Group_1_0_0__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMultiplicationAccess().getGroup_1_0_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:426:6: ( ( rule__Multiplication__Group_1_0_1__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:426:6: ( ( rule__Multiplication__Group_1_0_1__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:427:1: ( rule__Multiplication__Group_1_0_1__0 )
+ {
+ before(grammarAccess.getMultiplicationAccess().getGroup_1_0_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:428:1: ( rule__Multiplication__Group_1_0_1__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:428:2: rule__Multiplication__Group_1_0_1__0
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1_0_1__0_in_rule__Multiplication__Alternatives_1_0850);
+ rule__Multiplication__Group_1_0_1__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMultiplicationAccess().getGroup_1_0_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Alternatives_1_0"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Alternatives"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:437:1: rule__PrimaryExpression__Alternatives : ( ( ( rule__PrimaryExpression__Group_0__0 ) ) | ( ( rule__PrimaryExpression__Group_1__0 ) ) | ( ( rule__PrimaryExpression__Group_2__0 ) ) );
+ public final void rule__PrimaryExpression__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:441:1: ( ( ( rule__PrimaryExpression__Group_0__0 ) ) | ( ( rule__PrimaryExpression__Group_1__0 ) ) | ( ( rule__PrimaryExpression__Group_2__0 ) ) )
+ int alt4=3;
+ switch ( input.LA(1) ) {
+ case 19:
+ {
+ alt4=1;
+ }
+ break;
+ case RULE_NUMBER:
+ {
+ alt4=2;
+ }
+ break;
+ case RULE_ID:
+ {
+ alt4=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 4, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:442:1: ( ( rule__PrimaryExpression__Group_0__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:442:1: ( ( rule__PrimaryExpression__Group_0__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:443:1: ( rule__PrimaryExpression__Group_0__0 )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getGroup_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:444:1: ( rule__PrimaryExpression__Group_0__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:444:2: rule__PrimaryExpression__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_0__0_in_rule__PrimaryExpression__Alternatives883);
+ rule__PrimaryExpression__Group_0__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getGroup_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:448:6: ( ( rule__PrimaryExpression__Group_1__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:448:6: ( ( rule__PrimaryExpression__Group_1__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:449:1: ( rule__PrimaryExpression__Group_1__0 )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getGroup_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:450:1: ( rule__PrimaryExpression__Group_1__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:450:2: rule__PrimaryExpression__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_1__0_in_rule__PrimaryExpression__Alternatives901);
+ rule__PrimaryExpression__Group_1__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getGroup_1());
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:454:6: ( ( rule__PrimaryExpression__Group_2__0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:454:6: ( ( rule__PrimaryExpression__Group_2__0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:455:1: ( rule__PrimaryExpression__Group_2__0 )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getGroup_2());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:456:1: ( rule__PrimaryExpression__Group_2__0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:456:2: rule__PrimaryExpression__Group_2__0
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2__0_in_rule__PrimaryExpression__Alternatives919);
+ rule__PrimaryExpression__Group_2__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getGroup_2());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Alternatives"
+
+
+ // $ANTLR start "rule__Module__Group__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:467:1: rule__Module__Group__0 : rule__Module__Group__0__Impl rule__Module__Group__1 ;
+ public final void rule__Module__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:471:1: ( rule__Module__Group__0__Impl rule__Module__Group__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:472:2: rule__Module__Group__0__Impl rule__Module__Group__1
+ {
+ pushFollow(FOLLOW_rule__Module__Group__0__Impl_in_rule__Module__Group__0950);
+ rule__Module__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Module__Group__1_in_rule__Module__Group__0953);
+ rule__Module__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__Group__0"
+
+
+ // $ANTLR start "rule__Module__Group__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:479:1: rule__Module__Group__0__Impl : ( 'module' ) ;
+ public final void rule__Module__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:483:1: ( ( 'module' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:484:1: ( 'module' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:484:1: ( 'module' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:485:1: 'module'
+ {
+ before(grammarAccess.getModuleAccess().getModuleKeyword_0());
+ match(input,12,FOLLOW_12_in_rule__Module__Group__0__Impl981);
+ after(grammarAccess.getModuleAccess().getModuleKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Module__Group__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:498:1: rule__Module__Group__1 : rule__Module__Group__1__Impl rule__Module__Group__2 ;
+ public final void rule__Module__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:502:1: ( rule__Module__Group__1__Impl rule__Module__Group__2 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:503:2: rule__Module__Group__1__Impl rule__Module__Group__2
+ {
+ pushFollow(FOLLOW_rule__Module__Group__1__Impl_in_rule__Module__Group__11012);
+ rule__Module__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Module__Group__2_in_rule__Module__Group__11015);
+ rule__Module__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__Group__1"
+
+
+ // $ANTLR start "rule__Module__Group__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:510:1: rule__Module__Group__1__Impl : ( ( rule__Module__NameAssignment_1 ) ) ;
+ public final void rule__Module__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:514:1: ( ( ( rule__Module__NameAssignment_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:515:1: ( ( rule__Module__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:515:1: ( ( rule__Module__NameAssignment_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:516:1: ( rule__Module__NameAssignment_1 )
+ {
+ before(grammarAccess.getModuleAccess().getNameAssignment_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:517:1: ( rule__Module__NameAssignment_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:517:2: rule__Module__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Module__NameAssignment_1_in_rule__Module__Group__1__Impl1042);
+ rule__Module__NameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getModuleAccess().getNameAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Module__Group__2"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:527:1: rule__Module__Group__2 : rule__Module__Group__2__Impl rule__Module__Group__3 ;
+ public final void rule__Module__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:531:1: ( rule__Module__Group__2__Impl rule__Module__Group__3 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:532:2: rule__Module__Group__2__Impl rule__Module__Group__3
+ {
+ pushFollow(FOLLOW_rule__Module__Group__2__Impl_in_rule__Module__Group__21072);
+ rule__Module__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Module__Group__3_in_rule__Module__Group__21075);
+ rule__Module__Group__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__Group__2"
+
+
+ // $ANTLR start "rule__Module__Group__2__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:539:1: rule__Module__Group__2__Impl : ( ( rule__Module__ImportsAssignment_2 )* ) ;
+ public final void rule__Module__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:543:1: ( ( ( rule__Module__ImportsAssignment_2 )* ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:544:1: ( ( rule__Module__ImportsAssignment_2 )* )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:544:1: ( ( rule__Module__ImportsAssignment_2 )* )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:545:1: ( rule__Module__ImportsAssignment_2 )*
+ {
+ before(grammarAccess.getModuleAccess().getImportsAssignment_2());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:546:1: ( rule__Module__ImportsAssignment_2 )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==13) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:546:2: rule__Module__ImportsAssignment_2
+ {
+ pushFollow(FOLLOW_rule__Module__ImportsAssignment_2_in_rule__Module__Group__2__Impl1102);
+ rule__Module__ImportsAssignment_2();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ after(grammarAccess.getModuleAccess().getImportsAssignment_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__Group__2__Impl"
+
+
+ // $ANTLR start "rule__Module__Group__3"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:556:1: rule__Module__Group__3 : rule__Module__Group__3__Impl ;
+ public final void rule__Module__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:560:1: ( rule__Module__Group__3__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:561:2: rule__Module__Group__3__Impl
+ {
+ pushFollow(FOLLOW_rule__Module__Group__3__Impl_in_rule__Module__Group__31133);
+ rule__Module__Group__3__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__Group__3"
+
+
+ // $ANTLR start "rule__Module__Group__3__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:567:1: rule__Module__Group__3__Impl : ( ( rule__Module__StatementsAssignment_3 )* ) ;
+ public final void rule__Module__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:571:1: ( ( ( rule__Module__StatementsAssignment_3 )* ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:572:1: ( ( rule__Module__StatementsAssignment_3 )* )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:572:1: ( ( rule__Module__StatementsAssignment_3 )* )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:573:1: ( rule__Module__StatementsAssignment_3 )*
+ {
+ before(grammarAccess.getModuleAccess().getStatementsAssignment_3());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:574:1: ( rule__Module__StatementsAssignment_3 )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( ((LA6_0>=RULE_ID && LA6_0<=RULE_NUMBER)||LA6_0==16||LA6_0==19) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:574:2: rule__Module__StatementsAssignment_3
+ {
+ pushFollow(FOLLOW_rule__Module__StatementsAssignment_3_in_rule__Module__Group__3__Impl1160);
+ rule__Module__StatementsAssignment_3();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+ after(grammarAccess.getModuleAccess().getStatementsAssignment_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__Group__3__Impl"
+
+
+ // $ANTLR start "rule__Import__Group__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:592:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
+ public final void rule__Import__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:596:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:597:2: rule__Import__Group__0__Impl rule__Import__Group__1
+ {
+ pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__01199);
+ rule__Import__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__01202);
+ rule__Import__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Import__Group__0"
+
+
+ // $ANTLR start "rule__Import__Group__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:604:1: rule__Import__Group__0__Impl : ( 'import' ) ;
+ public final void rule__Import__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:608:1: ( ( 'import' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:609:1: ( 'import' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:609:1: ( 'import' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:610:1: 'import'
+ {
+ before(grammarAccess.getImportAccess().getImportKeyword_0());
+ match(input,13,FOLLOW_13_in_rule__Import__Group__0__Impl1230);
+ after(grammarAccess.getImportAccess().getImportKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Import__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Import__Group__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:623:1: rule__Import__Group__1 : rule__Import__Group__1__Impl ;
+ public final void rule__Import__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:627:1: ( rule__Import__Group__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:628:2: rule__Import__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__11261);
+ rule__Import__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Import__Group__1"
+
+
+ // $ANTLR start "rule__Import__Group__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:634:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) ;
+ public final void rule__Import__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:638:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:639:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:639:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:640:1: ( rule__Import__ImportedNamespaceAssignment_1 )
+ {
+ before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:641:1: ( rule__Import__ImportedNamespaceAssignment_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:641:2: rule__Import__ImportedNamespaceAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl1288);
+ rule__Import__ImportedNamespaceAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Import__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ImportName__Group__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:655:1: rule__ImportName__Group__0 : rule__ImportName__Group__0__Impl rule__ImportName__Group__1 ;
+ public final void rule__ImportName__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:659:1: ( rule__ImportName__Group__0__Impl rule__ImportName__Group__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:660:2: rule__ImportName__Group__0__Impl rule__ImportName__Group__1
+ {
+ pushFollow(FOLLOW_rule__ImportName__Group__0__Impl_in_rule__ImportName__Group__01322);
+ rule__ImportName__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__ImportName__Group__1_in_rule__ImportName__Group__01325);
+ rule__ImportName__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ImportName__Group__0"
+
+
+ // $ANTLR start "rule__ImportName__Group__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:667:1: rule__ImportName__Group__0__Impl : ( RULE_ID ) ;
+ public final void rule__ImportName__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:671:1: ( ( RULE_ID ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:672:1: ( RULE_ID )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:672:1: ( RULE_ID )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:673:1: RULE_ID
+ {
+ before(grammarAccess.getImportNameAccess().getIDTerminalRuleCall_0());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ImportName__Group__0__Impl1352);
+ after(grammarAccess.getImportNameAccess().getIDTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ImportName__Group__0__Impl"
+
+
+ // $ANTLR start "rule__ImportName__Group__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:684:1: rule__ImportName__Group__1 : rule__ImportName__Group__1__Impl ;
+ public final void rule__ImportName__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:688:1: ( rule__ImportName__Group__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:689:2: rule__ImportName__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__ImportName__Group__1__Impl_in_rule__ImportName__Group__11381);
+ rule__ImportName__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ImportName__Group__1"
+
+
+ // $ANTLR start "rule__ImportName__Group__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:695:1: rule__ImportName__Group__1__Impl : ( ( rule__ImportName__Group_1__0 )? ) ;
+ public final void rule__ImportName__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:699:1: ( ( ( rule__ImportName__Group_1__0 )? ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:700:1: ( ( rule__ImportName__Group_1__0 )? )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:700:1: ( ( rule__ImportName__Group_1__0 )? )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:701:1: ( rule__ImportName__Group_1__0 )?
+ {
+ before(grammarAccess.getImportNameAccess().getGroup_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:702:1: ( rule__ImportName__Group_1__0 )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==14) ) {
+ alt7=1;
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:702:2: rule__ImportName__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__ImportName__Group_1__0_in_rule__ImportName__Group__1__Impl1408);
+ rule__ImportName__Group_1__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getImportNameAccess().getGroup_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ImportName__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ImportName__Group_1__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:716:1: rule__ImportName__Group_1__0 : rule__ImportName__Group_1__0__Impl rule__ImportName__Group_1__1 ;
+ public final void rule__ImportName__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:720:1: ( rule__ImportName__Group_1__0__Impl rule__ImportName__Group_1__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:721:2: rule__ImportName__Group_1__0__Impl rule__ImportName__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__ImportName__Group_1__0__Impl_in_rule__ImportName__Group_1__01443);
+ rule__ImportName__Group_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__ImportName__Group_1__1_in_rule__ImportName__Group_1__01446);
+ rule__ImportName__Group_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ImportName__Group_1__0"
+
+
+ // $ANTLR start "rule__ImportName__Group_1__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:728:1: rule__ImportName__Group_1__0__Impl : ( '.' ) ;
+ public final void rule__ImportName__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:732:1: ( ( '.' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:733:1: ( '.' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:733:1: ( '.' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:734:1: '.'
+ {
+ before(grammarAccess.getImportNameAccess().getFullStopKeyword_1_0());
+ match(input,14,FOLLOW_14_in_rule__ImportName__Group_1__0__Impl1474);
+ after(grammarAccess.getImportNameAccess().getFullStopKeyword_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ImportName__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__ImportName__Group_1__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:747:1: rule__ImportName__Group_1__1 : rule__ImportName__Group_1__1__Impl ;
+ public final void rule__ImportName__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:751:1: ( rule__ImportName__Group_1__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:752:2: rule__ImportName__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__ImportName__Group_1__1__Impl_in_rule__ImportName__Group_1__11505);
+ rule__ImportName__Group_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ImportName__Group_1__1"
+
+
+ // $ANTLR start "rule__ImportName__Group_1__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:758:1: rule__ImportName__Group_1__1__Impl : ( '*' ) ;
+ public final void rule__ImportName__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:762:1: ( ( '*' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:763:1: ( '*' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:763:1: ( '*' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:764:1: '*'
+ {
+ before(grammarAccess.getImportNameAccess().getAsteriskKeyword_1_1());
+ match(input,15,FOLLOW_15_in_rule__ImportName__Group_1__1__Impl1533);
+ after(grammarAccess.getImportNameAccess().getAsteriskKeyword_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ImportName__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:781:1: rule__Definition__Group__0 : rule__Definition__Group__0__Impl rule__Definition__Group__1 ;
+ public final void rule__Definition__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:785:1: ( rule__Definition__Group__0__Impl rule__Definition__Group__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:786:2: rule__Definition__Group__0__Impl rule__Definition__Group__1
+ {
+ pushFollow(FOLLOW_rule__Definition__Group__0__Impl_in_rule__Definition__Group__01568);
+ rule__Definition__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group__1_in_rule__Definition__Group__01571);
+ rule__Definition__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__0"
+
+
+ // $ANTLR start "rule__Definition__Group__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:793:1: rule__Definition__Group__0__Impl : ( 'def' ) ;
+ public final void rule__Definition__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:797:1: ( ( 'def' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:798:1: ( 'def' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:798:1: ( 'def' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:799:1: 'def'
+ {
+ before(grammarAccess.getDefinitionAccess().getDefKeyword_0());
+ match(input,16,FOLLOW_16_in_rule__Definition__Group__0__Impl1599);
+ after(grammarAccess.getDefinitionAccess().getDefKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:812:1: rule__Definition__Group__1 : rule__Definition__Group__1__Impl rule__Definition__Group__2 ;
+ public final void rule__Definition__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:816:1: ( rule__Definition__Group__1__Impl rule__Definition__Group__2 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:817:2: rule__Definition__Group__1__Impl rule__Definition__Group__2
+ {
+ pushFollow(FOLLOW_rule__Definition__Group__1__Impl_in_rule__Definition__Group__11630);
+ rule__Definition__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group__2_in_rule__Definition__Group__11633);
+ rule__Definition__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__1"
+
+
+ // $ANTLR start "rule__Definition__Group__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:824:1: rule__Definition__Group__1__Impl : ( ( rule__Definition__NameAssignment_1 ) ) ;
+ public final void rule__Definition__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:828:1: ( ( ( rule__Definition__NameAssignment_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:829:1: ( ( rule__Definition__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:829:1: ( ( rule__Definition__NameAssignment_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:830:1: ( rule__Definition__NameAssignment_1 )
+ {
+ before(grammarAccess.getDefinitionAccess().getNameAssignment_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:831:1: ( rule__Definition__NameAssignment_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:831:2: rule__Definition__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Definition__NameAssignment_1_in_rule__Definition__Group__1__Impl1660);
+ rule__Definition__NameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDefinitionAccess().getNameAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group__2"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:841:1: rule__Definition__Group__2 : rule__Definition__Group__2__Impl rule__Definition__Group__3 ;
+ public final void rule__Definition__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:845:1: ( rule__Definition__Group__2__Impl rule__Definition__Group__3 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:846:2: rule__Definition__Group__2__Impl rule__Definition__Group__3
+ {
+ pushFollow(FOLLOW_rule__Definition__Group__2__Impl_in_rule__Definition__Group__21690);
+ rule__Definition__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group__3_in_rule__Definition__Group__21693);
+ rule__Definition__Group__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__2"
+
+
+ // $ANTLR start "rule__Definition__Group__2__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:853:1: rule__Definition__Group__2__Impl : ( ( rule__Definition__Group_2__0 )? ) ;
+ public final void rule__Definition__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:857:1: ( ( ( rule__Definition__Group_2__0 )? ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:858:1: ( ( rule__Definition__Group_2__0 )? )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:858:1: ( ( rule__Definition__Group_2__0 )? )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:859:1: ( rule__Definition__Group_2__0 )?
+ {
+ before(grammarAccess.getDefinitionAccess().getGroup_2());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:860:1: ( rule__Definition__Group_2__0 )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==19) ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:860:2: rule__Definition__Group_2__0
+ {
+ pushFollow(FOLLOW_rule__Definition__Group_2__0_in_rule__Definition__Group__2__Impl1720);
+ rule__Definition__Group_2__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getDefinitionAccess().getGroup_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__2__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group__3"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:870:1: rule__Definition__Group__3 : rule__Definition__Group__3__Impl rule__Definition__Group__4 ;
+ public final void rule__Definition__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:874:1: ( rule__Definition__Group__3__Impl rule__Definition__Group__4 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:875:2: rule__Definition__Group__3__Impl rule__Definition__Group__4
+ {
+ pushFollow(FOLLOW_rule__Definition__Group__3__Impl_in_rule__Definition__Group__31751);
+ rule__Definition__Group__3__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group__4_in_rule__Definition__Group__31754);
+ rule__Definition__Group__4();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__3"
+
+
+ // $ANTLR start "rule__Definition__Group__3__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:882:1: rule__Definition__Group__3__Impl : ( ':' ) ;
+ public final void rule__Definition__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:886:1: ( ( ':' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:887:1: ( ':' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:887:1: ( ':' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:888:1: ':'
+ {
+ before(grammarAccess.getDefinitionAccess().getColonKeyword_3());
+ match(input,17,FOLLOW_17_in_rule__Definition__Group__3__Impl1782);
+ after(grammarAccess.getDefinitionAccess().getColonKeyword_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__3__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group__4"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:901:1: rule__Definition__Group__4 : rule__Definition__Group__4__Impl rule__Definition__Group__5 ;
+ public final void rule__Definition__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:905:1: ( rule__Definition__Group__4__Impl rule__Definition__Group__5 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:906:2: rule__Definition__Group__4__Impl rule__Definition__Group__5
+ {
+ pushFollow(FOLLOW_rule__Definition__Group__4__Impl_in_rule__Definition__Group__41813);
+ rule__Definition__Group__4__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group__5_in_rule__Definition__Group__41816);
+ rule__Definition__Group__5();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__4"
+
+
+ // $ANTLR start "rule__Definition__Group__4__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:913:1: rule__Definition__Group__4__Impl : ( ( rule__Definition__ExprAssignment_4 ) ) ;
+ public final void rule__Definition__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:917:1: ( ( ( rule__Definition__ExprAssignment_4 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:918:1: ( ( rule__Definition__ExprAssignment_4 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:918:1: ( ( rule__Definition__ExprAssignment_4 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:919:1: ( rule__Definition__ExprAssignment_4 )
+ {
+ before(grammarAccess.getDefinitionAccess().getExprAssignment_4());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:920:1: ( rule__Definition__ExprAssignment_4 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:920:2: rule__Definition__ExprAssignment_4
+ {
+ pushFollow(FOLLOW_rule__Definition__ExprAssignment_4_in_rule__Definition__Group__4__Impl1843);
+ rule__Definition__ExprAssignment_4();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDefinitionAccess().getExprAssignment_4());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__4__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group__5"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:930:1: rule__Definition__Group__5 : rule__Definition__Group__5__Impl ;
+ public final void rule__Definition__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:934:1: ( rule__Definition__Group__5__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:935:2: rule__Definition__Group__5__Impl
+ {
+ pushFollow(FOLLOW_rule__Definition__Group__5__Impl_in_rule__Definition__Group__51873);
+ rule__Definition__Group__5__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__5"
+
+
+ // $ANTLR start "rule__Definition__Group__5__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:941:1: rule__Definition__Group__5__Impl : ( ';' ) ;
+ public final void rule__Definition__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:945:1: ( ( ';' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:946:1: ( ';' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:946:1: ( ';' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:947:1: ';'
+ {
+ before(grammarAccess.getDefinitionAccess().getSemicolonKeyword_5());
+ match(input,18,FOLLOW_18_in_rule__Definition__Group__5__Impl1901);
+ after(grammarAccess.getDefinitionAccess().getSemicolonKeyword_5());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group__5__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group_2__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:972:1: rule__Definition__Group_2__0 : rule__Definition__Group_2__0__Impl rule__Definition__Group_2__1 ;
+ public final void rule__Definition__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:976:1: ( rule__Definition__Group_2__0__Impl rule__Definition__Group_2__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:977:2: rule__Definition__Group_2__0__Impl rule__Definition__Group_2__1
+ {
+ pushFollow(FOLLOW_rule__Definition__Group_2__0__Impl_in_rule__Definition__Group_2__01944);
+ rule__Definition__Group_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group_2__1_in_rule__Definition__Group_2__01947);
+ rule__Definition__Group_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2__0"
+
+
+ // $ANTLR start "rule__Definition__Group_2__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:984:1: rule__Definition__Group_2__0__Impl : ( '(' ) ;
+ public final void rule__Definition__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:988:1: ( ( '(' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:989:1: ( '(' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:989:1: ( '(' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:990:1: '('
+ {
+ before(grammarAccess.getDefinitionAccess().getLeftParenthesisKeyword_2_0());
+ match(input,19,FOLLOW_19_in_rule__Definition__Group_2__0__Impl1975);
+ after(grammarAccess.getDefinitionAccess().getLeftParenthesisKeyword_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group_2__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1003:1: rule__Definition__Group_2__1 : rule__Definition__Group_2__1__Impl rule__Definition__Group_2__2 ;
+ public final void rule__Definition__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1007:1: ( rule__Definition__Group_2__1__Impl rule__Definition__Group_2__2 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1008:2: rule__Definition__Group_2__1__Impl rule__Definition__Group_2__2
+ {
+ pushFollow(FOLLOW_rule__Definition__Group_2__1__Impl_in_rule__Definition__Group_2__12006);
+ rule__Definition__Group_2__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group_2__2_in_rule__Definition__Group_2__12009);
+ rule__Definition__Group_2__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2__1"
+
+
+ // $ANTLR start "rule__Definition__Group_2__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1015:1: rule__Definition__Group_2__1__Impl : ( ( rule__Definition__ArgsAssignment_2_1 ) ) ;
+ public final void rule__Definition__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1019:1: ( ( ( rule__Definition__ArgsAssignment_2_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1020:1: ( ( rule__Definition__ArgsAssignment_2_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1020:1: ( ( rule__Definition__ArgsAssignment_2_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1021:1: ( rule__Definition__ArgsAssignment_2_1 )
+ {
+ before(grammarAccess.getDefinitionAccess().getArgsAssignment_2_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1022:1: ( rule__Definition__ArgsAssignment_2_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1022:2: rule__Definition__ArgsAssignment_2_1
+ {
+ pushFollow(FOLLOW_rule__Definition__ArgsAssignment_2_1_in_rule__Definition__Group_2__1__Impl2036);
+ rule__Definition__ArgsAssignment_2_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDefinitionAccess().getArgsAssignment_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group_2__2"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1032:1: rule__Definition__Group_2__2 : rule__Definition__Group_2__2__Impl rule__Definition__Group_2__3 ;
+ public final void rule__Definition__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1036:1: ( rule__Definition__Group_2__2__Impl rule__Definition__Group_2__3 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1037:2: rule__Definition__Group_2__2__Impl rule__Definition__Group_2__3
+ {
+ pushFollow(FOLLOW_rule__Definition__Group_2__2__Impl_in_rule__Definition__Group_2__22066);
+ rule__Definition__Group_2__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group_2__3_in_rule__Definition__Group_2__22069);
+ rule__Definition__Group_2__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2__2"
+
+
+ // $ANTLR start "rule__Definition__Group_2__2__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1044:1: rule__Definition__Group_2__2__Impl : ( ( rule__Definition__Group_2_2__0 )* ) ;
+ public final void rule__Definition__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1048:1: ( ( ( rule__Definition__Group_2_2__0 )* ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1049:1: ( ( rule__Definition__Group_2_2__0 )* )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1049:1: ( ( rule__Definition__Group_2_2__0 )* )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1050:1: ( rule__Definition__Group_2_2__0 )*
+ {
+ before(grammarAccess.getDefinitionAccess().getGroup_2_2());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1051:1: ( rule__Definition__Group_2_2__0 )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==21) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1051:2: rule__Definition__Group_2_2__0
+ {
+ pushFollow(FOLLOW_rule__Definition__Group_2_2__0_in_rule__Definition__Group_2__2__Impl2096);
+ rule__Definition__Group_2_2__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+ after(grammarAccess.getDefinitionAccess().getGroup_2_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group_2__3"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1061:1: rule__Definition__Group_2__3 : rule__Definition__Group_2__3__Impl ;
+ public final void rule__Definition__Group_2__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1065:1: ( rule__Definition__Group_2__3__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1066:2: rule__Definition__Group_2__3__Impl
+ {
+ pushFollow(FOLLOW_rule__Definition__Group_2__3__Impl_in_rule__Definition__Group_2__32127);
+ rule__Definition__Group_2__3__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2__3"
+
+
+ // $ANTLR start "rule__Definition__Group_2__3__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1072:1: rule__Definition__Group_2__3__Impl : ( ')' ) ;
+ public final void rule__Definition__Group_2__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1076:1: ( ( ')' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1077:1: ( ')' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1077:1: ( ')' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1078:1: ')'
+ {
+ before(grammarAccess.getDefinitionAccess().getRightParenthesisKeyword_2_3());
+ match(input,20,FOLLOW_20_in_rule__Definition__Group_2__3__Impl2155);
+ after(grammarAccess.getDefinitionAccess().getRightParenthesisKeyword_2_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2__3__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group_2_2__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1099:1: rule__Definition__Group_2_2__0 : rule__Definition__Group_2_2__0__Impl rule__Definition__Group_2_2__1 ;
+ public final void rule__Definition__Group_2_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1103:1: ( rule__Definition__Group_2_2__0__Impl rule__Definition__Group_2_2__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1104:2: rule__Definition__Group_2_2__0__Impl rule__Definition__Group_2_2__1
+ {
+ pushFollow(FOLLOW_rule__Definition__Group_2_2__0__Impl_in_rule__Definition__Group_2_2__02194);
+ rule__Definition__Group_2_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Definition__Group_2_2__1_in_rule__Definition__Group_2_2__02197);
+ rule__Definition__Group_2_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2_2__0"
+
+
+ // $ANTLR start "rule__Definition__Group_2_2__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1111:1: rule__Definition__Group_2_2__0__Impl : ( ',' ) ;
+ public final void rule__Definition__Group_2_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1115:1: ( ( ',' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1116:1: ( ',' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1116:1: ( ',' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1117:1: ','
+ {
+ before(grammarAccess.getDefinitionAccess().getCommaKeyword_2_2_0());
+ match(input,21,FOLLOW_21_in_rule__Definition__Group_2_2__0__Impl2225);
+ after(grammarAccess.getDefinitionAccess().getCommaKeyword_2_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2_2__0__Impl"
+
+
+ // $ANTLR start "rule__Definition__Group_2_2__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1130:1: rule__Definition__Group_2_2__1 : rule__Definition__Group_2_2__1__Impl ;
+ public final void rule__Definition__Group_2_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1134:1: ( rule__Definition__Group_2_2__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1135:2: rule__Definition__Group_2_2__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Definition__Group_2_2__1__Impl_in_rule__Definition__Group_2_2__12256);
+ rule__Definition__Group_2_2__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2_2__1"
+
+
+ // $ANTLR start "rule__Definition__Group_2_2__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1141:1: rule__Definition__Group_2_2__1__Impl : ( ( rule__Definition__ArgsAssignment_2_2_1 ) ) ;
+ public final void rule__Definition__Group_2_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1145:1: ( ( ( rule__Definition__ArgsAssignment_2_2_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1146:1: ( ( rule__Definition__ArgsAssignment_2_2_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1146:1: ( ( rule__Definition__ArgsAssignment_2_2_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1147:1: ( rule__Definition__ArgsAssignment_2_2_1 )
+ {
+ before(grammarAccess.getDefinitionAccess().getArgsAssignment_2_2_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1148:1: ( rule__Definition__ArgsAssignment_2_2_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1148:2: rule__Definition__ArgsAssignment_2_2_1
+ {
+ pushFollow(FOLLOW_rule__Definition__ArgsAssignment_2_2_1_in_rule__Definition__Group_2_2__1__Impl2283);
+ rule__Definition__ArgsAssignment_2_2_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDefinitionAccess().getArgsAssignment_2_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__Group_2_2__1__Impl"
+
+
+ // $ANTLR start "rule__Evaluation__Group__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1162:1: rule__Evaluation__Group__0 : rule__Evaluation__Group__0__Impl rule__Evaluation__Group__1 ;
+ public final void rule__Evaluation__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1166:1: ( rule__Evaluation__Group__0__Impl rule__Evaluation__Group__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1167:2: rule__Evaluation__Group__0__Impl rule__Evaluation__Group__1
+ {
+ pushFollow(FOLLOW_rule__Evaluation__Group__0__Impl_in_rule__Evaluation__Group__02317);
+ rule__Evaluation__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Evaluation__Group__1_in_rule__Evaluation__Group__02320);
+ rule__Evaluation__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Evaluation__Group__0"
+
+
+ // $ANTLR start "rule__Evaluation__Group__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1174:1: rule__Evaluation__Group__0__Impl : ( ( rule__Evaluation__ExpressionAssignment_0 ) ) ;
+ public final void rule__Evaluation__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1178:1: ( ( ( rule__Evaluation__ExpressionAssignment_0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1179:1: ( ( rule__Evaluation__ExpressionAssignment_0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1179:1: ( ( rule__Evaluation__ExpressionAssignment_0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1180:1: ( rule__Evaluation__ExpressionAssignment_0 )
+ {
+ before(grammarAccess.getEvaluationAccess().getExpressionAssignment_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1181:1: ( rule__Evaluation__ExpressionAssignment_0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1181:2: rule__Evaluation__ExpressionAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Evaluation__ExpressionAssignment_0_in_rule__Evaluation__Group__0__Impl2347);
+ rule__Evaluation__ExpressionAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getEvaluationAccess().getExpressionAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Evaluation__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Evaluation__Group__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1191:1: rule__Evaluation__Group__1 : rule__Evaluation__Group__1__Impl ;
+ public final void rule__Evaluation__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1195:1: ( rule__Evaluation__Group__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1196:2: rule__Evaluation__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Evaluation__Group__1__Impl_in_rule__Evaluation__Group__12377);
+ rule__Evaluation__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Evaluation__Group__1"
+
+
+ // $ANTLR start "rule__Evaluation__Group__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1202:1: rule__Evaluation__Group__1__Impl : ( ';' ) ;
+ public final void rule__Evaluation__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1206:1: ( ( ';' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1207:1: ( ';' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1207:1: ( ';' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1208:1: ';'
+ {
+ before(grammarAccess.getEvaluationAccess().getSemicolonKeyword_1());
+ match(input,18,FOLLOW_18_in_rule__Evaluation__Group__1__Impl2405);
+ after(grammarAccess.getEvaluationAccess().getSemicolonKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Evaluation__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Addition__Group__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1225:1: rule__Addition__Group__0 : rule__Addition__Group__0__Impl rule__Addition__Group__1 ;
+ public final void rule__Addition__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1229:1: ( rule__Addition__Group__0__Impl rule__Addition__Group__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1230:2: rule__Addition__Group__0__Impl rule__Addition__Group__1
+ {
+ pushFollow(FOLLOW_rule__Addition__Group__0__Impl_in_rule__Addition__Group__02440);
+ rule__Addition__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Addition__Group__1_in_rule__Addition__Group__02443);
+ rule__Addition__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group__0"
+
+
+ // $ANTLR start "rule__Addition__Group__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1237:1: rule__Addition__Group__0__Impl : ( ruleMultiplication ) ;
+ public final void rule__Addition__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1241:1: ( ( ruleMultiplication ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1242:1: ( ruleMultiplication )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1242:1: ( ruleMultiplication )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1243:1: ruleMultiplication
+ {
+ before(grammarAccess.getAdditionAccess().getMultiplicationParserRuleCall_0());
+ pushFollow(FOLLOW_ruleMultiplication_in_rule__Addition__Group__0__Impl2470);
+ ruleMultiplication();
+
+ state._fsp--;
+
+ after(grammarAccess.getAdditionAccess().getMultiplicationParserRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Addition__Group__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1254:1: rule__Addition__Group__1 : rule__Addition__Group__1__Impl ;
+ public final void rule__Addition__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1258:1: ( rule__Addition__Group__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1259:2: rule__Addition__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Addition__Group__1__Impl_in_rule__Addition__Group__12499);
+ rule__Addition__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group__1"
+
+
+ // $ANTLR start "rule__Addition__Group__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1265:1: rule__Addition__Group__1__Impl : ( ( rule__Addition__Group_1__0 )* ) ;
+ public final void rule__Addition__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1269:1: ( ( ( rule__Addition__Group_1__0 )* ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1270:1: ( ( rule__Addition__Group_1__0 )* )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1270:1: ( ( rule__Addition__Group_1__0 )* )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1271:1: ( rule__Addition__Group_1__0 )*
+ {
+ before(grammarAccess.getAdditionAccess().getGroup_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1272:1: ( rule__Addition__Group_1__0 )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>=22 && LA10_0<=23)) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1272:2: rule__Addition__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1__0_in_rule__Addition__Group__1__Impl2526);
+ rule__Addition__Group_1__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop10;
+ }
+ } while (true);
+
+ after(grammarAccess.getAdditionAccess().getGroup_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Addition__Group_1__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1286:1: rule__Addition__Group_1__0 : rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1 ;
+ public final void rule__Addition__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1290:1: ( rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1291:2: rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1__0__Impl_in_rule__Addition__Group_1__02561);
+ rule__Addition__Group_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Addition__Group_1__1_in_rule__Addition__Group_1__02564);
+ rule__Addition__Group_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1__0"
+
+
+ // $ANTLR start "rule__Addition__Group_1__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1298:1: rule__Addition__Group_1__0__Impl : ( ( rule__Addition__Alternatives_1_0 ) ) ;
+ public final void rule__Addition__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1302:1: ( ( ( rule__Addition__Alternatives_1_0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1303:1: ( ( rule__Addition__Alternatives_1_0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1303:1: ( ( rule__Addition__Alternatives_1_0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1304:1: ( rule__Addition__Alternatives_1_0 )
+ {
+ before(grammarAccess.getAdditionAccess().getAlternatives_1_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1305:1: ( rule__Addition__Alternatives_1_0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1305:2: rule__Addition__Alternatives_1_0
+ {
+ pushFollow(FOLLOW_rule__Addition__Alternatives_1_0_in_rule__Addition__Group_1__0__Impl2591);
+ rule__Addition__Alternatives_1_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAdditionAccess().getAlternatives_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__Addition__Group_1__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1315:1: rule__Addition__Group_1__1 : rule__Addition__Group_1__1__Impl ;
+ public final void rule__Addition__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1319:1: ( rule__Addition__Group_1__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1320:2: rule__Addition__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1__1__Impl_in_rule__Addition__Group_1__12621);
+ rule__Addition__Group_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1__1"
+
+
+ // $ANTLR start "rule__Addition__Group_1__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1326:1: rule__Addition__Group_1__1__Impl : ( ( rule__Addition__RightAssignment_1_1 ) ) ;
+ public final void rule__Addition__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1330:1: ( ( ( rule__Addition__RightAssignment_1_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1331:1: ( ( rule__Addition__RightAssignment_1_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1331:1: ( ( rule__Addition__RightAssignment_1_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1332:1: ( rule__Addition__RightAssignment_1_1 )
+ {
+ before(grammarAccess.getAdditionAccess().getRightAssignment_1_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1333:1: ( rule__Addition__RightAssignment_1_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1333:2: rule__Addition__RightAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__Addition__RightAssignment_1_1_in_rule__Addition__Group_1__1__Impl2648);
+ rule__Addition__RightAssignment_1_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAdditionAccess().getRightAssignment_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__Addition__Group_1_0_0__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1347:1: rule__Addition__Group_1_0_0__0 : rule__Addition__Group_1_0_0__0__Impl rule__Addition__Group_1_0_0__1 ;
+ public final void rule__Addition__Group_1_0_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1351:1: ( rule__Addition__Group_1_0_0__0__Impl rule__Addition__Group_1_0_0__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1352:2: rule__Addition__Group_1_0_0__0__Impl rule__Addition__Group_1_0_0__1
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1_0_0__0__Impl_in_rule__Addition__Group_1_0_0__02682);
+ rule__Addition__Group_1_0_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Addition__Group_1_0_0__1_in_rule__Addition__Group_1_0_0__02685);
+ rule__Addition__Group_1_0_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1_0_0__0"
+
+
+ // $ANTLR start "rule__Addition__Group_1_0_0__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1359:1: rule__Addition__Group_1_0_0__0__Impl : ( () ) ;
+ public final void rule__Addition__Group_1_0_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1363:1: ( ( () ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1364:1: ( () )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1364:1: ( () )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1365:1: ()
+ {
+ before(grammarAccess.getAdditionAccess().getPlusLeftAction_1_0_0_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1366:1: ()
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1368:1:
+ {
+ }
+
+ after(grammarAccess.getAdditionAccess().getPlusLeftAction_1_0_0_0());
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1_0_0__0__Impl"
+
+
+ // $ANTLR start "rule__Addition__Group_1_0_0__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1378:1: rule__Addition__Group_1_0_0__1 : rule__Addition__Group_1_0_0__1__Impl ;
+ public final void rule__Addition__Group_1_0_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1382:1: ( rule__Addition__Group_1_0_0__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1383:2: rule__Addition__Group_1_0_0__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1_0_0__1__Impl_in_rule__Addition__Group_1_0_0__12743);
+ rule__Addition__Group_1_0_0__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1_0_0__1"
+
+
+ // $ANTLR start "rule__Addition__Group_1_0_0__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1389:1: rule__Addition__Group_1_0_0__1__Impl : ( '+' ) ;
+ public final void rule__Addition__Group_1_0_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1393:1: ( ( '+' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1394:1: ( '+' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1394:1: ( '+' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1395:1: '+'
+ {
+ before(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_0_0_1());
+ match(input,22,FOLLOW_22_in_rule__Addition__Group_1_0_0__1__Impl2771);
+ after(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_0_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1_0_0__1__Impl"
+
+
+ // $ANTLR start "rule__Addition__Group_1_0_1__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1412:1: rule__Addition__Group_1_0_1__0 : rule__Addition__Group_1_0_1__0__Impl rule__Addition__Group_1_0_1__1 ;
+ public final void rule__Addition__Group_1_0_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1416:1: ( rule__Addition__Group_1_0_1__0__Impl rule__Addition__Group_1_0_1__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1417:2: rule__Addition__Group_1_0_1__0__Impl rule__Addition__Group_1_0_1__1
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1_0_1__0__Impl_in_rule__Addition__Group_1_0_1__02806);
+ rule__Addition__Group_1_0_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Addition__Group_1_0_1__1_in_rule__Addition__Group_1_0_1__02809);
+ rule__Addition__Group_1_0_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1_0_1__0"
+
+
+ // $ANTLR start "rule__Addition__Group_1_0_1__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1424:1: rule__Addition__Group_1_0_1__0__Impl : ( () ) ;
+ public final void rule__Addition__Group_1_0_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1428:1: ( ( () ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1429:1: ( () )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1429:1: ( () )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1430:1: ()
+ {
+ before(grammarAccess.getAdditionAccess().getMinusLeftAction_1_0_1_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1431:1: ()
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1433:1:
+ {
+ }
+
+ after(grammarAccess.getAdditionAccess().getMinusLeftAction_1_0_1_0());
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1_0_1__0__Impl"
+
+
+ // $ANTLR start "rule__Addition__Group_1_0_1__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1443:1: rule__Addition__Group_1_0_1__1 : rule__Addition__Group_1_0_1__1__Impl ;
+ public final void rule__Addition__Group_1_0_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1447:1: ( rule__Addition__Group_1_0_1__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1448:2: rule__Addition__Group_1_0_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Addition__Group_1_0_1__1__Impl_in_rule__Addition__Group_1_0_1__12867);
+ rule__Addition__Group_1_0_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1_0_1__1"
+
+
+ // $ANTLR start "rule__Addition__Group_1_0_1__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1454:1: rule__Addition__Group_1_0_1__1__Impl : ( '-' ) ;
+ public final void rule__Addition__Group_1_0_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1458:1: ( ( '-' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1459:1: ( '-' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1459:1: ( '-' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1460:1: '-'
+ {
+ before(grammarAccess.getAdditionAccess().getHyphenMinusKeyword_1_0_1_1());
+ match(input,23,FOLLOW_23_in_rule__Addition__Group_1_0_1__1__Impl2895);
+ after(grammarAccess.getAdditionAccess().getHyphenMinusKeyword_1_0_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__Group_1_0_1__1__Impl"
+
+
+ // $ANTLR start "rule__Multiplication__Group__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1477:1: rule__Multiplication__Group__0 : rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 ;
+ public final void rule__Multiplication__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1481:1: ( rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1482:2: rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group__0__Impl_in_rule__Multiplication__Group__02930);
+ rule__Multiplication__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Multiplication__Group__1_in_rule__Multiplication__Group__02933);
+ rule__Multiplication__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group__0"
+
+
+ // $ANTLR start "rule__Multiplication__Group__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1489:1: rule__Multiplication__Group__0__Impl : ( rulePrimaryExpression ) ;
+ public final void rule__Multiplication__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1493:1: ( ( rulePrimaryExpression ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1494:1: ( rulePrimaryExpression )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1494:1: ( rulePrimaryExpression )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1495:1: rulePrimaryExpression
+ {
+ before(grammarAccess.getMultiplicationAccess().getPrimaryExpressionParserRuleCall_0());
+ pushFollow(FOLLOW_rulePrimaryExpression_in_rule__Multiplication__Group__0__Impl2960);
+ rulePrimaryExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getMultiplicationAccess().getPrimaryExpressionParserRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Multiplication__Group__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1506:1: rule__Multiplication__Group__1 : rule__Multiplication__Group__1__Impl ;
+ public final void rule__Multiplication__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1510:1: ( rule__Multiplication__Group__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1511:2: rule__Multiplication__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group__1__Impl_in_rule__Multiplication__Group__12989);
+ rule__Multiplication__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group__1"
+
+
+ // $ANTLR start "rule__Multiplication__Group__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1517:1: rule__Multiplication__Group__1__Impl : ( ( rule__Multiplication__Group_1__0 )* ) ;
+ public final void rule__Multiplication__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1521:1: ( ( ( rule__Multiplication__Group_1__0 )* ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1522:1: ( ( rule__Multiplication__Group_1__0 )* )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1522:1: ( ( rule__Multiplication__Group_1__0 )* )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1523:1: ( rule__Multiplication__Group_1__0 )*
+ {
+ before(grammarAccess.getMultiplicationAccess().getGroup_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1524:1: ( rule__Multiplication__Group_1__0 )*
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==15||LA11_0==24) ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1524:2: rule__Multiplication__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1__0_in_rule__Multiplication__Group__1__Impl3016);
+ rule__Multiplication__Group_1__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop11;
+ }
+ } while (true);
+
+ after(grammarAccess.getMultiplicationAccess().getGroup_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1538:1: rule__Multiplication__Group_1__0 : rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1 ;
+ public final void rule__Multiplication__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1542:1: ( rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1543:2: rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1__0__Impl_in_rule__Multiplication__Group_1__03051);
+ rule__Multiplication__Group_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Multiplication__Group_1__1_in_rule__Multiplication__Group_1__03054);
+ rule__Multiplication__Group_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1__0"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1550:1: rule__Multiplication__Group_1__0__Impl : ( ( rule__Multiplication__Alternatives_1_0 ) ) ;
+ public final void rule__Multiplication__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1554:1: ( ( ( rule__Multiplication__Alternatives_1_0 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1555:1: ( ( rule__Multiplication__Alternatives_1_0 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1555:1: ( ( rule__Multiplication__Alternatives_1_0 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1556:1: ( rule__Multiplication__Alternatives_1_0 )
+ {
+ before(grammarAccess.getMultiplicationAccess().getAlternatives_1_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1557:1: ( rule__Multiplication__Alternatives_1_0 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1557:2: rule__Multiplication__Alternatives_1_0
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Alternatives_1_0_in_rule__Multiplication__Group_1__0__Impl3081);
+ rule__Multiplication__Alternatives_1_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMultiplicationAccess().getAlternatives_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1567:1: rule__Multiplication__Group_1__1 : rule__Multiplication__Group_1__1__Impl ;
+ public final void rule__Multiplication__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1571:1: ( rule__Multiplication__Group_1__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1572:2: rule__Multiplication__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1__1__Impl_in_rule__Multiplication__Group_1__13111);
+ rule__Multiplication__Group_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1__1"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1578:1: rule__Multiplication__Group_1__1__Impl : ( ( rule__Multiplication__RightAssignment_1_1 ) ) ;
+ public final void rule__Multiplication__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1582:1: ( ( ( rule__Multiplication__RightAssignment_1_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1583:1: ( ( rule__Multiplication__RightAssignment_1_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1583:1: ( ( rule__Multiplication__RightAssignment_1_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1584:1: ( rule__Multiplication__RightAssignment_1_1 )
+ {
+ before(grammarAccess.getMultiplicationAccess().getRightAssignment_1_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1585:1: ( rule__Multiplication__RightAssignment_1_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1585:2: rule__Multiplication__RightAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__Multiplication__RightAssignment_1_1_in_rule__Multiplication__Group_1__1__Impl3138);
+ rule__Multiplication__RightAssignment_1_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMultiplicationAccess().getRightAssignment_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1_0_0__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1599:1: rule__Multiplication__Group_1_0_0__0 : rule__Multiplication__Group_1_0_0__0__Impl rule__Multiplication__Group_1_0_0__1 ;
+ public final void rule__Multiplication__Group_1_0_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1603:1: ( rule__Multiplication__Group_1_0_0__0__Impl rule__Multiplication__Group_1_0_0__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1604:2: rule__Multiplication__Group_1_0_0__0__Impl rule__Multiplication__Group_1_0_0__1
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1_0_0__0__Impl_in_rule__Multiplication__Group_1_0_0__03172);
+ rule__Multiplication__Group_1_0_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Multiplication__Group_1_0_0__1_in_rule__Multiplication__Group_1_0_0__03175);
+ rule__Multiplication__Group_1_0_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1_0_0__0"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1_0_0__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1611:1: rule__Multiplication__Group_1_0_0__0__Impl : ( () ) ;
+ public final void rule__Multiplication__Group_1_0_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1615:1: ( ( () ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1616:1: ( () )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1616:1: ( () )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1617:1: ()
+ {
+ before(grammarAccess.getMultiplicationAccess().getMultiLeftAction_1_0_0_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1618:1: ()
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1620:1:
+ {
+ }
+
+ after(grammarAccess.getMultiplicationAccess().getMultiLeftAction_1_0_0_0());
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1_0_0__0__Impl"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1_0_0__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1630:1: rule__Multiplication__Group_1_0_0__1 : rule__Multiplication__Group_1_0_0__1__Impl ;
+ public final void rule__Multiplication__Group_1_0_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1634:1: ( rule__Multiplication__Group_1_0_0__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1635:2: rule__Multiplication__Group_1_0_0__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1_0_0__1__Impl_in_rule__Multiplication__Group_1_0_0__13233);
+ rule__Multiplication__Group_1_0_0__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1_0_0__1"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1_0_0__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1641:1: rule__Multiplication__Group_1_0_0__1__Impl : ( '*' ) ;
+ public final void rule__Multiplication__Group_1_0_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1645:1: ( ( '*' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1646:1: ( '*' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1646:1: ( '*' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1647:1: '*'
+ {
+ before(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_0_0_1());
+ match(input,15,FOLLOW_15_in_rule__Multiplication__Group_1_0_0__1__Impl3261);
+ after(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_0_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1_0_0__1__Impl"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1_0_1__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1664:1: rule__Multiplication__Group_1_0_1__0 : rule__Multiplication__Group_1_0_1__0__Impl rule__Multiplication__Group_1_0_1__1 ;
+ public final void rule__Multiplication__Group_1_0_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1668:1: ( rule__Multiplication__Group_1_0_1__0__Impl rule__Multiplication__Group_1_0_1__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1669:2: rule__Multiplication__Group_1_0_1__0__Impl rule__Multiplication__Group_1_0_1__1
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1_0_1__0__Impl_in_rule__Multiplication__Group_1_0_1__03296);
+ rule__Multiplication__Group_1_0_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Multiplication__Group_1_0_1__1_in_rule__Multiplication__Group_1_0_1__03299);
+ rule__Multiplication__Group_1_0_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1_0_1__0"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1_0_1__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1676:1: rule__Multiplication__Group_1_0_1__0__Impl : ( () ) ;
+ public final void rule__Multiplication__Group_1_0_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1680:1: ( ( () ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1681:1: ( () )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1681:1: ( () )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1682:1: ()
+ {
+ before(grammarAccess.getMultiplicationAccess().getDivLeftAction_1_0_1_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1683:1: ()
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1685:1:
+ {
+ }
+
+ after(grammarAccess.getMultiplicationAccess().getDivLeftAction_1_0_1_0());
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1_0_1__0__Impl"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1_0_1__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1695:1: rule__Multiplication__Group_1_0_1__1 : rule__Multiplication__Group_1_0_1__1__Impl ;
+ public final void rule__Multiplication__Group_1_0_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1699:1: ( rule__Multiplication__Group_1_0_1__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1700:2: rule__Multiplication__Group_1_0_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Multiplication__Group_1_0_1__1__Impl_in_rule__Multiplication__Group_1_0_1__13357);
+ rule__Multiplication__Group_1_0_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1_0_1__1"
+
+
+ // $ANTLR start "rule__Multiplication__Group_1_0_1__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1706:1: rule__Multiplication__Group_1_0_1__1__Impl : ( '/' ) ;
+ public final void rule__Multiplication__Group_1_0_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1710:1: ( ( '/' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1711:1: ( '/' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1711:1: ( '/' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1712:1: '/'
+ {
+ before(grammarAccess.getMultiplicationAccess().getSolidusKeyword_1_0_1_1());
+ match(input,24,FOLLOW_24_in_rule__Multiplication__Group_1_0_1__1__Impl3385);
+ after(grammarAccess.getMultiplicationAccess().getSolidusKeyword_1_0_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__Group_1_0_1__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_0__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1729:1: rule__PrimaryExpression__Group_0__0 : rule__PrimaryExpression__Group_0__0__Impl rule__PrimaryExpression__Group_0__1 ;
+ public final void rule__PrimaryExpression__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1733:1: ( rule__PrimaryExpression__Group_0__0__Impl rule__PrimaryExpression__Group_0__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1734:2: rule__PrimaryExpression__Group_0__0__Impl rule__PrimaryExpression__Group_0__1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_0__0__Impl_in_rule__PrimaryExpression__Group_0__03420);
+ rule__PrimaryExpression__Group_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_0__1_in_rule__PrimaryExpression__Group_0__03423);
+ rule__PrimaryExpression__Group_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_0__0"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_0__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1741:1: rule__PrimaryExpression__Group_0__0__Impl : ( '(' ) ;
+ public final void rule__PrimaryExpression__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1745:1: ( ( '(' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1746:1: ( '(' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1746:1: ( '(' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1747:1: '('
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_0_0());
+ match(input,19,FOLLOW_19_in_rule__PrimaryExpression__Group_0__0__Impl3451);
+ after(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_0__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1760:1: rule__PrimaryExpression__Group_0__1 : rule__PrimaryExpression__Group_0__1__Impl rule__PrimaryExpression__Group_0__2 ;
+ public final void rule__PrimaryExpression__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1764:1: ( rule__PrimaryExpression__Group_0__1__Impl rule__PrimaryExpression__Group_0__2 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1765:2: rule__PrimaryExpression__Group_0__1__Impl rule__PrimaryExpression__Group_0__2
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_0__1__Impl_in_rule__PrimaryExpression__Group_0__13482);
+ rule__PrimaryExpression__Group_0__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_0__2_in_rule__PrimaryExpression__Group_0__13485);
+ rule__PrimaryExpression__Group_0__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_0__1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_0__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1772:1: rule__PrimaryExpression__Group_0__1__Impl : ( ruleExpression ) ;
+ public final void rule__PrimaryExpression__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1776:1: ( ( ruleExpression ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1777:1: ( ruleExpression )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1777:1: ( ruleExpression )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1778:1: ruleExpression
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getExpressionParserRuleCall_0_1());
+ pushFollow(FOLLOW_ruleExpression_in_rule__PrimaryExpression__Group_0__1__Impl3512);
+ ruleExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getPrimaryExpressionAccess().getExpressionParserRuleCall_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_0__2"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1789:1: rule__PrimaryExpression__Group_0__2 : rule__PrimaryExpression__Group_0__2__Impl ;
+ public final void rule__PrimaryExpression__Group_0__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1793:1: ( rule__PrimaryExpression__Group_0__2__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1794:2: rule__PrimaryExpression__Group_0__2__Impl
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_0__2__Impl_in_rule__PrimaryExpression__Group_0__23541);
+ rule__PrimaryExpression__Group_0__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_0__2"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_0__2__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1800:1: rule__PrimaryExpression__Group_0__2__Impl : ( ')' ) ;
+ public final void rule__PrimaryExpression__Group_0__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1804:1: ( ( ')' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1805:1: ( ')' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1805:1: ( ')' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1806:1: ')'
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_0_2());
+ match(input,20,FOLLOW_20_in_rule__PrimaryExpression__Group_0__2__Impl3569);
+ after(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_0_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_0__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_1__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1825:1: rule__PrimaryExpression__Group_1__0 : rule__PrimaryExpression__Group_1__0__Impl rule__PrimaryExpression__Group_1__1 ;
+ public final void rule__PrimaryExpression__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1829:1: ( rule__PrimaryExpression__Group_1__0__Impl rule__PrimaryExpression__Group_1__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1830:2: rule__PrimaryExpression__Group_1__0__Impl rule__PrimaryExpression__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_1__0__Impl_in_rule__PrimaryExpression__Group_1__03606);
+ rule__PrimaryExpression__Group_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_1__1_in_rule__PrimaryExpression__Group_1__03609);
+ rule__PrimaryExpression__Group_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_1__0"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_1__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1837:1: rule__PrimaryExpression__Group_1__0__Impl : ( () ) ;
+ public final void rule__PrimaryExpression__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1841:1: ( ( () ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1842:1: ( () )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1842:1: ( () )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1843:1: ()
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getNumberLiteralAction_1_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1844:1: ()
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1846:1:
+ {
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getNumberLiteralAction_1_0());
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_1__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1856:1: rule__PrimaryExpression__Group_1__1 : rule__PrimaryExpression__Group_1__1__Impl ;
+ public final void rule__PrimaryExpression__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1860:1: ( rule__PrimaryExpression__Group_1__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1861:2: rule__PrimaryExpression__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_1__1__Impl_in_rule__PrimaryExpression__Group_1__13667);
+ rule__PrimaryExpression__Group_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_1__1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_1__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1867:1: rule__PrimaryExpression__Group_1__1__Impl : ( ( rule__PrimaryExpression__ValueAssignment_1_1 ) ) ;
+ public final void rule__PrimaryExpression__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1871:1: ( ( ( rule__PrimaryExpression__ValueAssignment_1_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1872:1: ( ( rule__PrimaryExpression__ValueAssignment_1_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1872:1: ( ( rule__PrimaryExpression__ValueAssignment_1_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1873:1: ( rule__PrimaryExpression__ValueAssignment_1_1 )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getValueAssignment_1_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1874:1: ( rule__PrimaryExpression__ValueAssignment_1_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1874:2: rule__PrimaryExpression__ValueAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__ValueAssignment_1_1_in_rule__PrimaryExpression__Group_1__1__Impl3694);
+ rule__PrimaryExpression__ValueAssignment_1_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getValueAssignment_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1888:1: rule__PrimaryExpression__Group_2__0 : rule__PrimaryExpression__Group_2__0__Impl rule__PrimaryExpression__Group_2__1 ;
+ public final void rule__PrimaryExpression__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1892:1: ( rule__PrimaryExpression__Group_2__0__Impl rule__PrimaryExpression__Group_2__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1893:2: rule__PrimaryExpression__Group_2__0__Impl rule__PrimaryExpression__Group_2__1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2__0__Impl_in_rule__PrimaryExpression__Group_2__03728);
+ rule__PrimaryExpression__Group_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2__1_in_rule__PrimaryExpression__Group_2__03731);
+ rule__PrimaryExpression__Group_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2__0"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1900:1: rule__PrimaryExpression__Group_2__0__Impl : ( () ) ;
+ public final void rule__PrimaryExpression__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1904:1: ( ( () ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1905:1: ( () )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1905:1: ( () )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1906:1: ()
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getFunctionCallAction_2_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1907:1: ()
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1909:1:
+ {
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getFunctionCallAction_2_0());
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1919:1: rule__PrimaryExpression__Group_2__1 : rule__PrimaryExpression__Group_2__1__Impl rule__PrimaryExpression__Group_2__2 ;
+ public final void rule__PrimaryExpression__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1923:1: ( rule__PrimaryExpression__Group_2__1__Impl rule__PrimaryExpression__Group_2__2 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1924:2: rule__PrimaryExpression__Group_2__1__Impl rule__PrimaryExpression__Group_2__2
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2__1__Impl_in_rule__PrimaryExpression__Group_2__13789);
+ rule__PrimaryExpression__Group_2__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2__2_in_rule__PrimaryExpression__Group_2__13792);
+ rule__PrimaryExpression__Group_2__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2__1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1931:1: rule__PrimaryExpression__Group_2__1__Impl : ( ( rule__PrimaryExpression__FuncAssignment_2_1 ) ) ;
+ public final void rule__PrimaryExpression__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1935:1: ( ( ( rule__PrimaryExpression__FuncAssignment_2_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1936:1: ( ( rule__PrimaryExpression__FuncAssignment_2_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1936:1: ( ( rule__PrimaryExpression__FuncAssignment_2_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1937:1: ( rule__PrimaryExpression__FuncAssignment_2_1 )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getFuncAssignment_2_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1938:1: ( rule__PrimaryExpression__FuncAssignment_2_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1938:2: rule__PrimaryExpression__FuncAssignment_2_1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__FuncAssignment_2_1_in_rule__PrimaryExpression__Group_2__1__Impl3819);
+ rule__PrimaryExpression__FuncAssignment_2_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getFuncAssignment_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2__2"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1948:1: rule__PrimaryExpression__Group_2__2 : rule__PrimaryExpression__Group_2__2__Impl ;
+ public final void rule__PrimaryExpression__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1952:1: ( rule__PrimaryExpression__Group_2__2__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1953:2: rule__PrimaryExpression__Group_2__2__Impl
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2__2__Impl_in_rule__PrimaryExpression__Group_2__23849);
+ rule__PrimaryExpression__Group_2__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2__2"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2__2__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1959:1: rule__PrimaryExpression__Group_2__2__Impl : ( ( rule__PrimaryExpression__Group_2_2__0 )? ) ;
+ public final void rule__PrimaryExpression__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1963:1: ( ( ( rule__PrimaryExpression__Group_2_2__0 )? ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1964:1: ( ( rule__PrimaryExpression__Group_2_2__0 )? )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1964:1: ( ( rule__PrimaryExpression__Group_2_2__0 )? )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1965:1: ( rule__PrimaryExpression__Group_2_2__0 )?
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1966:1: ( rule__PrimaryExpression__Group_2_2__0 )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==19) ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1966:2: rule__PrimaryExpression__Group_2_2__0
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2__0_in_rule__PrimaryExpression__Group_2__2__Impl3876);
+ rule__PrimaryExpression__Group_2_2__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1982:1: rule__PrimaryExpression__Group_2_2__0 : rule__PrimaryExpression__Group_2_2__0__Impl rule__PrimaryExpression__Group_2_2__1 ;
+ public final void rule__PrimaryExpression__Group_2_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1986:1: ( rule__PrimaryExpression__Group_2_2__0__Impl rule__PrimaryExpression__Group_2_2__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1987:2: rule__PrimaryExpression__Group_2_2__0__Impl rule__PrimaryExpression__Group_2_2__1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2__0__Impl_in_rule__PrimaryExpression__Group_2_2__03913);
+ rule__PrimaryExpression__Group_2_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2__1_in_rule__PrimaryExpression__Group_2_2__03916);
+ rule__PrimaryExpression__Group_2_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2__0"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1994:1: rule__PrimaryExpression__Group_2_2__0__Impl : ( '(' ) ;
+ public final void rule__PrimaryExpression__Group_2_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1998:1: ( ( '(' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1999:1: ( '(' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:1999:1: ( '(' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2000:1: '('
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_2_2_0());
+ match(input,19,FOLLOW_19_in_rule__PrimaryExpression__Group_2_2__0__Impl3944);
+ after(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_2_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2013:1: rule__PrimaryExpression__Group_2_2__1 : rule__PrimaryExpression__Group_2_2__1__Impl rule__PrimaryExpression__Group_2_2__2 ;
+ public final void rule__PrimaryExpression__Group_2_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2017:1: ( rule__PrimaryExpression__Group_2_2__1__Impl rule__PrimaryExpression__Group_2_2__2 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2018:2: rule__PrimaryExpression__Group_2_2__1__Impl rule__PrimaryExpression__Group_2_2__2
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2__1__Impl_in_rule__PrimaryExpression__Group_2_2__13975);
+ rule__PrimaryExpression__Group_2_2__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2__2_in_rule__PrimaryExpression__Group_2_2__13978);
+ rule__PrimaryExpression__Group_2_2__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2__1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2025:1: rule__PrimaryExpression__Group_2_2__1__Impl : ( ( rule__PrimaryExpression__ArgsAssignment_2_2_1 ) ) ;
+ public final void rule__PrimaryExpression__Group_2_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2029:1: ( ( ( rule__PrimaryExpression__ArgsAssignment_2_2_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2030:1: ( ( rule__PrimaryExpression__ArgsAssignment_2_2_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2030:1: ( ( rule__PrimaryExpression__ArgsAssignment_2_2_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2031:1: ( rule__PrimaryExpression__ArgsAssignment_2_2_1 )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2032:1: ( rule__PrimaryExpression__ArgsAssignment_2_2_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2032:2: rule__PrimaryExpression__ArgsAssignment_2_2_1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__ArgsAssignment_2_2_1_in_rule__PrimaryExpression__Group_2_2__1__Impl4005);
+ rule__PrimaryExpression__ArgsAssignment_2_2_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2__1__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2__2"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2042:1: rule__PrimaryExpression__Group_2_2__2 : rule__PrimaryExpression__Group_2_2__2__Impl rule__PrimaryExpression__Group_2_2__3 ;
+ public final void rule__PrimaryExpression__Group_2_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2046:1: ( rule__PrimaryExpression__Group_2_2__2__Impl rule__PrimaryExpression__Group_2_2__3 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2047:2: rule__PrimaryExpression__Group_2_2__2__Impl rule__PrimaryExpression__Group_2_2__3
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2__2__Impl_in_rule__PrimaryExpression__Group_2_2__24035);
+ rule__PrimaryExpression__Group_2_2__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2__3_in_rule__PrimaryExpression__Group_2_2__24038);
+ rule__PrimaryExpression__Group_2_2__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2__2"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2__2__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2054:1: rule__PrimaryExpression__Group_2_2__2__Impl : ( ( rule__PrimaryExpression__Group_2_2_2__0 )* ) ;
+ public final void rule__PrimaryExpression__Group_2_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2058:1: ( ( ( rule__PrimaryExpression__Group_2_2_2__0 )* ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2059:1: ( ( rule__PrimaryExpression__Group_2_2_2__0 )* )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2059:1: ( ( rule__PrimaryExpression__Group_2_2_2__0 )* )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2060:1: ( rule__PrimaryExpression__Group_2_2_2__0 )*
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2_2());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2061:1: ( rule__PrimaryExpression__Group_2_2_2__0 )*
+ loop13:
+ do {
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==21) ) {
+ alt13=1;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2061:2: rule__PrimaryExpression__Group_2_2_2__0
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2_2__0_in_rule__PrimaryExpression__Group_2_2__2__Impl4065);
+ rule__PrimaryExpression__Group_2_2_2__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop13;
+ }
+ } while (true);
+
+ after(grammarAccess.getPrimaryExpressionAccess().getGroup_2_2_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2__2__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2__3"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2071:1: rule__PrimaryExpression__Group_2_2__3 : rule__PrimaryExpression__Group_2_2__3__Impl ;
+ public final void rule__PrimaryExpression__Group_2_2__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2075:1: ( rule__PrimaryExpression__Group_2_2__3__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2076:2: rule__PrimaryExpression__Group_2_2__3__Impl
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2__3__Impl_in_rule__PrimaryExpression__Group_2_2__34096);
+ rule__PrimaryExpression__Group_2_2__3__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2__3"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2__3__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2082:1: rule__PrimaryExpression__Group_2_2__3__Impl : ( ')' ) ;
+ public final void rule__PrimaryExpression__Group_2_2__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2086:1: ( ( ')' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2087:1: ( ')' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2087:1: ( ')' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2088:1: ')'
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_2_2_3());
+ match(input,20,FOLLOW_20_in_rule__PrimaryExpression__Group_2_2__3__Impl4124);
+ after(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_2_2_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2__3__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2_2__0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2109:1: rule__PrimaryExpression__Group_2_2_2__0 : rule__PrimaryExpression__Group_2_2_2__0__Impl rule__PrimaryExpression__Group_2_2_2__1 ;
+ public final void rule__PrimaryExpression__Group_2_2_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2113:1: ( rule__PrimaryExpression__Group_2_2_2__0__Impl rule__PrimaryExpression__Group_2_2_2__1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2114:2: rule__PrimaryExpression__Group_2_2_2__0__Impl rule__PrimaryExpression__Group_2_2_2__1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2_2__0__Impl_in_rule__PrimaryExpression__Group_2_2_2__04163);
+ rule__PrimaryExpression__Group_2_2_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2_2__1_in_rule__PrimaryExpression__Group_2_2_2__04166);
+ rule__PrimaryExpression__Group_2_2_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2_2__0"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2_2__0__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2121:1: rule__PrimaryExpression__Group_2_2_2__0__Impl : ( ',' ) ;
+ public final void rule__PrimaryExpression__Group_2_2_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2125:1: ( ( ',' ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2126:1: ( ',' )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2126:1: ( ',' )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2127:1: ','
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getCommaKeyword_2_2_2_0());
+ match(input,21,FOLLOW_21_in_rule__PrimaryExpression__Group_2_2_2__0__Impl4194);
+ after(grammarAccess.getPrimaryExpressionAccess().getCommaKeyword_2_2_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2_2__0__Impl"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2_2__1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2140:1: rule__PrimaryExpression__Group_2_2_2__1 : rule__PrimaryExpression__Group_2_2_2__1__Impl ;
+ public final void rule__PrimaryExpression__Group_2_2_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2144:1: ( rule__PrimaryExpression__Group_2_2_2__1__Impl )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2145:2: rule__PrimaryExpression__Group_2_2_2__1__Impl
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__Group_2_2_2__1__Impl_in_rule__PrimaryExpression__Group_2_2_2__14225);
+ rule__PrimaryExpression__Group_2_2_2__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2_2__1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__Group_2_2_2__1__Impl"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2151:1: rule__PrimaryExpression__Group_2_2_2__1__Impl : ( ( rule__PrimaryExpression__ArgsAssignment_2_2_2_1 ) ) ;
+ public final void rule__PrimaryExpression__Group_2_2_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2155:1: ( ( ( rule__PrimaryExpression__ArgsAssignment_2_2_2_1 ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2156:1: ( ( rule__PrimaryExpression__ArgsAssignment_2_2_2_1 ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2156:1: ( ( rule__PrimaryExpression__ArgsAssignment_2_2_2_1 ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2157:1: ( rule__PrimaryExpression__ArgsAssignment_2_2_2_1 )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_2_1());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2158:1: ( rule__PrimaryExpression__ArgsAssignment_2_2_2_1 )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2158:2: rule__PrimaryExpression__ArgsAssignment_2_2_2_1
+ {
+ pushFollow(FOLLOW_rule__PrimaryExpression__ArgsAssignment_2_2_2_1_in_rule__PrimaryExpression__Group_2_2_2__1__Impl4252);
+ rule__PrimaryExpression__ArgsAssignment_2_2_2_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getArgsAssignment_2_2_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__Group_2_2_2__1__Impl"
+
+
+ // $ANTLR start "rule__Module__NameAssignment_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2173:1: rule__Module__NameAssignment_1 : ( RULE_ID ) ;
+ public final void rule__Module__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2177:1: ( ( RULE_ID ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2178:1: ( RULE_ID )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2178:1: ( RULE_ID )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2179:1: RULE_ID
+ {
+ before(grammarAccess.getModuleAccess().getNameIDTerminalRuleCall_1_0());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Module__NameAssignment_14291);
+ after(grammarAccess.getModuleAccess().getNameIDTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__NameAssignment_1"
+
+
+ // $ANTLR start "rule__Module__ImportsAssignment_2"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2188:1: rule__Module__ImportsAssignment_2 : ( ruleImport ) ;
+ public final void rule__Module__ImportsAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2192:1: ( ( ruleImport ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2193:1: ( ruleImport )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2193:1: ( ruleImport )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2194:1: ruleImport
+ {
+ before(grammarAccess.getModuleAccess().getImportsImportParserRuleCall_2_0());
+ pushFollow(FOLLOW_ruleImport_in_rule__Module__ImportsAssignment_24322);
+ ruleImport();
+
+ state._fsp--;
+
+ after(grammarAccess.getModuleAccess().getImportsImportParserRuleCall_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__ImportsAssignment_2"
+
+
+ // $ANTLR start "rule__Module__StatementsAssignment_3"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2203:1: rule__Module__StatementsAssignment_3 : ( ruleStatement ) ;
+ public final void rule__Module__StatementsAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2207:1: ( ( ruleStatement ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2208:1: ( ruleStatement )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2208:1: ( ruleStatement )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2209:1: ruleStatement
+ {
+ before(grammarAccess.getModuleAccess().getStatementsStatementParserRuleCall_3_0());
+ pushFollow(FOLLOW_ruleStatement_in_rule__Module__StatementsAssignment_34353);
+ ruleStatement();
+
+ state._fsp--;
+
+ after(grammarAccess.getModuleAccess().getStatementsStatementParserRuleCall_3_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Module__StatementsAssignment_3"
+
+
+ // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2218:1: rule__Import__ImportedNamespaceAssignment_1 : ( ruleImportName ) ;
+ public final void rule__Import__ImportedNamespaceAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2222:1: ( ( ruleImportName ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2223:1: ( ruleImportName )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2223:1: ( ruleImportName )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2224:1: ruleImportName
+ {
+ before(grammarAccess.getImportAccess().getImportedNamespaceImportNameParserRuleCall_1_0());
+ pushFollow(FOLLOW_ruleImportName_in_rule__Import__ImportedNamespaceAssignment_14384);
+ ruleImportName();
+
+ state._fsp--;
+
+ after(grammarAccess.getImportAccess().getImportedNamespaceImportNameParserRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Import__ImportedNamespaceAssignment_1"
+
+
+ // $ANTLR start "rule__Definition__NameAssignment_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2233:1: rule__Definition__NameAssignment_1 : ( RULE_ID ) ;
+ public final void rule__Definition__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2237:1: ( ( RULE_ID ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2238:1: ( RULE_ID )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2238:1: ( RULE_ID )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2239:1: RULE_ID
+ {
+ before(grammarAccess.getDefinitionAccess().getNameIDTerminalRuleCall_1_0());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Definition__NameAssignment_14415);
+ after(grammarAccess.getDefinitionAccess().getNameIDTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__NameAssignment_1"
+
+
+ // $ANTLR start "rule__Definition__ArgsAssignment_2_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2248:1: rule__Definition__ArgsAssignment_2_1 : ( ruleDeclaredParameter ) ;
+ public final void rule__Definition__ArgsAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2252:1: ( ( ruleDeclaredParameter ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2253:1: ( ruleDeclaredParameter )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2253:1: ( ruleDeclaredParameter )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2254:1: ruleDeclaredParameter
+ {
+ before(grammarAccess.getDefinitionAccess().getArgsDeclaredParameterParserRuleCall_2_1_0());
+ pushFollow(FOLLOW_ruleDeclaredParameter_in_rule__Definition__ArgsAssignment_2_14446);
+ ruleDeclaredParameter();
+
+ state._fsp--;
+
+ after(grammarAccess.getDefinitionAccess().getArgsDeclaredParameterParserRuleCall_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__ArgsAssignment_2_1"
+
+
+ // $ANTLR start "rule__Definition__ArgsAssignment_2_2_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2263:1: rule__Definition__ArgsAssignment_2_2_1 : ( ruleDeclaredParameter ) ;
+ public final void rule__Definition__ArgsAssignment_2_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2267:1: ( ( ruleDeclaredParameter ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2268:1: ( ruleDeclaredParameter )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2268:1: ( ruleDeclaredParameter )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2269:1: ruleDeclaredParameter
+ {
+ before(grammarAccess.getDefinitionAccess().getArgsDeclaredParameterParserRuleCall_2_2_1_0());
+ pushFollow(FOLLOW_ruleDeclaredParameter_in_rule__Definition__ArgsAssignment_2_2_14477);
+ ruleDeclaredParameter();
+
+ state._fsp--;
+
+ after(grammarAccess.getDefinitionAccess().getArgsDeclaredParameterParserRuleCall_2_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__ArgsAssignment_2_2_1"
+
+
+ // $ANTLR start "rule__Definition__ExprAssignment_4"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2278:1: rule__Definition__ExprAssignment_4 : ( ruleExpression ) ;
+ public final void rule__Definition__ExprAssignment_4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2282:1: ( ( ruleExpression ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2283:1: ( ruleExpression )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2283:1: ( ruleExpression )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2284:1: ruleExpression
+ {
+ before(grammarAccess.getDefinitionAccess().getExprExpressionParserRuleCall_4_0());
+ pushFollow(FOLLOW_ruleExpression_in_rule__Definition__ExprAssignment_44508);
+ ruleExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getDefinitionAccess().getExprExpressionParserRuleCall_4_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Definition__ExprAssignment_4"
+
+
+ // $ANTLR start "rule__DeclaredParameter__NameAssignment"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2293:1: rule__DeclaredParameter__NameAssignment : ( RULE_ID ) ;
+ public final void rule__DeclaredParameter__NameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2297:1: ( ( RULE_ID ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2298:1: ( RULE_ID )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2298:1: ( RULE_ID )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2299:1: RULE_ID
+ {
+ before(grammarAccess.getDeclaredParameterAccess().getNameIDTerminalRuleCall_0());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__DeclaredParameter__NameAssignment4539);
+ after(grammarAccess.getDeclaredParameterAccess().getNameIDTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DeclaredParameter__NameAssignment"
+
+
+ // $ANTLR start "rule__Evaluation__ExpressionAssignment_0"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2308:1: rule__Evaluation__ExpressionAssignment_0 : ( ruleExpression ) ;
+ public final void rule__Evaluation__ExpressionAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2312:1: ( ( ruleExpression ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2313:1: ( ruleExpression )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2313:1: ( ruleExpression )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2314:1: ruleExpression
+ {
+ before(grammarAccess.getEvaluationAccess().getExpressionExpressionParserRuleCall_0_0());
+ pushFollow(FOLLOW_ruleExpression_in_rule__Evaluation__ExpressionAssignment_04570);
+ ruleExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getEvaluationAccess().getExpressionExpressionParserRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Evaluation__ExpressionAssignment_0"
+
+
+ // $ANTLR start "rule__Addition__RightAssignment_1_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2323:1: rule__Addition__RightAssignment_1_1 : ( ruleMultiplication ) ;
+ public final void rule__Addition__RightAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2327:1: ( ( ruleMultiplication ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2328:1: ( ruleMultiplication )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2328:1: ( ruleMultiplication )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2329:1: ruleMultiplication
+ {
+ before(grammarAccess.getAdditionAccess().getRightMultiplicationParserRuleCall_1_1_0());
+ pushFollow(FOLLOW_ruleMultiplication_in_rule__Addition__RightAssignment_1_14601);
+ ruleMultiplication();
+
+ state._fsp--;
+
+ after(grammarAccess.getAdditionAccess().getRightMultiplicationParserRuleCall_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Addition__RightAssignment_1_1"
+
+
+ // $ANTLR start "rule__Multiplication__RightAssignment_1_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2338:1: rule__Multiplication__RightAssignment_1_1 : ( rulePrimaryExpression ) ;
+ public final void rule__Multiplication__RightAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2342:1: ( ( rulePrimaryExpression ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2343:1: ( rulePrimaryExpression )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2343:1: ( rulePrimaryExpression )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2344:1: rulePrimaryExpression
+ {
+ before(grammarAccess.getMultiplicationAccess().getRightPrimaryExpressionParserRuleCall_1_1_0());
+ pushFollow(FOLLOW_rulePrimaryExpression_in_rule__Multiplication__RightAssignment_1_14632);
+ rulePrimaryExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getMultiplicationAccess().getRightPrimaryExpressionParserRuleCall_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Multiplication__RightAssignment_1_1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__ValueAssignment_1_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2353:1: rule__PrimaryExpression__ValueAssignment_1_1 : ( RULE_NUMBER ) ;
+ public final void rule__PrimaryExpression__ValueAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2357:1: ( ( RULE_NUMBER ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2358:1: ( RULE_NUMBER )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2358:1: ( RULE_NUMBER )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2359:1: RULE_NUMBER
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getValueNUMBERTerminalRuleCall_1_1_0());
+ match(input,RULE_NUMBER,FOLLOW_RULE_NUMBER_in_rule__PrimaryExpression__ValueAssignment_1_14663);
+ after(grammarAccess.getPrimaryExpressionAccess().getValueNUMBERTerminalRuleCall_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__ValueAssignment_1_1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__FuncAssignment_2_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2368:1: rule__PrimaryExpression__FuncAssignment_2_1 : ( ( RULE_ID ) ) ;
+ public final void rule__PrimaryExpression__FuncAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2372:1: ( ( ( RULE_ID ) ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2373:1: ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2373:1: ( ( RULE_ID ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2374:1: ( RULE_ID )
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getFuncAbstractDefinitionCrossReference_2_1_0());
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2375:1: ( RULE_ID )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2376:1: RULE_ID
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getFuncAbstractDefinitionIDTerminalRuleCall_2_1_0_1());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PrimaryExpression__FuncAssignment_2_14698);
+ after(grammarAccess.getPrimaryExpressionAccess().getFuncAbstractDefinitionIDTerminalRuleCall_2_1_0_1());
+
+ }
+
+ after(grammarAccess.getPrimaryExpressionAccess().getFuncAbstractDefinitionCrossReference_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__FuncAssignment_2_1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__ArgsAssignment_2_2_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2387:1: rule__PrimaryExpression__ArgsAssignment_2_2_1 : ( ruleExpression ) ;
+ public final void rule__PrimaryExpression__ArgsAssignment_2_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2391:1: ( ( ruleExpression ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2392:1: ( ruleExpression )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2392:1: ( ruleExpression )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2393:1: ruleExpression
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getArgsExpressionParserRuleCall_2_2_1_0());
+ pushFollow(FOLLOW_ruleExpression_in_rule__PrimaryExpression__ArgsAssignment_2_2_14733);
+ ruleExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getPrimaryExpressionAccess().getArgsExpressionParserRuleCall_2_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__ArgsAssignment_2_2_1"
+
+
+ // $ANTLR start "rule__PrimaryExpression__ArgsAssignment_2_2_2_1"
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2402:1: rule__PrimaryExpression__ArgsAssignment_2_2_2_1 : ( ruleExpression ) ;
+ public final void rule__PrimaryExpression__ArgsAssignment_2_2_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2406:1: ( ( ruleExpression ) )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2407:1: ( ruleExpression )
+ {
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2407:1: ( ruleExpression )
+ // ../org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/contentassist/antlr/internal/InternalArithmetics.g:2408:1: ruleExpression
+ {
+ before(grammarAccess.getPrimaryExpressionAccess().getArgsExpressionParserRuleCall_2_2_2_1_0());
+ pushFollow(FOLLOW_ruleExpression_in_rule__PrimaryExpression__ArgsAssignment_2_2_2_14764);
+ ruleExpression();
+
+ state._fsp--;
+
+ after(grammarAccess.getPrimaryExpressionAccess().getArgsExpressionParserRuleCall_2_2_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PrimaryExpression__ArgsAssignment_2_2_2_1"
+
+ // Delegated rules
+
+
+
+
+ public static final BitSet FOLLOW_ruleModule_in_entryRuleModule61 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleModule68 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Module__Group__0_in_ruleModule94 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleImport_in_entryRuleImport121 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleImport128 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport154 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleImportName_in_entryRuleImportName181 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleImportName188 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ImportName__Group__0_in_ruleImportName214 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStatement_in_entryRuleStatement241 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStatement248 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Statement__Alternatives_in_ruleStatement274 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDefinition_in_entryRuleDefinition301 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDefinition308 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group__0_in_ruleDefinition334 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDeclaredParameter_in_entryRuleDeclaredParameter361 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDeclaredParameter368 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DeclaredParameter__NameAssignment_in_ruleDeclaredParameter394 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEvaluation_in_entryRuleEvaluation423 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEvaluation430 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Evaluation__Group__0_in_ruleEvaluation456 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression483 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExpression490 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAddition_in_ruleExpression516 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAddition_in_entryRuleAddition542 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAddition549 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group__0_in_ruleAddition575 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplication_in_entryRuleMultiplication602 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplication609 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group__0_in_ruleMultiplication635 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression662 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpression669 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Alternatives_in_rulePrimaryExpression695 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDefinition_in_rule__Statement__Alternatives731 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEvaluation_in_rule__Statement__Alternatives748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1_0_0__0_in_rule__Addition__Alternatives_1_0781 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1_0_1__0_in_rule__Addition__Alternatives_1_0799 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1_0_0__0_in_rule__Multiplication__Alternatives_1_0832 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1_0_1__0_in_rule__Multiplication__Alternatives_1_0850 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_0__0_in_rule__PrimaryExpression__Alternatives883 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_1__0_in_rule__PrimaryExpression__Alternatives901 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2__0_in_rule__PrimaryExpression__Alternatives919 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Module__Group__0__Impl_in_rule__Module__Group__0950 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__Module__Group__1_in_rule__Module__Group__0953 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_12_in_rule__Module__Group__0__Impl981 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Module__Group__1__Impl_in_rule__Module__Group__11012 = new BitSet(new long[]{0x0000000000092030L});
+ public static final BitSet FOLLOW_rule__Module__Group__2_in_rule__Module__Group__11015 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Module__NameAssignment_1_in_rule__Module__Group__1__Impl1042 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Module__Group__2__Impl_in_rule__Module__Group__21072 = new BitSet(new long[]{0x0000000000092030L});
+ public static final BitSet FOLLOW_rule__Module__Group__3_in_rule__Module__Group__21075 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Module__ImportsAssignment_2_in_rule__Module__Group__2__Impl1102 = new BitSet(new long[]{0x0000000000002002L});
+ public static final BitSet FOLLOW_rule__Module__Group__3__Impl_in_rule__Module__Group__31133 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Module__StatementsAssignment_3_in_rule__Module__Group__3__Impl1160 = new BitSet(new long[]{0x0000000000090032L});
+ public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__01199 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__01202 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_13_in_rule__Import__Group__0__Impl1230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__11261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl1288 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ImportName__Group__0__Impl_in_rule__ImportName__Group__01322 = new BitSet(new long[]{0x0000000000004000L});
+ public static final BitSet FOLLOW_rule__ImportName__Group__1_in_rule__ImportName__Group__01325 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__ImportName__Group__0__Impl1352 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ImportName__Group__1__Impl_in_rule__ImportName__Group__11381 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ImportName__Group_1__0_in_rule__ImportName__Group__1__Impl1408 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ImportName__Group_1__0__Impl_in_rule__ImportName__Group_1__01443 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_rule__ImportName__Group_1__1_in_rule__ImportName__Group_1__01446 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_14_in_rule__ImportName__Group_1__0__Impl1474 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ImportName__Group_1__1__Impl_in_rule__ImportName__Group_1__11505 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_15_in_rule__ImportName__Group_1__1__Impl1533 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group__0__Impl_in_rule__Definition__Group__01568 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__Definition__Group__1_in_rule__Definition__Group__01571 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_rule__Definition__Group__0__Impl1599 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group__1__Impl_in_rule__Definition__Group__11630 = new BitSet(new long[]{0x00000000000A0000L});
+ public static final BitSet FOLLOW_rule__Definition__Group__2_in_rule__Definition__Group__11633 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__NameAssignment_1_in_rule__Definition__Group__1__Impl1660 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group__2__Impl_in_rule__Definition__Group__21690 = new BitSet(new long[]{0x00000000000A0000L});
+ public static final BitSet FOLLOW_rule__Definition__Group__3_in_rule__Definition__Group__21693 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2__0_in_rule__Definition__Group__2__Impl1720 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group__3__Impl_in_rule__Definition__Group__31751 = new BitSet(new long[]{0x0000000000090030L});
+ public static final BitSet FOLLOW_rule__Definition__Group__4_in_rule__Definition__Group__31754 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__Definition__Group__3__Impl1782 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group__4__Impl_in_rule__Definition__Group__41813 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_rule__Definition__Group__5_in_rule__Definition__Group__41816 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__ExprAssignment_4_in_rule__Definition__Group__4__Impl1843 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group__5__Impl_in_rule__Definition__Group__51873 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rule__Definition__Group__5__Impl1901 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2__0__Impl_in_rule__Definition__Group_2__01944 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2__1_in_rule__Definition__Group_2__01947 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__Definition__Group_2__0__Impl1975 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2__1__Impl_in_rule__Definition__Group_2__12006 = new BitSet(new long[]{0x0000000000300000L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2__2_in_rule__Definition__Group_2__12009 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__ArgsAssignment_2_1_in_rule__Definition__Group_2__1__Impl2036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2__2__Impl_in_rule__Definition__Group_2__22066 = new BitSet(new long[]{0x0000000000300000L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2__3_in_rule__Definition__Group_2__22069 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2_2__0_in_rule__Definition__Group_2__2__Impl2096 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2__3__Impl_in_rule__Definition__Group_2__32127 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__Definition__Group_2__3__Impl2155 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2_2__0__Impl_in_rule__Definition__Group_2_2__02194 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2_2__1_in_rule__Definition__Group_2_2__02197 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_rule__Definition__Group_2_2__0__Impl2225 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__Group_2_2__1__Impl_in_rule__Definition__Group_2_2__12256 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Definition__ArgsAssignment_2_2_1_in_rule__Definition__Group_2_2__1__Impl2283 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Evaluation__Group__0__Impl_in_rule__Evaluation__Group__02317 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_rule__Evaluation__Group__1_in_rule__Evaluation__Group__02320 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Evaluation__ExpressionAssignment_0_in_rule__Evaluation__Group__0__Impl2347 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Evaluation__Group__1__Impl_in_rule__Evaluation__Group__12377 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rule__Evaluation__Group__1__Impl2405 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group__0__Impl_in_rule__Addition__Group__02440 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_rule__Addition__Group__1_in_rule__Addition__Group__02443 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplication_in_rule__Addition__Group__0__Impl2470 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group__1__Impl_in_rule__Addition__Group__12499 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1__0_in_rule__Addition__Group__1__Impl2526 = new BitSet(new long[]{0x0000000000C00002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1__0__Impl_in_rule__Addition__Group_1__02561 = new BitSet(new long[]{0x0000000000090030L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1__1_in_rule__Addition__Group_1__02564 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Alternatives_1_0_in_rule__Addition__Group_1__0__Impl2591 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1__1__Impl_in_rule__Addition__Group_1__12621 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__RightAssignment_1_1_in_rule__Addition__Group_1__1__Impl2648 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1_0_0__0__Impl_in_rule__Addition__Group_1_0_0__02682 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1_0_0__1_in_rule__Addition__Group_1_0_0__02685 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1_0_0__1__Impl_in_rule__Addition__Group_1_0_0__12743 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_rule__Addition__Group_1_0_0__1__Impl2771 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1_0_1__0__Impl_in_rule__Addition__Group_1_0_1__02806 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1_0_1__1_in_rule__Addition__Group_1_0_1__02809 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Addition__Group_1_0_1__1__Impl_in_rule__Addition__Group_1_0_1__12867 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_23_in_rule__Addition__Group_1_0_1__1__Impl2895 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group__0__Impl_in_rule__Multiplication__Group__02930 = new BitSet(new long[]{0x0000000001008000L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group__1_in_rule__Multiplication__Group__02933 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpression_in_rule__Multiplication__Group__0__Impl2960 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group__1__Impl_in_rule__Multiplication__Group__12989 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1__0_in_rule__Multiplication__Group__1__Impl3016 = new BitSet(new long[]{0x0000000001008002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1__0__Impl_in_rule__Multiplication__Group_1__03051 = new BitSet(new long[]{0x0000000000090030L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1__1_in_rule__Multiplication__Group_1__03054 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Alternatives_1_0_in_rule__Multiplication__Group_1__0__Impl3081 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1__1__Impl_in_rule__Multiplication__Group_1__13111 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__RightAssignment_1_1_in_rule__Multiplication__Group_1__1__Impl3138 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1_0_0__0__Impl_in_rule__Multiplication__Group_1_0_0__03172 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1_0_0__1_in_rule__Multiplication__Group_1_0_0__03175 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1_0_0__1__Impl_in_rule__Multiplication__Group_1_0_0__13233 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_15_in_rule__Multiplication__Group_1_0_0__1__Impl3261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1_0_1__0__Impl_in_rule__Multiplication__Group_1_0_1__03296 = new BitSet(new long[]{0x0000000001008000L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1_0_1__1_in_rule__Multiplication__Group_1_0_1__03299 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Multiplication__Group_1_0_1__1__Impl_in_rule__Multiplication__Group_1_0_1__13357 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_rule__Multiplication__Group_1_0_1__1__Impl3385 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_0__0__Impl_in_rule__PrimaryExpression__Group_0__03420 = new BitSet(new long[]{0x0000000000090030L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_0__1_in_rule__PrimaryExpression__Group_0__03423 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__PrimaryExpression__Group_0__0__Impl3451 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_0__1__Impl_in_rule__PrimaryExpression__Group_0__13482 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_0__2_in_rule__PrimaryExpression__Group_0__13485 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_rule__PrimaryExpression__Group_0__1__Impl3512 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_0__2__Impl_in_rule__PrimaryExpression__Group_0__23541 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__PrimaryExpression__Group_0__2__Impl3569 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_1__0__Impl_in_rule__PrimaryExpression__Group_1__03606 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_1__1_in_rule__PrimaryExpression__Group_1__03609 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_1__1__Impl_in_rule__PrimaryExpression__Group_1__13667 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__ValueAssignment_1_1_in_rule__PrimaryExpression__Group_1__1__Impl3694 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2__0__Impl_in_rule__PrimaryExpression__Group_2__03728 = new BitSet(new long[]{0x0000000000090030L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2__1_in_rule__PrimaryExpression__Group_2__03731 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2__1__Impl_in_rule__PrimaryExpression__Group_2__13789 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2__2_in_rule__PrimaryExpression__Group_2__13792 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__FuncAssignment_2_1_in_rule__PrimaryExpression__Group_2__1__Impl3819 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2__2__Impl_in_rule__PrimaryExpression__Group_2__23849 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2__0_in_rule__PrimaryExpression__Group_2__2__Impl3876 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2__0__Impl_in_rule__PrimaryExpression__Group_2_2__03913 = new BitSet(new long[]{0x0000000000090030L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2__1_in_rule__PrimaryExpression__Group_2_2__03916 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__PrimaryExpression__Group_2_2__0__Impl3944 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2__1__Impl_in_rule__PrimaryExpression__Group_2_2__13975 = new BitSet(new long[]{0x0000000000300000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2__2_in_rule__PrimaryExpression__Group_2_2__13978 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__ArgsAssignment_2_2_1_in_rule__PrimaryExpression__Group_2_2__1__Impl4005 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2__2__Impl_in_rule__PrimaryExpression__Group_2_2__24035 = new BitSet(new long[]{0x0000000000300000L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2__3_in_rule__PrimaryExpression__Group_2_2__24038 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2_2__0_in_rule__PrimaryExpression__Group_2_2__2__Impl4065 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2__3__Impl_in_rule__PrimaryExpression__Group_2_2__34096 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__PrimaryExpression__Group_2_2__3__Impl4124 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2_2__0__Impl_in_rule__PrimaryExpression__Group_2_2_2__04163 = new BitSet(new long[]{0x0000000000090030L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2_2__1_in_rule__PrimaryExpression__Group_2_2_2__04166 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_rule__PrimaryExpression__Group_2_2_2__0__Impl4194 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__Group_2_2_2__1__Impl_in_rule__PrimaryExpression__Group_2_2_2__14225 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PrimaryExpression__ArgsAssignment_2_2_2_1_in_rule__PrimaryExpression__Group_2_2_2__1__Impl4252 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__Module__NameAssignment_14291 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleImport_in_rule__Module__ImportsAssignment_24322 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStatement_in_rule__Module__StatementsAssignment_34353 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleImportName_in_rule__Import__ImportedNamespaceAssignment_14384 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__Definition__NameAssignment_14415 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDeclaredParameter_in_rule__Definition__ArgsAssignment_2_14446 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDeclaredParameter_in_rule__Definition__ArgsAssignment_2_2_14477 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_rule__Definition__ExprAssignment_44508 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__DeclaredParameter__NameAssignment4539 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_rule__Evaluation__ExpressionAssignment_04570 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplication_in_rule__Addition__RightAssignment_1_14601 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpression_in_rule__Multiplication__RightAssignment_1_14632 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_NUMBER_in_rule__PrimaryExpression__ValueAssignment_1_14663 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__PrimaryExpression__FuncAssignment_2_14698 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_rule__PrimaryExpression__ArgsAssignment_2_2_14733 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_rule__PrimaryExpression__ArgsAssignment_2_2_2_14764 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/internal/ArithmeticsActivator.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/internal/ArithmeticsActivator.java
new file mode 100644
index 0000000..cabd69f
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src-gen/org/eclipse/xtext/example/arithmetics/ui/internal/ArithmeticsActivator.java
@@ -0,0 +1,95 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.xtext.example.arithmetics.ui.internal;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.shared.SharedStateModule;
+import org.eclipse.xtext.util.Modules2;
+import org.osgi.framework.BundleContext;
+
+import com.google.common.collect.Maps;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class ArithmeticsActivator extends AbstractUIPlugin {
+
+ public static final String ORG_ECLIPSE_XTEXT_EXAMPLE_ARITHMETICS_ARITHMETICS = "org.eclipse.xtext.example.arithmetics.Arithmetics";
+
+ private static final Logger logger = Logger.getLogger(ArithmeticsActivator.class);
+
+ private static ArithmeticsActivator INSTANCE;
+
+ private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ INSTANCE = this;
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ injectors.clear();
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static ArithmeticsActivator getInstance() {
+ return INSTANCE;
+ }
+
+ public Injector getInjector(String language) {
+ synchronized (injectors) {
+ Injector injector = injectors.get(language);
+ if (injector == null) {
+ injectors.put(language, injector = createInjector(language));
+ }
+ return injector;
+ }
+ }
+
+ protected Injector createInjector(String language) {
+ try {
+ Module runtimeModule = getRuntimeModule(language);
+ Module sharedStateModule = getSharedStateModule();
+ Module uiModule = getUiModule(language);
+ Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
+ return Guice.createInjector(mergedModule);
+ } catch (Exception e) {
+ logger.error("Failed to create injector for " + language);
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException("Failed to create injector for " + language, e);
+ }
+ }
+
+ protected Module getRuntimeModule(String grammar) {
+ if (ORG_ECLIPSE_XTEXT_EXAMPLE_ARITHMETICS_ARITHMETICS.equals(grammar)) {
+ return new org.eclipse.xtext.example.arithmetics.ArithmeticsRuntimeModule();
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getUiModule(String grammar) {
+ if (ORG_ECLIPSE_XTEXT_EXAMPLE_ARITHMETICS_ARITHMETICS.equals(grammar)) {
+ return new org.eclipse.xtext.example.arithmetics.ui.ArithmeticsUiModule(this);
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getSharedStateModule() {
+ return new SharedStateModule();
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/ArithmeticsUiModule.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/ArithmeticsUiModule.java
new file mode 100644
index 0000000..7c724e3
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/ArithmeticsUiModule.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.example.arithmetics.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.example.arithmetics.ui.autoedit.AutoEditStrategy;
+import org.eclipse.xtext.ui.editor.autoedit.AbstractEditStrategyProvider;
+
+/**
+ * Use this class to register components to be used within the IDE.
+ */
+public class ArithmeticsUiModule extends org.eclipse.xtext.example.arithmetics.ui.AbstractArithmeticsUiModule {
+ public ArithmeticsUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+ public Class<? extends AbstractEditStrategyProvider> bindAbstractEditStrategyProvider() {
+ return AutoEditStrategy.class;
+ }
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/autoedit/AutoEditStrategy.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/autoedit/AutoEditStrategy.java
new file mode 100644
index 0000000..8f0ad59
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/autoedit/AutoEditStrategy.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.example.arithmetics.ui.autoedit;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.xtext.ui.editor.autoedit.DefaultAutoEditStrategyProvider;
+
+public class AutoEditStrategy extends DefaultAutoEditStrategyProvider {
+ @Override
+ protected void configure(IEditStrategyAcceptor acceptor) {
+ super.configure(acceptor);
+ //acceptor.accept(newShortCuts("PI", "PI"));
+ acceptor.accept(new InterpreterAutoEdit(),IDocument.DEFAULT_CONTENT_TYPE);
+ }
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/autoedit/InterpreterAutoEdit.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/autoedit/InterpreterAutoEdit.java
new file mode 100644
index 0000000..76fb153
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/autoedit/InterpreterAutoEdit.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.xtext.example.arithmetics.ui.autoedit;
+
+import java.math.BigDecimal;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.DocumentCommand;
+import org.eclipse.jface.text.IAutoEditStrategy;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.xtext.example.arithmetics.arithmetics.Evaluation;
+import org.eclipse.xtext.example.arithmetics.arithmetics.Module;
+import org.eclipse.xtext.example.arithmetics.arithmetics.Statement;
+import org.eclipse.xtext.example.arithmetics.interpreter.Calculator;
+import org.eclipse.xtext.nodemodel.ICompositeNode;
+import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
+import org.eclipse.xtext.resource.XtextResource;
+import org.eclipse.xtext.ui.editor.model.IXtextDocument;
+import org.eclipse.xtext.util.concurrent.IUnitOfWork;
+
+/**
+ * @author Sven Efftinge - initial contribution and API
+ *
+ * an interactive interpreter as an {@link IAutoEditStrategy}
+ */
+public class InterpreterAutoEdit implements IAutoEditStrategy {
+
+ public void customizeDocumentCommand(IDocument document,
+ DocumentCommand command) {
+ for (String lineDelimiter : document.getLegalLineDelimiters()) {
+ if (command.text.equals(lineDelimiter)) {
+ int line;
+ int lineStart;
+ try {
+ line = document.getLineOfOffset(command.offset);
+ lineStart = document.getLineOffset(line);
+ if (!document.get(lineStart, 3).equals("def")) {
+ BigDecimal computedResult = computeResult(document,
+ command);
+ if (computedResult != null)
+ command.text = lineDelimiter + "// = " + computedResult + lineDelimiter;
+ }
+ } catch (BadLocationException e) {
+ // ignore
+ }
+ }
+ }
+ }
+
+ private BigDecimal computeResult(IDocument document,
+ final DocumentCommand command) {
+ return ((IXtextDocument) document)
+ .readOnly(new IUnitOfWork<BigDecimal, XtextResource>() {
+ public BigDecimal exec(XtextResource state)
+ throws Exception {
+ Evaluation stmt = findEvaluation(command, state);
+ if (stmt == null)
+ return null;
+ return evaluate(stmt);
+ }
+ });
+ }
+
+ protected BigDecimal evaluate(Evaluation stmt) {
+ return new Calculator().evaluate(stmt.getExpression());
+ }
+
+ protected Evaluation findEvaluation(final DocumentCommand command,
+ XtextResource state) {
+ if(!state.getContents().isEmpty()) {
+ Module m = (Module) state.getContents().get(0);
+ for (Statement stmt : m.getStatements()) {
+ if (stmt instanceof Evaluation) {
+ ICompositeNode node = NodeModelUtils.getNode(stmt);
+ if (node.getOffset() <= command.offset
+ && (node.getOffset() + node.getLength()) >= command.offset) {
+ return (Evaluation) stmt;
+ }
+ }
+ }
+ }
+ return null;
+ }
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/contentassist/ArithmeticsProposalProvider.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/contentassist/ArithmeticsProposalProvider.java
new file mode 100644
index 0000000..f66ca84
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/contentassist/ArithmeticsProposalProvider.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.example.arithmetics.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.xtext.Assignment;
+import org.eclipse.xtext.example.arithmetics.arithmetics.DeclaredParameter;
+import org.eclipse.xtext.example.arithmetics.ui.contentassist.AbstractArithmeticsProposalProvider;
+import org.eclipse.xtext.resource.IEObjectDescription;
+import org.eclipse.xtext.ui.editor.contentassist.ConfigurableCompletionProposal;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+
+import com.google.common.base.Function;
+
+/**
+ * @author Sven Efftinge - initial contribution and API
+ *
+ */
+public class ArithmeticsProposalProvider extends AbstractArithmeticsProposalProvider {
+
+
+ /**
+ * sets the selection on the arguments for proposed functions.
+ */
+ @Override
+ public void completePrimaryExpression_Func(EObject model,
+ Assignment assignment, ContentAssistContext context,
+ final ICompletionProposalAcceptor acceptor) {
+ super.completePrimaryExpression_Func(model, assignment, context, new ICompletionProposalAcceptor.Delegate(acceptor) {
+
+ public void accept(ICompletionProposal proposal) {
+ if (proposal instanceof ConfigurableCompletionProposal) {
+ ConfigurableCompletionProposal ccp = (ConfigurableCompletionProposal) proposal;
+ String string = ccp.getReplacementString();
+ int indexOfOpenPar = string.indexOf('(');
+ if (indexOfOpenPar!=-1) {
+ int oldSelectionStart = ccp.getSelectionStart();
+ ccp.setSelectionStart(oldSelectionStart-string.length()+indexOfOpenPar+1);
+ ccp.setSelectionLength(oldSelectionStart-ccp.getSelectionStart()-1);
+ }
+ }
+ super.accept(proposal);
+ }
+
+ });
+ }
+
+ @Override
+ protected String getDisplayString(EObject element,
+ String qualifiedNameAsString, String shortName) {
+ if (element instanceof DeclaredParameter)
+ return shortName;
+ return super.getDisplayString(element, qualifiedNameAsString, shortName);
+ }
+
+ @Override
+ protected Function<IEObjectDescription, ICompletionProposal> getProposalFactory(
+ String ruleName, ContentAssistContext contentAssistContext) {
+ // hackish: ignore concrete syntax constraints since we export functions with parenths
+ return super.getProposalFactory(null, contentAssistContext);
+ }
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/labeling/ArithmeticsDescriptionLabelProvider.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/labeling/ArithmeticsDescriptionLabelProvider.java
new file mode 100644
index 0000000..c7dc205
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/labeling/ArithmeticsDescriptionLabelProvider.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.example.arithmetics.ui.labeling;
+
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.xtext.resource.IEObjectDescription;
+import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
+
+import com.google.inject.Inject;
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ *
+ * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
+ */
+public class ArithmeticsDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
+
+ @Inject
+ private ILabelProvider labelProvider;
+
+ public Image getImage(Object element) {
+ if (element instanceof IEObjectDescription) {
+ return labelProvider.getImage(((IEObjectDescription)element).getEObjectOrProxy());
+ }
+ return super.getImage(element);
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/labeling/ArithmeticsLabelProvider.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/labeling/ArithmeticsLabelProvider.java
new file mode 100644
index 0000000..d7abe1f
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/labeling/ArithmeticsLabelProvider.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.example.arithmetics.ui.labeling;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.xtext.example.arithmetics.arithmetics.DeclaredParameter;
+import org.eclipse.xtext.example.arithmetics.arithmetics.Definition;
+import org.eclipse.xtext.example.arithmetics.arithmetics.Module;
+import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
+
+import com.google.inject.Inject;
+
+/**
+ * Provides labels for a EObjects.
+ *
+ * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider
+ */
+public class ArithmeticsLabelProvider extends DefaultEObjectLabelProvider {
+
+ @Inject
+ public ArithmeticsLabelProvider(AdapterFactoryLabelProvider delegate) {
+ super(delegate);
+ }
+
+ String text(Module ele) {
+ return ele.getName();
+ }
+ String text(Definition ele) {
+ String name = ele.getName();
+ if (!ele.getArgs().isEmpty()) {
+ name+="(";
+ for (DeclaredParameter p : ele.getArgs()) {
+ name+=p.getName();
+ if (ele.getArgs().indexOf(p)!=ele.getArgs().size()-1)
+ name+=",";
+ }
+ name+=")";
+ }
+ return name;
+ }
+
+ String image(Module ele) {
+ return "home_nav.gif";
+ }
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/outline/ArithmeticsOutlineTreeProvider.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/outline/ArithmeticsOutlineTreeProvider.java
new file mode 100644
index 0000000..6dfda52
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/outline/ArithmeticsOutlineTreeProvider.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.example.arithmetics.ui.outline;
+
+import org.eclipse.xtext.EcoreUtil2;
+import org.eclipse.xtext.example.arithmetics.arithmetics.Definition;
+import org.eclipse.xtext.example.arithmetics.arithmetics.Module;
+import org.eclipse.xtext.ui.editor.outline.IOutlineNode;
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * customization of the default outline structure
+ *
+ */
+public class ArithmeticsOutlineTreeProvider extends DefaultOutlineTreeProvider {
+
+ protected void _createChildren(IOutlineNode parentNode, Module module) {
+ for(Definition definition : EcoreUtil2.typeSelect(module.eContents(), Definition.class)) {
+ createNode(parentNode, definition);
+ }
+ }
+
+ protected boolean _isLeaf(Definition definition) {
+ return true;
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/quickfix/ArithmeticsQuickfixProvider.java b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/quickfix/ArithmeticsQuickfixProvider.java
new file mode 100644
index 0000000..c9a3304
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics.ui/src/org/eclipse/xtext/example/arithmetics/ui/quickfix/ArithmeticsQuickfixProvider.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.xtext.example.arithmetics.ui.quickfix;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.xtext.example.arithmetics.validation.ArithmeticsJavaValidator;
+import org.eclipse.xtext.ui.editor.model.IXtextDocument;
+import org.eclipse.xtext.ui.editor.model.edit.IModification;
+import org.eclipse.xtext.ui.editor.model.edit.IModificationContext;
+import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
+import org.eclipse.xtext.ui.editor.quickfix.Fix;
+import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor;
+import org.eclipse.xtext.validation.Issue;
+
+public class ArithmeticsQuickfixProvider extends DefaultQuickfixProvider {
+
+ @Fix(ArithmeticsJavaValidator.NORMALIZABLE)
+ public void normalize(final Issue issue, IssueResolutionAcceptor acceptor) {
+ final String string = issue.getData()[0];
+ acceptor.accept(issue, "Replace with "+string, "Replace expression with '"+string+"'", "upcase.png", new IModification() {
+ public void apply(IModificationContext context) throws BadLocationException {
+ IXtextDocument xtextDocument = context.getXtextDocument();
+ xtextDocument.replace(issue.getOffset(), issue.getLength(), string);
+ }
+ });
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/.classpath b/examples/plugins/org.eclipse.xtext.example.arithmetics/.classpath
new file mode 100644
index 0000000..59cf397
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/.project b/examples/plugins/org.eclipse.xtext.example.arithmetics/.project
new file mode 100644
index 0000000..6e70b87
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.xtext.example.arithmetics</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/.settings/org.eclipse.core.resources.prefs b/examples/plugins/org.eclipse.xtext.example.arithmetics/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/META-INF/MANIFEST.MF b/examples/plugins/org.eclipse.xtext.example.arithmetics/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8f3f47b
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/META-INF/MANIFEST.MF
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.xtext.example.arithmetics
+Bundle-Vendor: itemis AG
+Bundle-Version: 2.3.0.qualifier
+Bundle-SymbolicName: org.eclipse.xtext.example.arithmetics;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext;bundle-version="2.0.0";visibility:=reexport,
+ org.eclipse.xtext.generator;bundle-version="2.0.0";resolution:=optional;x-installation:=greedy,
+ de.itemis.xtext.antlr;bundle-version="2.0.0";resolution:=optional;x-installation:=greedy,
+ org.eclipse.emf.codegen.ecore;resolution:=optional;x-installation:=greedy,
+ org.eclipse.emf.mwe.utils;bundle-version="1.0.0";resolution:=optional;x-installation:=greedy,
+ org.eclipse.emf.mwe2.launch;bundle-version="2.0.0";resolution:=optional;x-installation:=greedy,
+ com.ibm.icu;resolution:=optional;x-installation:=greedy,
+ org.eclipse.xtext.util;bundle-version="2.0.0";visibility:=reexport,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.common,
+ org.antlr.runtime;bundle-version="[3.2.0,3.2.1)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.xtext.example.arithmetics,
+ org.eclipse.xtext.example.arithmetics.interpreter,
+ org.eclipse.xtext.example.arithmetics.validation,
+ org.eclipse.xtext.example.arithmetics.services,
+ org.eclipse.xtext.example.arithmetics.arithmetics,
+ org.eclipse.xtext.example.arithmetics.arithmetics.impl,
+ org.eclipse.xtext.example.arithmetics.arithmetics.util,
+ org.eclipse.xtext.example.arithmetics.parser.antlr,
+ org.eclipse.xtext.example.arithmetics.parser.antlr.internal,
+ org.eclipse.xtext.example.arithmetics.scoping,
+ org.eclipse.xtext.example.arithmetics.formatting,
+ org.eclipse.xtext.example.arithmetics.serializer
+Import-Package: org.apache.log4j,
+ org.apache.commons.logging
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/build.properties b/examples/plugins/org.eclipse.xtext.example.arithmetics/build.properties
new file mode 100644
index 0000000..bed6e1e
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/build.properties
@@ -0,0 +1,4 @@
+source.. = src/,src-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml \ No newline at end of file
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/plugin.xml b/examples/plugins/org.eclipse.xtext.example.arithmetics/plugin.xml
new file mode 100644
index 0000000..94f1325
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/plugin.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/Xtext/example/Arithmetics"
+ class = "org.eclipse.xtext.example.arithmetics.arithmetics.ArithmeticsPackage"
+ genModel = "org/eclipse/xtext/example/arithmetics/Arithmetics.genmodel" />
+
+ </extension>
+
+
+
+
+
+</plugin>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/plugin.xml_gen b/examples/plugins/org.eclipse.xtext.example.arithmetics/plugin.xml_gen
new file mode 100644
index 0000000..a3a8937
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/plugin.xml_gen
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/Xtext/example/Arithmetics"
+ class = "org.eclipse.xtext.example.arithmetics.arithmetics.ArithmeticsPackage"
+ genModel = "org/eclipse/xtext/example/arithmetics/Arithmetics.genmodel" />
+
+ </extension>
+
+
+
+
+</plugin>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/AbstractArithmeticsRuntimeModule.java b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/AbstractArithmeticsRuntimeModule.java
new file mode 100644
index 0000000..d7c76d1
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/AbstractArithmeticsRuntimeModule.java
@@ -0,0 +1,147 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.xtext.example.arithmetics;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.xtext.example.arithmetics.ArithmeticsRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractArithmeticsRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/xtext/example/arithmetics/Arithmetics.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.xtext.example.arithmetics.Arithmetics");
+ }
+
+ public void configureFileExtensions(Binder binder) {
+ if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
+ binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("calc");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.xtext.example.arithmetics.services.ArithmeticsGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+ return org.eclipse.xtext.example.arithmetics.serializer.AbstractArithmeticsSemanticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+ return org.eclipse.xtext.example.arithmetics.serializer.AbstractArithmeticsSyntacticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+ return org.eclipse.xtext.serializer.impl.Serializer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.xtext.example.arithmetics.parser.antlr.ArithmeticsParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+ return org.eclipse.xtext.example.arithmetics.parser.antlr.ArithmeticsAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.xtext.example.arithmetics.parser.antlr.internal.InternalArithmeticsLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.example.arithmetics.parser.antlr.internal.InternalArithmeticsLexer> provideInternalArithmeticsLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.xtext.example.arithmetics.parser.antlr.internal.InternalArithmeticsLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureRuntimeLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.xtext.example.arithmetics.parser.antlr.internal.InternalArithmeticsLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.xtext.example.arithmetics.validation.ArithmeticsJavaValidator> bindArithmeticsJavaValidator() {
+ return org.eclipse.xtext.example.arithmetics.validation.ArithmeticsJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.xtext.example.arithmetics.scoping.ArithmeticsScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+ binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.xtext.example.arithmetics.formatting.ArithmeticsFormatter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
+ return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
+ return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptions(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.ecore b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.ecore
new file mode 100644
index 0000000..aa657e1
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.ecore
@@ -0,0 +1,64 @@
+<?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="arithmetics"
+ nsURI="http://www.eclipse.org/Xtext/example/Arithmetics" nsPrefix="arithmetics">
+ <eClassifiers xsi:type="ecore:EClass" name="Module">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
+ eType="#//Import" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
+ eType="#//Statement" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Import">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="importedNamespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Statement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Definition" eSuperTypes="#//Statement #//AbstractDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" eType="#//DeclaredParameter"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expr" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DeclaredParameter" eSuperTypes="#//AbstractDefinition"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractDefinition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Evaluation" eSuperTypes="#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Expression"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Plus" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Minus" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Multi" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Div" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NumberLiteral" 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="FunctionCall" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="func" eType="#//AbstractDefinition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.genmodel b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.genmodel
new file mode 100644
index 0000000..eb1add2
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.genmodel
@@ -0,0 +1,57 @@
+<?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.eclipse.xtext.example.arithmetics/src-gen"
+ editDirectory="/org.eclipse.xtext.example.arithmetics.edit/src" editorDirectory="/org.eclipse.xtext.example.arithmetics.editor/src"
+ modelPluginID="org.eclipse.xtext.example.arithmetics" forceOverwrite="true" modelName="Arithmetics"
+ updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.xtext.example.arithmetics.edit"
+ editorPluginID="org.eclipse.xtext.example.arithmetics.editor">
+ <genPackages prefix="Arithmetics" basePackage="org.eclipse.xtext.example.arithmetics"
+ disposableProviderFactory="true" ecorePackage="Arithmetics.ecore#/">
+ <genClasses ecoreClass="Arithmetics.ecore#//Module">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Arithmetics.ecore#//Module/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Module/imports"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Module/statements"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//Import">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Arithmetics.ecore#//Import/importedNamespace"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//Statement"/>
+ <genClasses ecoreClass="Arithmetics.ecore#//Definition">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Definition/args"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Definition/expr"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//DeclaredParameter"/>
+ <genClasses ecoreClass="Arithmetics.ecore#//AbstractDefinition">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Arithmetics.ecore#//AbstractDefinition/name"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//Evaluation">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Evaluation/expression"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//Expression"/>
+ <genClasses ecoreClass="Arithmetics.ecore#//Plus">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Plus/left"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Plus/right"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//Minus">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Minus/left"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Minus/right"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//Multi">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Multi/left"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Multi/right"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//Div">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Div/left"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//Div/right"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//NumberLiteral">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Arithmetics.ecore#//NumberLiteral/value"/>
+ </genClasses>
+ <genClasses ecoreClass="Arithmetics.ecore#//FunctionCall">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//FunctionCall/func"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Arithmetics.ecore#//FunctionCall/args"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.xmi b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.xmi
new file mode 100644
index 0000000..cfae9a6
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/Arithmetics.xmi
@@ -0,0 +1,412 @@
+<?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.eclipse.xtext.example.arithmetics.Arithmetics" 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="arithmetics">
+ <ePackage href="http://www.eclipse.org/Xtext/example/Arithmetics#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="Module">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Module"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="module"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="statements" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Import">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Import"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="import"/>
+ <elements xsi:type="xtext:Assignment" feature="importedNamespace" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ImportName">
+ <type metamodel="/0/@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:RuleCall" rule="/1/@rules.0"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Keyword" value="*"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Statement">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Statement"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Definition">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Definition"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="def"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="args" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="args" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DeclaredParameter">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//DeclaredParameter"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AbstractDefinition">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//AbstractDefinition"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Evaluation">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Evaluation"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Expression">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Expression"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Addition">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Expression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action" feature="left" operator="=">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Plus"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action" feature="left" operator="=">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Minus"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="right" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Multiplication">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//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:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action" feature="left" operator="=">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Multi"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="*"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action" feature="left" operator="=">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Div"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="right" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrimaryExpression">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//Expression"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//NumberLiteral"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//FunctionCall"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="func" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/Xtext/example/Arithmetics#//AbstractDefinition"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="args" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="args" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="NUMBER">
+ <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:CharacterRange" cardinality="*">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="INT">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="this one has been deactivated"/>
+ </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="&quot;"/>
+ <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="&quot;"/>
+ <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="&quot;"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </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="&quot;"/>
+ <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="&#xA;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </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="&#x9;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </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/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/ArithmeticsStandaloneSetupGenerated.java b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/ArithmeticsStandaloneSetupGenerated.java
new file mode 100644
index 0000000..660da6d
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/ArithmeticsStandaloneSetupGenerated.java
@@ -0,0 +1,43 @@
+
+package org.eclipse.xtext.example.arithmetics;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class ArithmeticsStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.xtext.example.arithmetics.ArithmeticsRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/Xtext/example/Arithmetics")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/Xtext/example/Arithmetics", org.eclipse.xtext.example.arithmetics.arithmetics.ArithmeticsPackage.eINSTANCE);
+ }
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("calc", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("calc", serviceProvider);
+
+
+
+
+ }
+}
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/AbstractDefinition.java b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/AbstractDefinition.java
new file mode 100644
index 0000000..6e213df
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/AbstractDefinition.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ */
+package org.eclipse.xtext.example.arithmetics.arithmetics;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.xtext.example.arithmetics.arithmetics.AbstractDefinition#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.ArithmeticsPackage#getAbstractDefinition()
+ * @model
+ * @generated
+ */
+public interface AbstractDefinition extends EObject
+{
+ /**
+ * 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.eclipse.xtext.example.arithmetics.arithmetics.ArithmeticsPackage#getAbstractDefinition_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.AbstractDefinition#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);
+
+} // AbstractDefinition
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/ArithmeticsFactory.java b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/ArithmeticsFactory.java
new file mode 100644
index 0000000..d4cfaaa
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/ArithmeticsFactory.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ */
+package org.eclipse.xtext.example.arithmetics.arithmetics;
+
+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.eclipse.xtext.example.arithmetics.arithmetics.ArithmeticsPackage
+ * @generated
+ */
+public interface ArithmeticsFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ArithmeticsFactory eINSTANCE = org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Module</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Module</em>'.
+ * @generated
+ */
+ Module createModule();
+
+ /**
+ * Returns a new object of class '<em>Import</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Import</em>'.
+ * @generated
+ */
+ Import createImport();
+
+ /**
+ * Returns a new object of class '<em>Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Statement</em>'.
+ * @generated
+ */
+ Statement createStatement();
+
+ /**
+ * Returns a new object of class '<em>Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Definition</em>'.
+ * @generated
+ */
+ Definition createDefinition();
+
+ /**
+ * Returns a new object of class '<em>Declared Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Declared Parameter</em>'.
+ * @generated
+ */
+ DeclaredParameter createDeclaredParameter();
+
+ /**
+ * Returns a new object of class '<em>Abstract Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Abstract Definition</em>'.
+ * @generated
+ */
+ AbstractDefinition createAbstractDefinition();
+
+ /**
+ * Returns a new object of class '<em>Evaluation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Evaluation</em>'.
+ * @generated
+ */
+ Evaluation createEvaluation();
+
+ /**
+ * 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>Plus</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Plus</em>'.
+ * @generated
+ */
+ Plus createPlus();
+
+ /**
+ * Returns a new object of class '<em>Minus</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Minus</em>'.
+ * @generated
+ */
+ Minus createMinus();
+
+ /**
+ * Returns a new object of class '<em>Multi</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi</em>'.
+ * @generated
+ */
+ Multi createMulti();
+
+ /**
+ * Returns a new object of class '<em>Div</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Div</em>'.
+ * @generated
+ */
+ Div createDiv();
+
+ /**
+ * Returns a new object of class '<em>Number Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Number Literal</em>'.
+ * @generated
+ */
+ NumberLiteral createNumberLiteral();
+
+ /**
+ * Returns a new object of class '<em>Function Call</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Call</em>'.
+ * @generated
+ */
+ FunctionCall createFunctionCall();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ArithmeticsPackage getArithmeticsPackage();
+
+} //ArithmeticsFactory
diff --git a/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/ArithmeticsPackage.java b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/ArithmeticsPackage.java
new file mode 100644
index 0000000..6630d12
--- /dev/null
+++ b/examples/plugins/org.eclipse.xtext.example.arithmetics/src-gen/org/eclipse/xtext/example/arithmetics/arithmetics/ArithmeticsPackage.java
@@ -0,0 +1,1184 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ */
+package org.eclipse.xtext.example.arithmetics.arithmetics;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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.eclipse.xtext.example.arithmetics.arithmetics.ArithmeticsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ArithmeticsPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "arithmetics";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/Xtext/example/Arithmetics";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "arithmetics";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ArithmeticsPackage eINSTANCE = org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.impl.ModuleImpl <em>Module</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ModuleImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getModule()
+ * @generated
+ */
+ int MODULE = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODULE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Imports</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODULE__IMPORTS = 1;
+
+ /**
+ * The feature id for the '<em><b>Statements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODULE__STATEMENTS = 2;
+
+ /**
+ * The number of structural features of the '<em>Module</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODULE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.impl.ImportImpl <em>Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ImportImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getImport()
+ * @generated
+ */
+ int IMPORT = 1;
+
+ /**
+ * The feature id for the '<em><b>Imported Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__IMPORTED_NAMESPACE = 0;
+
+ /**
+ * The number of structural features of the '<em>Import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.impl.StatementImpl <em>Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.StatementImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getStatement()
+ * @generated
+ */
+ int STATEMENT = 2;
+
+ /**
+ * The number of structural features of the '<em>Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STATEMENT_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.impl.DefinitionImpl <em>Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.DefinitionImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getDefinition()
+ * @generated
+ */
+ int DEFINITION = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Args</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITION__ARGS = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITION__EXPR = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.impl.AbstractDefinitionImpl <em>Abstract Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.AbstractDefinitionImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getAbstractDefinition()
+ * @generated
+ */
+ int ABSTRACT_DEFINITION = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DEFINITION__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Abstract Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_DEFINITION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.impl.DeclaredParameterImpl <em>Declared Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.DeclaredParameterImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getDeclaredParameter()
+ * @generated
+ */
+ int DECLARED_PARAMETER = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARED_PARAMETER__NAME = ABSTRACT_DEFINITION__NAME;
+
+ /**
+ * The number of structural features of the '<em>Declared Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARED_PARAMETER_FEATURE_COUNT = ABSTRACT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.impl.EvaluationImpl <em>Evaluation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.EvaluationImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getEvaluation()
+ * @generated
+ */
+ int EVALUATION = 6;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVALUATION__EXPRESSION = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Evaluation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVALUATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.xtext.example.arithmetics.arithmetics.impl.ExpressionImpl <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ExpressionImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getExpression()
+ * @generated
+ */
+ int EXPRESSION = 7;
+
+ /**
+ * 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.eclipse.xtext.example.arithmetics.arithmetics.impl.PlusImpl <em>Plus</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.PlusImpl
+ * @see org.eclipse.xtext.example.arithmetics.arithmetics.impl.ArithmeticsPackageImpl#getPlus()
+ * @generated
+ */
+ int PLUS = 8;
+
+ /**
+ * The feature id for the '<em><b>Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUS__LEFT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->